package urt; import java.util.Iterator; import java.util.List; import java.util.Vector; import DataBase.DatabaseManagement; import Judge.JugeNumber; import Method.GetNowTime; import PbuliClass.ShowMessage; import PbuliClass.Systems; import home.Open_soft_dialog; import person.person_Dell; import tag.Tag_Dell; import tbDataModel.Tb_gps; import tbDataModel_Dell.Dell_tb_suanfa2; public class Dell_gps { static Vector gps_vector=null;//GPS¶ÔÏóµÄ¼¯ºÏ static boolean urtopen=Systems.sys().getUrt().equals("1"); static String urtcankao="0";//URTģʽϵIJο¼»ùÕ¾ /**³õʼ»¯¼ÓÔØtb_gpsÊý¾Ý¿âÊý¾Ý*/ @SuppressWarnings("rawtypes") public static void chushihua_tb_gps() { if(gps_vector==null) { gps_vector=new Vector<>(); Open_soft_dialog.addara("¼ÓÔØtb_gps"); Iterator iterator = DatabaseManagement.table_base("tb_gps","DESC", "addtime").iterator(); while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½info¼¯ºÏ Tb_gps gps=new Tb_gps(); gps.setId((String)info.get(0)); gps.setGps_utc_time((String)info.get(1)); gps.setGps_weidu((String)info.get(2)); gps.setGps_NS((String)info.get(3)); gps.setGsp_jingdu((String)info.get(4)); gps.setGps_EW((String)info.get(5)); gps.setGps_state((String)info.get(6)); gps.setGps_num((String)info.get(7)); gps.setGps_hdop((String)info.get(8)); gps.setGps_haiba_gao((String)info.get(9)); gps.setGps_tuoqiu((String)info.get(10)); gps.setGps_chafen_time((String)info.get(11)); gps.setGps_chafen_id((String)info.get(12)); gps.setGps_jiaoyan((String)info.get(13)); String tagid=(String)info.get(14); gps.setTagid(tagid); gps.setGps_kahao((String)info.get(15)); gps.setGps_power((String)info.get(16)); gps.setGps_sos("0"); gps.setAddtime((String)info.get(18)); gps.setFloor((String)info.get(19)); gps.setCcid((String)info.get(20)); gps.setVersion((String)info.get(21)); if(urtopen) { String aa=(String)info.get(22); if(aa !=null) { if(aa.length()>3) { urtcankao=aa; } } } if(info.size()<27) { ShowMessage.zidingyi_24("tb_gpsȱÉÙ×Ö¶Î"); return; } String adress=(String)info.get(26); if(adress==null || adress.length()<4) { adress="δ֪"; } String baoliu3=(String)info.get(27);//É豸¸ß¾«¶ÈΪ0µÍ¾­¶ÈÊÇ1 if(baoliu3==null) { baoliu3="3"; } gps.setAdress(adress); //ÉèÖÃÈںϱêǩΪ·Ç¸ß¾«¶È״̬ gps.setGoodstage(false); gps.setGpsxinhao(0); gps.setGpsxinhaonum(0); //³õʼ»¯µÄʱºòÉèÖÃÉ豸¸¡µãµÄ´ÎÊýΪ0 gps.setFudiannum(0); gps.setGpslastx(0); gps.setGpslasty(0); gps.setBaoliu3(baoliu3); gps_vector.add(gps); } } } /**ͨ¹ýÉ豸idÕÒµ½Ä³¸ögps¶ÔÏó*/ public static Tb_gps get_tb_gps(String tagid) { Tb_gps gps=null; if(gps_vector.size() !=0) { Iterator it=gps_vector.iterator(); while(it.hasNext()) { Tb_gps gps1=it.next(); String tagid1=gps1.getTagid(); if(tagid1.equals(tagid)) { gps=gps1; break; } } } return gps; } /**ͨ¹ýÉ豸idÕÒµ½Ä³¸ögps¶ÔÏó*/ public static Tb_gps gps(String tagid) { Tb_gps gps=null; if(gps_vector.size() !=0) { Iterator it=gps_vector.iterator(); while(it.hasNext()) { Tb_gps gps1=it.next(); String tagid1=gps1.getTagid(); if(tagid1.equals(tagid)) { gps=gps1; break; } } } return gps; } /**ÐÞ¸ÄURT±êǩӦ¸ÃÏÔʾµÄµØÍ¼*/ public static void alert_floor(String tagid,String floor) { if(get_tb_gps(tagid) !=null) { get_tb_gps(tagid).setFloor(floor); } } /**Ìí¼Ó»òÕßÐÞ¸ÄÒ»¸öGPSÖն˶ÔÏóÊý¾Ý*/ public static void add_or_alert_gps( String gps_utc_time,//×Ö¶Î1£ºUTC ʱ¼ä£¬hhmmss.sss£¬Ê±·ÖÃë¸ñʽ String gps_weidu,//×Ö¶Î2£ºÎ³¶Èddmm.mmmm£¬¶È·Ö¸ñʽ£¨Ç°µ¼Î»Êý²»×ãÔò²¹0£© String gps_NS,//×Ö¶Î3£ºÎ³¶ÈN£¨±±Î³£©»òS£¨ÄÏ㣩 String gsp_jingdu,//×Ö¶Î4£º¾­¶Èdddmm.mmmm£¬¶È·Ö¸ñʽ£¨Ç°µ¼Î»Êý²»×ãÔò²¹0£© String gps_EW,//×Ö¶Î5£º¾­¶ÈE£¨¶«¾­£©»òW£¨Î÷¾­£© String gps_state,//×Ö¶Î6£º¶¨Î»ÖÊÁ¿GPS״̬£¬0.³õʼ»¯,1.µ¥µã¶¨Î»,2.Âë²î·Ö,3.ÎÞЧPPS,4.¹Ì¶¨½â,5.¸¡µã½â, 6.ÕýÔÚ¹ÀËã, 7.È˹¤ÊäÈë¹Ì¶¨Öµ,8.Ä£Äâģʽ,9.WAAS²î·Ö String gps_num,//×Ö¶Î7£ºÕýÔÚʹÓõÄÎÀÐÇÊýÁ¿£¨00 - 12£©£¨Ç°µ¼Î»Êý²»×ãÔò²¹0£© String gps_hdop,//×Ö¶Î8£ºHDOPˮƽ¾«¶ÈÒò×Ó£¨0.5 - 99.9£© String gps_haiba_gao,//×Ö¶Î9£ºº£°Î¸ß¶È£¨-9999.9 - 99999.9£© String gps_tuoqiu,//×Ö¶Î10£ºµØÇòÍÖÇòÃæÏà¶Ô´óµØË®×¼ÃæµÄ¸ß¶È String gps_chafen_time,//×Ö¶Î11£º²î·Öʱ¼ä£¨´Ó×î½üÒ»´Î½ÓÊÕµ½²î·ÖÐźſªÊ¼µÄÃëÊý£¬Èç¹û²»ÊDzî·Ö¶¨Î»½«Îª¿Õ£© String gps_chafen_id,//×Ö¶Î12£º²î·ÖÕ¾IDºÅ0000 -" 1023£¨Ç°µ¼Î»Êý²»×ãÔò²¹0£¬Èç¹û²»ÊDzî·Ö¶¨Î»½«Îª¿Õ£© String gps_jiaoyan,//×Ö¶Î13£ºÐ£ÑéÖµ String tagid,//É豸id String power, String baoliu3 ) { boolean a2=JugeNumber.isLetterDigit(tagid); if(!a2) {return;}//Èç¹ûID²»ÊÇÊý×Ö»ò×Öĸ×é³É int powerint=Integer.parseInt(power); if(powerint>100) { power="100"; } String state2=gnss_state(gps_state); Tb_gps gps=get_tb_gps(tagid); if( gps==null ) { //0³õʼ»¯£¬ 1µ¥µã¶¨Î»£¬ 2Âë²î·Ö£¬ 3ÎÞЧPPS£¬ 4¹Ì¶¨½â£¬ 5¸¡µã½â£¬ 6ÕýÔÚ¹ÀËã 7£¬È˹¤ÊäÈë¹Ì¶¨Öµ£¬ 8Ä£Äâģʽ£¬ 9WAAS²î·Ö if(tagid.length() !=4) { return; } gps=new Tb_gps(); gps.setGps_utc_time(gps_utc_time); gps.setGps_weidu(gps_weidu); gps.setGps_NS(gps_NS); gps.setGsp_jingdu(gsp_jingdu); gps.setGps_EW(gps_EW); gps.setGps_state(state2); gps.setGps_num(gps_num); gps.setGps_hdop(gps_hdop); gps.setGps_haiba_gao(gps_haiba_gao); gps.setGps_tuoqiu(gps_tuoqiu); gps.setGps_chafen_time(gps_chafen_time); gps.setGps_chafen_id(gps_chafen_id); gps.setGps_jiaoyan(gps_jiaoyan); gps.setTagid(tagid); gps.setGps_power(power); gps.setAddtime(GetNowTime.HH_MM_SS()); gps.setFloor("0"); gps.setGpsxinhao(0);//GPS10´Îƽ¾ùÐźÅÇ¿¶È gps.setGpsxinhaonum(0);//GPSÐźżÆÊý gps.setBaoliu3(baoliu3); //Êý¾Ý²åÈëÊý¾Ý¿â String[] ziduan= {"gps_utc_time", "gps_weidu", "gps_NS", "gsp_jingdu", "gps_EW", "gps_state", "gps_num", "gps_hdop", "gps_haiba_gao", "gps_tuoqiu", "gps_chafen_time", "gps_chafen_id", "gps_jiaoyan", "tagid", "gps_power", "addtime", "baoliu3", "floor" }; String[] zhi= {gps_utc_time, gps_weidu, gps_NS, gsp_jingdu, gps_EW, state2, gps_num, gps_hdop, gps_haiba_gao, gps_tuoqiu, gps_chafen_time, gps_chafen_id, gps_jiaoyan, tagid, power, GetNowTime.timestamp2(), baoliu3, "0"}; DatabaseManagement.insertfast("tb_gps", ziduan, zhi); if(gps_haiba_gao.length()<2) { gps_haiba_gao="150"; } Tag_Dell.add_tag(tagid, "δ°ó¶¨","150","1000","1",0,"gps",4); gps_vector.add(gps); }else { if(gps_weidu.length()>3) { if(!Dell_tb_suanfa2.isGps_xinhao_in()) { alertjwd(tagid,gsp_jingdu,gps_weidu); } gps.setGps_utc_time(gps_utc_time); gps.setGps_state(state2); if(gps_weidu.length()>3) { gps.setGps_NS(gps_NS); gps.setGps_EW(gps_EW); gps.setGps_num(gps_num); gps.setGps_hdop(gps_hdop); gps.setGps_haiba_gao(gps_haiba_gao); gps.setGps_tuoqiu(gps_tuoqiu); gps.setGps_chafen_time(gps_chafen_time); gps.setGps_chafen_id(gps_chafen_id); gps.setGps_jiaoyan(gps_jiaoyan); gps.setAddtime(GetNowTime.HH_MM_SS()); gps.setGps_power(power); gps.setAdress(gps_weidu+","+gsp_jingdu); } Tag_Dell.set_tagstatus2(tagid, "1", power); person_Dell.alert_gps(tagid, power); if(gps_state.equals("2") ||gps_state.equals("4")||gps_state.equals("5")) { String bl3=gps.getBaoliu3(); if(!bl3.contentEquals("0")) { gps.setBaoliu3("0"); String[] ziduan= {"baoliu3","tagid"}; String[] zhi= {baoliu3,tagid}; DatabaseManagement.fast_alert_dbase("tb_gps", ziduan, zhi); } } }else { gps.setGps_state(state2); gps.setGps_num(gps_num); gps.setAddtime(GetNowTime.timestamp2()); } } } /**¸üо­Î³¶È*/ public static void alertjwd(String tagid,String jd,String wd) { Tb_gps tbgps=get_tb_gps(tagid); if( tbgps !=null) { tbgps.setGps_weidu(wd); tbgps.setGsp_jingdu(jd); } } /**¸üÐÂURTµÄccid,µçÁ¿SOSÐÅÏ¢*/ public static void alert_cps(String tagid,String sos,String ccid,String version,String ip,int port,String crm) { if(get_tb_gps(tagid) !=null) { get_tb_gps(tagid).setCcid(ccid); get_tb_gps(tagid).setVersion(version); get_tb_gps(tagid).setIp(ip); get_tb_gps(tagid).setPort(String.valueOf(port)); get_tb_gps(tagid).setGps_sos(sos); get_tb_gps(tagid).setBaoliu4(crm); if(sos.equals("1")) { //Ð޸ıêÇ©µÄÈËÔ±µÄSOS״̬ person_Dell.alert_sos(tagid,sos); } if(person_Dell.get_Person(tagid) !=null) { int indoor=person_Dell.get_Person(tagid).getIndoor_or_outdoor(); //²»ÔÚÊÒÄÚÇøÓò²ÅÖ´ÐÐÏÂÃæµÄ²Ù×÷ if(indoor==0) { //¸ü¸Ä±êÇ©µÄ״̬ºÍµçÁ¿ÐÅÏ¢ Tag_Dell.set_URTXTB(tagid); } } } } /**¸üÐÂURTµÄµØÖ·ºÍ¶Ë¿Ú*/ public static void alert_ipport(String tagid,String ip,int port) { if(get_tb_gps(tagid) !=null) { get_tb_gps(tagid).setIp(ip); get_tb_gps(tagid).setPort(String.valueOf(port)); } } public static Vector getGps_vector() { return gps_vector; } /**ËÑË÷ij¸öÉ豸×ÊÁÏ*/ public static Vector serch(String tagid){ Vector serch=new Vector(); serch.add(get_tb_gps(tagid)); return serch; } /**ɾ³ýtb_gps±íÊý¾Ý*/ public static int delete(String tagid) { int deleteok=0; if(get_tb_gps(tagid) !=null) { gps_vector.removeElement(get_tb_gps(tagid)); String deleteSql="DELETE FROM tb_gps WHERE tagid='"+tagid+"'"; if(DatabaseManagement.update(deleteSql) !=0) { deleteok=1; } } return deleteok; } /**ɾ³ýÒ»ÌõGPSÊý¾ÝºÍÊý¾Ý¿âÎ޹زÙ×÷*/ public static void delete2(String tagid) { if(get_tb_gps(tagid) !=null) { gps_vector.removeElement(get_tb_gps(tagid)); } } /**¼ä¸ôÒ»¶Îʱ¼äÐÞ¸Ätb_gpsÊý¾Ý±íÖеÄÊý¾Ý*/ public static void gengxin_tb_gps() { for(int i=0;i