package Method;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.Vector;
|
import BaoWen.Dell_55AA0A;
|
import DataBase.DatabaseManagement;
|
import PbuliClass.Shi_jian_cha_sss;
|
import PbuliClass.ShowMessage;
|
import PbuliClass.Systems;
|
import anchor.Anchor;
|
import anchor.Anchor_Dell;
|
import fence.Palyvoice;
|
import fence.PointIsInKaoQing;
|
import fence.kaoqing.Dell_KaoQing;
|
import jiekou.Warnig;
|
import person.Person;
|
import person.person_Dell;
|
import tbDataModel.Tb_gps;
|
import urt.Dell_gps;
|
|
/**¸ÃÀàÓÃÓÚÅжϻùÕ¾»òÕß±êÇ©ÊÇ·ñ´¦ÓÚÀëÏß״̬*/
|
public class JudgeTagOrAnchorOffline {
|
static int biaozhi=0;
|
/**ÅжÏÈËÔ±ÊÇ·ñ´¦ÓÚÀëÏß״̬*/
|
public static void juge_person_off() {
|
Vector<Person> prsvc=person_Dell.getPerson_vector();
|
int size=prsvc.size();
|
for(int i=0;i<size;i++) {
|
Person prs=prsvc.get(i);
|
juge_uwb_tag_havexinhao( prs);//ÅжϱêÇ©ÊÇ·ñÓÐÐźÅ
|
String onlie=prs.getP_online();
|
String tagid=prs.getP_tagid();
|
noxinhaodeletepian(prs);
|
if(onlie.equals("1")) {
|
String time=prs.getXinhaotime();
|
if(time==null || time.length()<1 ) {
|
continue;
|
}
|
|
int time0=Systems.getTagofftime();
|
boolean aa=Shi_jian_cha_sss.shijiancha(time,time0);
|
//Èç¹û±êÇ©¸üÐÂʱ¼ä´óÓÚÀëÏßʱ¼ä´óÓÚtimetagoffÃë
|
if(aa) {
|
Warnig.tag_off(tagid);//ת·¢±¨ÎıêÇ©ÀëÏß
|
person_Dell.alert_person_offline(tagid);//¸Ä±äÈËÔ±µÄ״̬ΪÀëÏß
|
String[] ziduan= {"p_online","p_tagid"};
|
String[] zhi= {"0",tagid};
|
DatabaseManagement.fast_alert_dbase("tb_person", ziduan, zhi);
|
PointIsInKaoQing.lixianclear(prs);
|
ShowMessage.zidingyi(tagid+"±êÇ©ÀëÏß");
|
insert_inlixiandata(prs,tagid);
|
Palyvoice.play("taglixian.wav");
|
Dell_KaoQing.Clear_kaoqing_lixian(tagid);
|
Tb_gps tb_gps = Dell_gps.get_tb_gps(tagid);
|
if (tb_gps!=null) {
|
tb_gps.setGpslastx(0);
|
tb_gps.setGpslasty(0);
|
}
|
}
|
}else {
|
Warnig.tag_off(tagid);//ת·¢±¨ÎıêÇ©ÀëÏß
|
}
|
}
|
|
}
|
|
public static void noxinhaodeletepian(Person prs) {
|
boolean havaxinhao=prs.isHavexinhao();
|
if(havaxinhao) {//Èç¹ûÓÐÊÕµ½±êÇ©µÄÐźÅ
|
String time=prs.getXinhaotime();
|
boolean aa=Shi_jian_cha_sss.shijiancha(time,60);
|
if(aa) {
|
String tagid=prs.getP_tagid();
|
int hz=prs.getRealhz();
|
Dell_55AA0A.delete_pian(tagid, hz,"ÎÞÐźÅɾ³ý");
|
prs.setHavexinhao(false);
|
}
|
}
|
}
|
|
/**ÅжϻùÕ¾ÊÇ·ñÀëÏß*/
|
public static void anchor_off() {
|
int size=Anchor_Dell.getAnchor_vector().size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
Anchor ac=Anchor_Dell.getAnchor_vector().get(i);
|
String state=ac.getAnc_status();
|
if(state.equals("1")) {//Èç¹û»ùվ֮ǰ´¦ÓÚÔÚÏß״̬ÔÙÅжÏÊÇ·ñÀëÏß
|
String tm=ac.getAnc_cteatetime();
|
int a= Shi_jian_cha_sss.get_time_cha_s(GetNowTime.now(),tm);
|
int b=Systems.getAnchorofftime();
|
if( a>b) {
|
ac.setPort(0);
|
String anchorid=ac.getAnc_id();
|
jiekou.anchor_off.udptcpout(anchorid);
|
insert_indata(ac.getAnc_id(),"»ùÕ¾ÀëÏß","ÔÚÏßʱ³¤:"+a);//»ùÕ¾ÀëÏß²åÈëÀëÏ߼ǼÊý¾Ý¿â
|
ac.setAnc_status("0");
|
Anchor_Dell.set_anchor_image(0,anchorid);
|
ac.setAnc_image(Anchor_Dell.getLixian());
|
}
|
}
|
}
|
}
|
}
|
|
|
/**¸üлùÕ¾µÄÀúÊ·µçÁ¿¼Ç¼Êý¾Ý*/
|
public static void insert_power_into_database(String anchorid,String power,Anchor anchor,int state) {
|
String time=GetNowTime.now();
|
if(state==-1) {//ÒýÇæ¿ª»ú»ùÕ¾ÉÏÏ߼Ǽһ´ÎµçÁ¿
|
String[] ziduan= {"anchorId","power","addtime"};
|
String[] zhi= {anchorid,power,time};
|
DatabaseManagement.insertfast("tb_ac_history_power", ziduan, zhi);
|
anchor.setAnchor_hispower_record_time(time);
|
}else if(state==0) {//»ùÕ¾ÀëÏßÓÖÉÏÏßÈç¹ûʱ¼ä´óÓÚ24СʱÔò¼Ç¼µçÁ¿
|
String tm=anchor.getAnchor_hispower_record_time();//»ùÕ¾µçÁ¿ÉϴβåÈëÊý¾Ý¿âµÄʱ¼ä
|
int a= Shi_jian_cha_sss.get_time_cha_s(GetNowTime.now(),tm);
|
if(a>24*60*60) {
|
String[] ziduan= {"anchorId","power","addtime"};
|
String[] zhi= {anchorid,power,time};
|
DatabaseManagement.insertfast("tb_ac_history_power", ziduan, zhi);
|
anchor.setAnchor_hispower_record_time(time);
|
}
|
}
|
|
|
}
|
|
/**¼ÆËã2¸öʱ¼äÏà²îµÄ·ÖÖÓÊý*/
|
public static int get_time_cha(String a,String b) throws ParseException {
|
SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
|
/*·ÖÖÓ²î*/
|
Date fromDate3 = simpleFormat.parse(b);
|
Date toDate3 = simpleFormat.parse(a);
|
long from3 = fromDate3.getTime();
|
long to3 = toDate3.getTime();
|
int minutes = (int) ((to3 - from3) / (1000 * 60));
|
|
return minutes;
|
}
|
|
|
/**½«»ùÕ¾ÀëÏ߼Ǽ²åÈëÀúÊ·¼Ç¼Êý¾Ý¿â
|
* String anchorid,
|
* String state,
|
* String alltime,
|
* Anchor ac*/
|
public static void insert_indata(String anchorid,String state,String alltime) {
|
|
String[] ziduan= {"anchorid","state","alltime","addtime"};
|
String[] zhi= {anchorid,state,alltime,GetNowTime.now()};
|
DatabaseManagement.insertfast("tb_anchor_history_record", ziduan, zhi);
|
}
|
|
/**½«»ùÕ¾ÉÏÏ߼Ǽ²åÈëÀúÊ·¼Ç¼Êý¾Ý¿â
|
* String anchorid,
|
* String state,
|
* String alltime,
|
* Anchor ac*/
|
public static void insert_indata_shangxian(String anchorid,String state,String alltime) {
|
String[] ziduan= {"anchorid","state","alltime","addtime"};
|
String[] zhi= {anchorid,state,alltime,GetNowTime.now()};
|
DatabaseManagement.insertfast("tb_anchor_history_record", ziduan, zhi);
|
}
|
|
/**±êÇ©ÀëÏßÀúÊ·¼Ç¼*/
|
public static void insert_inlixiandata(Person prs,String tagid) {
|
String name=prs.getP_name();
|
String bumen=prs.getP_department();
|
String time=prs.getP_addtiem();
|
int cha= Shi_jian_cha_sss.get_time_cha_s(GetNowTime.now(),time);
|
String[] ziduan= {"tagid","name","bumen","phone","time"};
|
String[] zhi= {tagid,name,bumen,cha+"",GetNowTime.now()};
|
DatabaseManagement.insertfast("tb_lixianrecord_0829", ziduan, zhi);//
|
|
}
|
|
/**ÅжÏUWB±êÇ©ÊÇ·ñÓÐÐźÅ*/
|
public static void juge_uwb_tag_havexinhao(Person prs) {
|
if(Systems.isIssanwei()) {//Èç¹û¿ªÆôµÄÊÇ3άģʽ
|
int xinhao=prs.getHave_uwbxinhao();
|
if(xinhao==1) {//Èç¹ûÓÐÐźÅ
|
String time=prs.getXinhaotime();
|
if(time.length()<5) {
|
return;
|
}
|
int time0=Systems.getTagofftime();
|
boolean aa=Shi_jian_cha_sss.shijiancha(time,time0);
|
if(aa) {
|
prs.setHave_uwbxinhao(0);
|
}
|
}
|
}
|
}
|
}
|