package urt; import BaoWen.Udp_Out; import BaoWen.Urt_7000_port; import DataBase.DatabaseManagement; import Frame.UtrSet; import Method.BaoWenShow; import Method.GetNowTime; import Method.InsertData; import PbuliClass.ShowMessage; import PbuliClass.Systems; import VectroData.ForwardDatas; import engbs.BS_urt_add_fence; import engbs.Bs_look_baowen; import jiekou.Warnig; import person.Person; import person.person_Dell; import tag.Tag_Dell; import tbDataModel.Tb_gps; public class Dell_Urt_XTB { /** * ´¦ÀíURTÐÄÌø°ü */ //¸ñʽ£º°üÍ·+±êÇ©ID+µçÁ¿+°æ±¾+CCID+£¨UWB״̬£¬°´¼ü£©+RTCMÔ´ //$XTB,2205,82%,Ãâ²¼Ïß1.55,898604A52121C0699992,10,2120.253.239.161abkc8163 //$XTB,3473,59%,0.16,89860423192090090715,0,RTCM:121.33.226.42:9039 //$XTB,ID,µçÁ¿,°æ±¾, CCID,°´¼ü,RTCMÔ´ //$XTB,2205,82%,1.45,898604A52121C0699992,0,2140.143.212.42test007 //ÊÇ·ñ´æÔÚÊý¾Ýת·¢ //$XTB,2231,65%,Ãâ²¼Ïß1.55,898604A52121C0699968,10,2140.143.212.42test001 static int size = ForwardDatas.get_tb_forward_datas().size(); static String tagid ; static String vbat ; static String version; static String ccid; static String button; static String sos; static String ip; static int port; static String crm = ""; static Person person=null; public static void dell_XTB(String message, String ip1, int port1) { ip=ip1; port=port1; String[] a = message.split(","); int aa = a.length; if (aa == 7 || aa == 6) { tagid = a[1]; vbat = a[2].replace("%", ""); version = a[3]; ccid = a[4]; button = a[5]; sos = a[5]; crm =get_crm(aa,a[6]);//RTCMÔ´ Bs_look_baowen.insert_all(message,tagid);//BS¶Ë²é¿´±¨ÎÄ20230725 have_tagid_do();//ÓбêÇ©IDÐèÒª×öµÄÊÂÇé have_button_do(); mian_bu_xian_do();//ϵͳÃâ²¼ÏßģʽÐèÒª×öµÄÊÂÇé Udp_Out.GNGGA_udptcp_out(message, tagid);//ת·¢Êý¾Ý Dell_gps.alert_cps(tagid, sos, ccid, version, ip, port, crm); Tag_Dell.tagstate3(tagid, version); BaoWenShow.show3(message, "GNSS", ip, String.valueOf(port), tagid); zi_dong_shengji();//Èç¹û¿ªÆô×Ô¶¯Éý¼¶Ä£Ê½ ÐÞ¸Ä×Ô¶¯Éý¼¶µÄÂß¼­ 2023.07.21 zsh } } public static void sosdo(String tagid, Person person) { Warnig.urt_gps_sos(tagid); String type = person.getBaoliu19(); if (type.equals("URT+CO")) { Control_urt.say_voice(tagid, "ÒÑÊÕµ½SOSÐÅÏ¢", 0, 10); } } /**yang20230721*/ public static void have_tagid_do() { person = person_Dell.get_Person(tagid); if (person == null) { Tag_Dell.add_tag(tagid,"×Ô¶¯Ìí¼Ó","150","1000","1",0,"ÈÚºÏÖÕ¶Ë",0);//×Ô¶¯Ìí¼Ó±êÇ© }else { person.setBaoliu5("3");//½«±êÇ©ÉèÖÃΪ´øgnss±êÇ© person.setBaoliu8(ip);//ÉèÖñêÇ©µÄIPµØÖ· person.setBaoliu9(port + "");//ÉèÖñêÇ©¶Ë¿Ú person.setGpson_off(1);//GPS¿ª¹Ø×´Ì¬1¿ªÆô person.setBaoliu11(crm); } } public static String get_crm(int aa,String a6) { String crm=""; if (aa == 7) { crm =a6; if (crm.length() > 50) { crm = "error"; } } return crm; } /**yang20230721*/ public static void have_button_do() { if (button.length() > 1) { sos = button.substring(1, 2); String uwbstate = button.substring(0, 1); int uwbopen = Integer.parseInt(uwbstate); if (person != null) { person.setUwbopen(uwbopen); } } } /**Ãâ²¼ÏßģʽÐèÒª×öµÄÊÂÇéyang20230721*/ public static void mian_bu_xian_do() { if (Systems.isWuxian()) { Urt_read.read_tag(tagid, "01", "33", 0);//¶ÁÈ¡»ùÕ¾²ÎÊý if (button.length() > 1) { String uwb = button.substring(0, 1); int uwbint = Integer.parseInt(uwb);//UWB¿ª¹Ø×´Ì¬ if (person != null) { person.setUwbopen(uwbint); } } } } /**yang20230721*/ public static void gpsdo() { Tb_gps gps0 = Dell_gps.get_tb_gps(tagid); if (gps0 == null) { gps0 = new Tb_gps(); gps0.setTagid(tagid); gps0.setAddtime(GetNowTime.timestamp2()); gps0.setIp(ip); gps0.setPort(String.valueOf(port)); gps0.setVersion(version); gps0.setCcid(ccid); gps0.setBaoliu4(crm); Dell_gps.getGps_vector().add(gps0); if (ccid.length() > 5) { String[] ziduan = {"ccid", "tagid"}; String[] zhi = {ccid, tagid}; DatabaseManagement.fast_alert_dbase("tb_gps", ziduan, zhi); } if (Systems.isUrtopen()) { gps0.setGps_power(vbat); } } else { if (sos.equals("1")) { ShowMessage.zidingyi(tagid + "°´ÏÂSOS°´¼üpower:" + vbat); Control_urt.say_voice(tagid, "ÊÕµ½SOSÐÅÏ¢", 1, 3); sosdo(tagid, person); String a1 = gps0.getGsp_jingdu() + "," + gps0.getGps_weidu(); InsertData.sosInsertTbWarning(tagid, "SOS", "δ´¦Àí", a1); String tagid1 = BS_urt_add_fence.getTagid(); if (tagid1.equals(tagid)) { BS_urt_add_fence.getZuob().append(a1 + ";"); if (BS_urt_add_fence.isDrawfence()) { gps0.setBaidufenczb(a1); BS_urt_add_fence.setDrawfence(false); } } if (size != 0) { Warnig.sos(tagid); } } } } /**×Ô¶¯Éý¼¶Öն˹̼þ·½·¨*/ public static void zi_dong_shengji() { if (UtrSet.isUpdataurt()) {//Èç¹û¿ªÆô×Ô¶¯Éý¼¶Ä£Ê½ String upperCase = UtrSet.getVersion().toUpperCase();//ÐèÒªÉý¼¶µÄ°æ±¾ºÅ if (version.contains("V")){ version = version.replace("V", ""); } if (upperCase.contains("V")){ upperCase=upperCase.replace("V",""); } if (!version.equals(upperCase)) {//É豸µ±Ç°°æ±¾ºÅÈç¹û²»µÈÓÚÐèÒªÉý¼¶µÄ°æ±¾ºÅ //eg:$update,6788,http://39.106.210.13:8080/hfs/URT-F4Ãâ²¼Ïß±êÇ©V2.32-6.5G.Bin,V2021051001 String data = "$update," + tagid + "," + "http://39.106.210.13:8080/hfs/" + UtrSet.getVersionname()+","+"V2021051001"; int size = data.getBytes().length; String port1 = String.valueOf(port);//É豸µ±Ç°µÄ¶Ë¿Ú Urt_7000_port.udp_out(data.getBytes(), size, ip, port1, tagid, data);//UDPÏ·¢×Ô¶¯Éý¼¶Ö¸Áî¸øÉ豸µ±Ç°¶Ë¿ÚºÍµØÖ· ShowMessage.zidingyi("Éý¼¶" + tagid + "," + ip + ":" + port + "·¢ËÍ" + data); } } } /**»Ø¸´É豸ÐÄÌø°üyang20230721*/ public static void hui_fu_heart() { String xtbok = "$xtbok"; byte[] bytes = xtbok.getBytes(); Urt_7000_port.outlora(bytes, bytes.length, ip, port, xtbok); } }