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 kq_vector = new Vector(); static int num = 0; static String mark=Systems.sys().getBiaozhi(); /** * ϵͳ³õʼ»¯Çå¿ÕËùÓÐʵʱ¿¼ÇÚ±íÖеļǼ */ public static void start() { String deleteSql = "TRUNCATE TABLE tb_realkaoqing"; DatabaseManagement.update(deleteSql); //»ñÈ¡ËùÓп¼ÇÚÇøÓò Vector 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 tbrq = new Vector(); 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 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 tbkq = get_kqing(name).getTbkq();//±êÇ©µ±Ç°ËùÔڵĿ¼ÇÚÇøÓò String p_kaoqqingname = person.getP_kaoqqingname();// ±êÇ©ÀúÊ·ËùÔڵĿ¼ÇÚÇøÓòµÄÃû³Æ Vector 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 tbkqlist,Vector 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 getKq_vector() { return kq_vector; } /** * ËÑË÷¿¼ÇÚ¶ÔÏó */ public static Vector serch(String serch) { Vector list = new Vector(); if (kq_vector.size() != 0) { Iterator it = kq_vector.iterator(); while (it.hasNext()) { Kqoqing kq = it.next(); Vector 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 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 getrealkaoqings() { Vector rkqs = new Vector(); if (kq_vector != null) { for (int i = 0; i < kq_vector.size(); i++) { Kqoqing kq = kq_vector.get(i); Vector 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 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); } } } } }