package fence.kaoqing;
|
import java.util.Iterator;
|
import java.util.Vector;
|
|
import DataBase.DatabaseManagement;
|
import Method.GetNowTime;
|
import PbuliClass.ShowMessage;
|
import PbuliClass.Systems;
|
import VectroData.ForwardDatas;
|
import fence.Fences;
|
import jiekou.Tongji;
|
import person.Person;
|
import person.person_Dell;
|
import tbDataModel.TbFence;
|
public class Dell_KaoQing {
|
|
//ËùÓп¼ÇÚÇøÓòµÄ¼¯ºÏ
|
static Vector<Kqoqing> kq_vector = new Vector<Kqoqing>();
|
static int num = 0;
|
static String mark=Systems.sys().getBiaozhi();
|
|
/**
|
* ϵͳ³õʼ»¯Çå¿ÕËùÓÐʵʱ¿¼ÇÚ±íÖеļǼ
|
*/
|
public static void start() {
|
String deleteSql = "TRUNCATE TABLE tb_realkaoqing";
|
DatabaseManagement.update(deleteSql);
|
//»ñÈ¡ËùÓп¼ÇÚÇøÓò
|
Vector<TbFence> kaoqvector = Fences.get_fence_vector("¿¼ÇÚÇøÓò");
|
int size = kaoqvector.size();
|
if (size != 0) {
|
for (int i = 0; i < size; i++) {
|
Kqoqing kq = new Kqoqing();
|
TbFence tbf = kaoqvector.get(i);
|
kq.setArea(tbf.getName());
|
kq.setFloor(tbf.getFloor());
|
Vector<TbRealKaoQing> tbrq = new Vector<TbRealKaoQing>();
|
kq.setTbkq(tbrq);
|
kq_vector.add(kq);
|
}
|
}
|
}
|
|
/**ת·¢¿¼ÇÚÇøÓòÄÚµÄÈËÊý
|
* $statistics_num,area,num,timestamp,mark*/
|
public static void tongji_kaoqing() {
|
if(ForwardDatas.isIstongji()) {
|
int size=kq_vector.size();
|
for (int i = 0; i < size; i++) {
|
Kqoqing kq = kq_vector.get(i);
|
String are = kq.getArea();
|
String timestamp=GetNowTime.now();
|
num = get_kqing(are).getTbkq().size();
|
String message="$statistics_num,"+are+","+num+","+timestamp+","+mark;
|
Tongji.zhuanfa(message,"0000");
|
}
|
}
|
}
|
|
/**
|
* ±êÇ©ÊÇ·ñÔÚij¸ö¿¼ÇÚÇøÓòÖÐ
|
*/
|
public static TbRealKaoQing get_tbkq(String name, String tagid) {
|
TbRealKaoQing tbkq = null;
|
if (get_kqing(name) != null) {
|
Vector<TbRealKaoQing> vctbkq = get_kqing(name).getTbkq();
|
int size = vctbkq.size();
|
for (int j = 0; j < size; j++) {
|
TbRealKaoQing tbkq1 = vctbkq.get(j);
|
String tagid1 = tbkq1.getTagid();
|
if (tagid.equals(tagid1)) {
|
tbkq = tbkq1;
|
break;
|
}
|
}
|
}
|
return tbkq;
|
|
}
|
|
|
/**
|
* Ïòij¸ö¿¼ÇÚÇøÓòÌí¼ÓÒ»¸ö¿¼ÇÚ¶ÔÏó
|
*/
|
public static void add_tbkaoq(
|
String name,
|
String floor,
|
String tagid,
|
TbRealKaoQing new_real_kao_qing
|
) {
|
get_kqing(name).getTbkq().add(new_real_kao_qing);
|
}
|
|
/**
|
* Ð޸Ŀ¼ÇÚ¼¯ºÏ
|
* 2023.07.19 zsh
|
*/
|
public static void update_tbkaoq(
|
String name,
|
String floor,
|
String tagid,
|
TbRealKaoQing new_real_kao_qing,
|
Person person
|
) {
|
Vector<TbRealKaoQing> tbkq = get_kqing(name).getTbkq();//±êÇ©µ±Ç°ËùÔڵĿ¼ÇÚÇøÓò
|
String p_kaoqqingname = person.getP_kaoqqingname();// ±êÇ©ÀúÊ·ËùÔڵĿ¼ÇÚÇøÓòµÄÃû³Æ
|
Vector<TbRealKaoQing> tbkqlast = get_kqing(p_kaoqqingname).getTbkq();// ±êÇ©ÀúÊ·ËùÔڵĿ¼ÇÚÇøÓòµÄ¼¯ºÏ
|
forpersonKq(name, floor, tagid, new_real_kao_qing, tbkqlast,tbkq);
|
|
|
}
|
|
/**
|
* ÈËÔ±·´¸´½ø³ö¿¼ÇÚÇøÓòÏÂʵʱˢÐÂ
|
* @param name
|
* @param floor
|
* @param tagid
|
* @param new_real_kao_qing
|
* @param tbkq
|
*/
|
private static void forpersonKq(String name, String floor, String tagid, TbRealKaoQing new_real_kao_qing, Vector<TbRealKaoQing> tbkqlist,Vector<TbRealKaoQing> tbkqnow) {
|
int size = tbkqlist.size();
|
for (int i = 0; i < size; i++) {
|
TbRealKaoQing tbRealKaoQing = tbkqlist.get(i);
|
String tagid1 = tbRealKaoQing.getTagid();
|
if (tagid1.equals(tagid)) {
|
tbkqlist.remove(tbRealKaoQing);
|
add_tbkaoq(name, floor, tagid, new_real_kao_qing);
|
break;
|
}
|
}
|
}
|
|
/**
|
* ɾ³ýij¿¼ÇÚÇøÓò¶ÔÏó
|
*/
|
public static void delete_TbRealKaoQing(TbRealKaoQing tbkq, String area) {
|
if (tbkq != null) {
|
get_kqing(area).getTbkq().removeElement(tbkq);
|
}
|
}
|
|
|
/**
|
* Çå¿Õij¿¼ÇÚÇøÓòËùÓжÔÏó
|
*/
|
public static void deleteall_TbRealKaoQing(String area) {
|
get_kqing(area).getTbkq().removeAllElements();
|
}
|
|
/**
|
* »ñȡij¸ö¿¼ÇÚÇøÓò¶ÔÏ󼯺Ï
|
*/
|
public static Kqoqing get_kqing(String name) {
|
Kqoqing kqing = null;
|
for (int i = 0; i < kq_vector.size(); i++) {
|
Kqoqing kq = kq_vector.get(i);
|
String name1 = kq.getArea();
|
if (name1.equals(name)) {
|
kqing = kq;
|
break;
|
}
|
}
|
return kqing;
|
|
}
|
|
|
/**
|
* Çå¿ÕËùÓп¼ÇÚÇøÓò¶ÔÏó
|
*/
|
public static void delteall() {
|
int size = kq_vector.size();
|
for (int i = 0; i < size; i++) {
|
kq_vector.get(i).getTbkq().removeAllElements();
|
}
|
}
|
|
public static Vector<Kqoqing> getKq_vector() {
|
return kq_vector;
|
}
|
|
/**
|
* ËÑË÷¿¼ÇÚ¶ÔÏó
|
*/
|
public static Vector<TbRealKaoQing> serch(String serch) {
|
Vector<TbRealKaoQing> list = new Vector<TbRealKaoQing>();
|
if (kq_vector.size() != 0) {
|
Iterator<Kqoqing> it = kq_vector.iterator();
|
while (it.hasNext()) {
|
Kqoqing kq = it.next();
|
Vector<TbRealKaoQing> tbkq = kq.getTbkq();
|
int size = tbkq.size();
|
for (int i = 0; i < size; i++) {
|
TbRealKaoQing real_kaoqing = tbkq.get(i);
|
String idtag = real_kaoqing.getTagid();
|
String name = real_kaoqing.getName();
|
String bumen = real_kaoqing.getBumen();
|
String area = real_kaoqing.getArea();
|
if (idtag.equals(serch) || name.equals(serch) || bumen.equals(serch) || area.equals(serch)) {
|
list.add(real_kaoqing);
|
}
|
}
|
}
|
} else {
|
ShowMessage.zidingyi("ÄúËÑË÷µÄ" + serch + "²»´æÔÚ");
|
}
|
return list;
|
}
|
|
|
/**
|
* ͨ¹ý±êÇ©ID»ñȡij¸ö¿¼ÇÚ¶ÔÏó
|
*/
|
public static TbRealKaoQing gettbrkq(String tagid) {
|
TbRealKaoQing tbrkq = null;
|
int size = kq_vector.size();
|
for (int i = 0; i < size; i++) {
|
Kqoqing kq = kq_vector.get(i);
|
Vector<TbRealKaoQing> tbkq = kq.getTbkq();
|
int size2 = tbkq.size();
|
if (size2 != 0) {
|
for (int j = 0; j < size2; j++) {
|
TbRealKaoQing real_kaoqing = tbkq.get(j);
|
String idtag = real_kaoqing.getTagid();
|
if (idtag.equals(tagid)) {
|
tbrkq = real_kaoqing;
|
break;
|
}
|
}
|
}
|
}
|
return tbrkq;
|
}
|
|
|
/**
|
* ¸Ä±äʵʱ¿¼ÇÚ¶ÔÏóµÄµçÁ¿ÐÅÏ¢
|
*/
|
public static void alert_realkaoqing_power(String tagid, String power) {
|
if (gettbrkq(tagid) != null) {
|
if (power.equals("8") || power.equals("5") || power.equals("2") || power.equals("0")) {
|
gettbrkq(tagid).setBeizhu("µÍµçÁ¿,Çë³äµç£¡");
|
}
|
gettbrkq(tagid).setPower(power);
|
}
|
|
}
|
|
/**
|
* ¸Ä±ä¿¼ÇÚ¶ÔÏóµÄX/y×ø±ê
|
*/
|
public static void alert_xy(String tagid, int x, int y) {
|
if (gettbrkq(tagid) != null) {
|
gettbrkq(tagid).setX(x);
|
gettbrkq(tagid).setY(y);
|
}
|
|
}
|
|
/**
|
* »ñȡij¸ö¿¼ÇÚÇøÓòµÄÈËÊý
|
*/
|
public static String kao_qing_num(String areaName, String floor) {
|
String kao_qing_num = areaName + "£º" + "0ÈË";
|
if (get_kqing(areaName) == null) {
|
ShowMessage.zidingyi(areaName + "¿¼ÇÚÇøÓò²»´æÔÚ...");
|
} else {
|
String ceng = get_kqing(areaName).getFloor();
|
if (get_kqing(areaName) != null && ceng.equals(floor)) {
|
num = get_kqing(areaName).getTbkq().size();
|
kao_qing_num = areaName + "£º" + num + "ÈË";
|
}
|
}
|
return kao_qing_num;
|
|
}
|
|
/**
|
* »ñÈ¡ËùÓп¼ÇÚÇøÓòµÄÈËÊý
|
*/
|
public static String all_kaoqing_num() {
|
String num = "ÎÞ¿¼ÇÚÇøÓò";
|
int size = kq_vector.size();
|
if (kq_vector != null) {
|
StringBuffer bf = new StringBuffer();
|
for (int i = 0; i < size; i++) {
|
Kqoqing kq = kq_vector.get(i);
|
if (size == 1) {
|
bf.append(kq.getArea() + ":" + kq.getTbkq().size());
|
} else {
|
bf.append(kq.getArea() + ":" + kq.getTbkq().size() + " ");
|
}
|
}
|
num = bf.toString();
|
bf = null;
|
}
|
return num;
|
}
|
|
/**
|
* »ñÈ¡ËùÓп¼ÇÚÇøÓòµÄÈËÊý
|
* 2023.07.19 zsh
|
*/
|
public static int all_kaoqing() {
|
int num = 0;
|
int size = kq_vector.size();
|
if (kq_vector != null) {
|
for (int i = 0; i < size; i++) {
|
Kqoqing kq = kq_vector.get(i);
|
num+= kq.getTbkq().size();
|
}
|
}
|
return num;
|
}
|
|
/**
|
* ËùÓлñÈ¡¿¼ÇÚÇøÓòµÄÈËÔ±ÐÅÏ¢ÌõÊý
|
*/
|
public static int size() {
|
int size = 0;
|
if (kq_vector != null) {
|
for (int i = 0; i < kq_vector.size(); i++) {
|
Kqoqing kq = kq_vector.get(i);
|
size = size + kq.getTbkq().size();
|
}
|
}
|
return size;
|
}
|
|
/**
|
* ½«ËùÓеĿ¼ÇÚ¶ÔÏó·ÅÈëÒ»¸ö¼¯ºÏÖÐ
|
*/
|
public static Vector<TbRealKaoQing> getrealkaoqings() {
|
Vector<TbRealKaoQing> rkqs = new Vector<TbRealKaoQing>();
|
if (kq_vector != null) {
|
for (int i = 0; i < kq_vector.size(); i++) {
|
Kqoqing kq = kq_vector.get(i);
|
Vector<TbRealKaoQing> kqvc = kq.getTbkq();
|
int size = kqvc.size();
|
for (int j = 0; j < size; j++) {
|
rkqs.add(kqvc.get(j));
|
}
|
}
|
}
|
return rkqs;
|
}
|
|
/**
|
* Çå¿ÕËùÓп¼ÇÚÊý¾Ý
|
*/
|
public static void cleartallkaoqing() {
|
Vector<Person> prvc = person_Dell.getPerson_vector();
|
int size = prvc.size();
|
for (int i = 0; i < size; i++) {
|
Person prs = prvc.get(i);
|
if (prs.getP_online().equals("0") && prs.getP_kaoqing().equals("1")) {
|
String tagid = prs.getTagidhex();
|
String arename = prs.getP_kaoqqingname();
|
TbRealKaoQing tbkq = Dell_KaoQing.get_tbkq(arename, tagid);
|
if (tbkq != null) {
|
Dell_KaoQing.delete_TbRealKaoQing(tbkq, arename);//½«Ä³ÇøÓòÖеĿ¼ÇÚ¶ÔÏóÒÆ³ý
|
String deleteSql = "DELETE FROM tb_realkaoqing WHERE tagid='" + tagid + "'";
|
DatabaseManagement.update(deleteSql);
|
}
|
}
|
}
|
}
|
|
/**
|
* ¿ªÆôÀëÏßÏûʧÇå¿Õ¿¼ÇÚ
|
*/
|
public static void Clear_kaoqing_lixian(String tagid) {
|
if (!Systems.isSuidaomoshi()) {
|
return;
|
}
|
if (Systems.sys().getOffView().equals("1")) {
|
Person prs = person_Dell.get_Person(tagid);
|
if (prs.getP_kaoqing().equals("1")) {
|
String arename = prs.getP_kaoqqingname();
|
TbRealKaoQing tbkq = Dell_KaoQing.get_tbkq(arename, tagid);
|
if (tbkq != null) {
|
Dell_KaoQing.delete_TbRealKaoQing(tbkq, arename);//½«Ä³ÇøÓòÖеĿ¼ÇÚ¶ÔÏóÒÆ³ý
|
String deleteSql = "DELETE FROM tb_realkaoqing WHERE tagid='" + tagid + "'";
|
DatabaseManagement.update(deleteSql);
|
}
|
}
|
}
|
}
|
}
|