package home;
|
import java.io.*;
|
import java.util.Timer;
|
import java.util.TimerTask;
|
import java.util.Vector;
|
import javax.swing.ImageIcon;
|
import BaoWen.*;
|
import ColorAndFont.Data_to_bs;
|
import DataBase.DatabaseManagement;
|
import Frame.BaoWenHuiFang;
|
import Frame.TcpIpManage;
|
import Method.About_tb_track;
|
import Method.GetNowTime;
|
import Method.JudgeTagOrAnchorOffline;
|
import Method.SaveFIleInTxt;
|
import PbuliClass.Systems;
|
import ToolBarS.ToolBarModel;
|
import VectroData.ForwardDatas;
|
import anchor.Anchor;
|
import anchor.Anchor_Dell;
|
import anchor.Anchor_nerby_dell;
|
import engbs.Dell_gongzhong;
|
import engbs.Tongji;
|
import engbs.engine_do;
|
import fence.kaoqing.Dell_KaoQing;
|
import monitorGas.Dell_co;
|
import monitorGas.ReadGas;
|
import person.person_Dell;
|
import tag.Tag_Dell;
|
import tbDataModel.Tb_tongbuanchor;
|
import tbDataModel.anchornear;
|
import tbDataModel_Dell.Dell_Ip;
|
import tbDataModel_Dell.Dell_TongbuAnchor;
|
import tbDataModel_Dell.Dell_tag_gas_jiaozhun_value;
|
import tbDataModel_Dell.Dell_tb_gas_anchor;
|
import tbDataModel_Dell.Dell_tb_suanfa2;
|
import tbDataModel_Dell.ReadPeizhiMessage;
|
import tbDataModel_Dell.Read_Write_Anchor_Message;
|
import tcp.TcpClientOneToMany;
|
import urt.Dell_gps;
|
|
public class ChuShiHua {
|
static Timer timer;
|
static int i = 0;
|
static int t = 0;
|
static int xintiao = 1;
|
static int tagoff = 0;
|
static int tcp = 0;
|
static int cishu = 0;
|
static int gxbsd = 0;//¸üÐÂbsƽ̨Êý¾Ý¿â
|
static int ok300 = 0;
|
static int succ = 1;
|
static int OK30 = 1;
|
static int readgas = 0;
|
static int a = Integer.parseInt(Systems.sys().getGas_hz()) * 10;
|
static int time10 = 0;//10Ãë
|
static int time10min = 0;
|
static int time50 = 0;
|
static int pian = 1;
|
static int piannedd = 5;
|
static int miao2 = 1;
|
static int miao1 = 1;
|
static int a1 = 0;
|
static int min10 = 0;
|
//ÊÇ·ñ¿ªÆôÁËÀëÏßת·¢Î»ÖÃÊý¾Ý¹¦ÄÜ
|
static int lixinazhuanfa = 0;
|
static boolean suidaomoshi = Systems.sys().getTunlDw().equals("1");
|
static boolean urtopen = Systems.sys().getCs_udp().length() > 3;
|
static boolean haveudpout = ForwardDatas.get_mou_tb_forword("UDP").size() != 0;
|
static boolean havetcpout = ForwardDatas.get_mou_tb_forword("TCP").size() != 0;
|
static ImageIcon acon = new ImageIcon("image/icon/datajiaohu.png");
|
static ImageIcon bcon = new ImageIcon("image/icon/datajiaohu1.png");
|
static File file = null;
|
|
/**
|
* ´´½¨Ò»¸ö¶¨Ê±Æ÷ÓÃÓÚÐ޸ĻùÕ¾ÅäÖÃÐÅÏ¢
|
*/
|
public static void ding_shi_qi() {
|
int atcp = Systems.getTcpheart_time() * 10;
|
tcp = atcp;
|
|
|
//clear();//Çå¿Õ³¬Ê±µÄÊý¾Ý
|
Open_soft_dialog.addara("¼ÓÔØ¶¨Ê±Æ÷");
|
Integer cacheTime = 100;//´¥·¢Æ÷ʱ¼ä100ºÁÃëÖ´ÐÐÒ»´Î
|
timer = new Timer();
|
timer.schedule(new TimerTask() {
|
@Override
|
public void run() {
|
try {
|
ok300++;
|
tagoff++;
|
gxbsd++;
|
readgas++;
|
time10++;
|
time50++;
|
miao2++;
|
miao1++;
|
min10++;
|
if (!Systems.isWuxian()) {//Èç¹ûÊÇÎÞÏßģʽ²»ÓÃÏ·¢×¢²áÐÅÏ¢
|
pian++;
|
i++;
|
if (pian == piannedd) {//Ï·¢×¢²áÐÅÏ¢
|
Dell_55AA0A.get_ok_regs();
|
pian = 1;
|
}
|
if (i == 100) {
|
write_nearby(); //¸ø»ùվдÈëÁÙ½üÊý¾Ý
|
} else if (i == 200) {
|
write_tongbu();//¸ø»ùվдÈëͬ²½Êý¾Ý
|
} else if (i == 300) {
|
i = 277;
|
}
|
}
|
|
|
/**ÆøÌå¼ì²â¼àÌý¿ªÆô*/
|
if (Systems.isGasopen()) {
|
if (readgas == a) {
|
ReadGas.read_gas();
|
readgas = 0;
|
}
|
}
|
|
if (miao2 == 20) {//2ÃëÖÓÖ´ÐÐÒ»´Î
|
int a2 = Dell_55AA01.getGuji();
|
Dell_KaoQing.tongji_kaoqing();//ת·¢¿¼ÇÚÊý¾Ý
|
if (a1 != a2) {
|
ToolBarModel.getjbt_tongji().setText(Dell_55AA01.getSs());
|
ToolBarModel.getJbt_datajiaohu().setIcon(acon);
|
a1 = a2;
|
}
|
|
miao2 = 1;
|
}
|
int i = Integer.parseInt(Systems.sys().getBaoliu22());
|
if (miao1 == 10 * i) {//1ÃëÖÐÖ´ÐÐÒ»´Î
|
ToolBarModel.getJbt_datajiaohu().setIcon(bcon);
|
String datazhuanfa=Dell_tb_suanfa2.getSuanfa2().getShu_ju_zhuan_fa();//Êý¾Ýת·¢
|
lixinazhuanfa = Integer.parseInt(datazhuanfa);
|
if (lixinazhuanfa != 0 && ForwardDatas.isHavezhuanfa()) {//ת·¢ÀëÏßÊý¾Ý
|
person_Dell.person_off_zhuanfa(lixinazhuanfa);
|
}
|
miao1 = 1;
|
}
|
|
|
if (time50 == 300) {//¸üп¼ÇÚºÍÆøÌå
|
aletkaoqingandgas();
|
Dell_co.alert_tb_cojilu();
|
}
|
|
if (Systems.isEgbs()) {//300ºÁÃëÖ´ÐÐÒ»´ÎbsÊý¾ÝÊý¾Ý¸üÐÂ
|
if (gxbsd == 3) {
|
engine_do.tb_person(time10min);
|
if (urtopen) {//Èç¹ûURT¼àÌý¿ªÆô
|
engine_do.tb_gps(time10min);
|
}
|
if (time10min == 10) {
|
time10min = 0;
|
}
|
gxbsd = 0;
|
}
|
}
|
|
if (OK30 == 1) {//¿ªÆôÈí¼þ30Ãë»ñÈ¡»ùÕ¾µÄ°æ±¾ºÅ
|
if (!Systems.isEgbs()) {
|
Dell_gps.gengxin_tb_gps();
|
}
|
OK30 = 0;
|
}
|
|
|
//ÅжϻùÕ¾ºÍ±êÇ©ÊÇ·ñÀëÏß
|
if (tagoff == 600) {//60ÃëÖÐÖ´ÐÐÒ»´Î
|
JudgeTagOrAnchorOffline.juge_person_off();
|
JudgeTagOrAnchorOffline.anchor_off();//Åж϶¨Î»»ùÕ¾ÊÇ·ñÀëÏß
|
if (!Systems.isIssanwei()){
|
Dell_tag_gas_jiaozhun_value.juge_tag_gas_jiaozhun_choshi();//¿ªÆôÈýάģʽʱºòÅжϱêÇ©ÊÇ·ñ¸ß¶ÈУ׼³¬Ê±
|
Dell_tb_gas_anchor.gasanchor_off();//Èýάģʽ¿ªÆôʱºòÅжϻùÕ¾ÊÇ·ñÀëÏß
|
}
|
|
if (Systems.isEgbs()) {//60Ãë¸üÐÂÒ»´Îͳ¼ÆÊý¾Ý
|
Tongji.gengxin();
|
Dell_gongzhong.alert_num();
|
engine_do.tb_tag();
|
}
|
|
save_baowen_inlog();//±£´æ±¨ÎÄÊý¾Ýµ½ÎļþÖÐ
|
|
tagoff = 0;
|
}
|
|
|
if (min10 == 6000) {//10·ÖÖÓÖ´ÐÐÒ»´Î
|
min10 = 0;
|
time10min = 10;
|
if (Systems.isEgbs()) {//¸üлùÕ¾ÐÅÏ¢
|
Anchor_Dell.alert_tb_anchor();
|
}
|
}
|
|
|
if (ok300 == 18000) {//30·ÖÖÓ¸üÐÂÒ»´ÎÊý¾Ý
|
Tag_Dell.gengxin_database_tag_power();//¸üбêÇ©µçÁ¿Êý¾Ý±í
|
Tag_Dell.history_power();//°ë¸öСʱ¸üÐÂÒ»´Î±êÇ©µÄÀúÊ·µçÁ¿
|
person_Dell.gegnxinheart();//¸üÀÛÐÄÌøÊý¾Ý
|
if (Systems.isSuidaomoshi()) {
|
Dell_KaoQing.cleartallkaoqing();//°ëСʱÇå¿ÕÒ»´Î¿¼ÇÚ
|
}
|
try {
|
//ɾ³ý7ÌìǰµÄlogÎļþ
|
String s2 = GetNowTime.addDay(-7);
|
File file3=new File("./savefile/"+s2+".log");
|
if (file3.exists()){
|
file3.delete();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
ok300 = 0;
|
}
|
|
//¼ì²â·þÎñÆ÷ÊÇ·ñµôÏß
|
if (ForwardDatas.get_mou_tb_forword("TCP").size() != 0) {
|
if (tcp == 0) {
|
TcpIpManage.get_text_area().append("\nµØÖ·£º"
|
+ TcpClientOneToMany.getIp() + "¶Ë¿Ú£º"
|
+ TcpClientOneToMany.getPort()
|
+ "ûÓÐÊÕµ½·þÎñÆ÷ÐÄÌø°ü55BBTCP,ÕýÔÚ³¢ÊÔÁ¬½Ó·þÎñÆ÷...");
|
tcp = atcp;
|
TcpClientOneToMany.startTCPCliet();
|
}
|
tcp--;
|
}
|
if (Systems.isEngheart()) {
|
if (haveudpout || havetcpout) {
|
xintiao++;
|
if (xintiao == 100) {
|
Data_to_bs.hxzk_heart();//ÒýÇæÐÄÌø°ü
|
xintiao = 0;
|
}
|
}
|
}
|
|
//24СʱִÐÐÒ»´Î
|
if (t == 0) {
|
About_tb_track.add_and_delete_a_tbtrack();
|
//clear();//ɾ³ý³¬Ê±¼äµÄÊý¾Ý
|
t = 864000;
|
}
|
t--;
|
|
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}, 1000, cacheTime);
|
|
}
|
|
/**
|
* дÈë»ùÕ¾ÁÙ½üÐÅÏ¢
|
*/
|
public static void write_nearby() {
|
if (!BaoWenHuiFang.isHuifangbaowen()) {
|
int size = Anchor_Dell.getAnchor_vector().size();
|
for (int i = 0; i < size; i++) {
|
Anchor anchor = Anchor_Dell.getAnchor_vector().get(i);
|
//Èç¹û»ùÕ¾ÔÚÏßÔòÖ´ÐÐ
|
if (anchor != null) {
|
write_anchor_near(anchor);
|
}
|
}
|
}
|
}
|
|
/**
|
* дÈë»ùվͬ²½ÐÅÏ¢
|
*/
|
public static void write_tongbu() {
|
if (!BaoWenHuiFang.isHuifangbaowen()) {
|
int size = Anchor_Dell.getAnchor_vector().size();
|
for (int i = 0; i < size; i++) {
|
Anchor anchor = Anchor_Dell.getAnchor_vector().get(i);
|
//Èç¹û»ùÕ¾ÔÚÏßÔòÖ´ÐÐ
|
if (anchor != null) {
|
write_anchor_tongbu(anchor);
|
}
|
}
|
}
|
}
|
|
|
/**
|
* »ñÈ¡ËùÓлùÕ¾µÄ°æ±¾ÐÅÏ¢
|
*/
|
public static void get_anchor_version(Anchor anchor) {
|
if (anchor != null) {
|
byte[] byt = Read_Write_Anchor_Message.ReadData((byte) 0x2, (byte) 0x50);
|
Udp_Receive.out(byt, byt.length, anchor, "»ñÈ¡ËùÓлùÕ¾°æ±¾ÐÅÏ¢");
|
}
|
}
|
|
|
/**
|
* »ùÕ¾ÉÏÏßµÄʱºò½«»ùÕ¾ÁÙ½üÐÅϢдÈë»ùÕ¾
|
*/
|
public static void write_anchor_near(Anchor anchor) {
|
if (Systems.isWuxian()) {//Èç¹ûÊÇÃⲿÏßÄ£Ê½Ìø¹ýÏÂÃæµÄ²½Öè
|
return;
|
}
|
byte[] byt = null;
|
String anchorid = anchor.getAnc_id();
|
String[] anchornearid = {anchorid};
|
String[] acrnert = Anchor_nerby_dell.get_nearanhor(anchorid);
|
int port = anchor.getPort();
|
anchornear ancner = Anchor_nerby_dell.get_anchor(anchorid);
|
if (ancner != null) {
|
int distance = ancner.getDistance();
|
int baoliu1 = ancner.getFastdistance();
|
int baoliu2 = Integer.parseInt(ancner.getAlldata());//ËùÓÐÊý¾ÝÊä³ö
|
if (port != 0) {
|
if (acrnert == null) {
|
byt = ReadPeizhiMessage.save_nerby(anchornearid, distance, baoliu1, baoliu2);
|
} else {
|
byt = ReadPeizhiMessage.save_nerby(acrnert, distance, baoliu1, baoliu2);
|
}
|
|
Udp_Receive.out(byt, byt.length, anchor, "»ùÕ¾ÉÏÏßдÈëÁÙ½üÊý¾Ý");
|
Anchor_Dell.alert_nearok(1, anchorid);
|
}
|
}
|
}
|
|
|
/**
|
* »ùÕ¾ÉÏÏߺ󽫻ùÕ¾µÄͬ²½ÐÅϢдÈë»ùÕ¾
|
*/
|
public static void write_anchor_tongbu(Anchor anchor) {
|
if (Systems.isWuxian()) {//Èç¹ûÊÇÃⲿÏßÄ£Ê½Ìø¹ýÏÂÃæµÄ²½Öè
|
return;
|
}
|
String anchorid = anchor.getAnc_id();
|
if (Dell_TongbuAnchor.get_tb_rootanchor(anchorid) != null) {
|
//ÕÒµ½Ä³¸öͬ²½»ùÕ¾¶ÔÏó
|
Tb_tongbuanchor tbanchor = Dell_TongbuAnchor.get_tb_rootanchor(anchorid);
|
if (tbanchor == null) {
|
return;
|
}
|
//ÁÙ½ü»ùÕ¾ºÍÁÙ½ü»ùÕ¾ÀàÐÍ
|
int[] value = new int[2];
|
|
//ͬ²½»ùÕ¾id
|
String zhujizhan = tbanchor.getRootanchorid();
|
if (zhujizhan == null) {
|
zhujizhan = "0000";
|
}
|
|
//Èç¹ûÊÇÖ÷»ùվͬ²½»ùվΪ0
|
if (zhujizhan.length() >= 1) {
|
if (zhujizhan.equals("0")) {
|
value[0] = ReadPeizhiMessage.covert("0000");
|
} else {
|
value[0] = ReadPeizhiMessage.covert(zhujizhan);
|
}
|
//ͬ²½»ùÕ¾ÀàÐÍ
|
value[1] = Integer.parseInt(tbanchor.getType());
|
//Ö´ÐÐÐÅϢдÈë»ùÕ¾
|
byte[] byt = ReadPeizhiMessage.WriteDatapeiz((byte) 0x44, (byte) 0x04, value);
|
if (!BaoWenHuiFang.isHuifangbaowen()) {
|
int port = anchor.getPort();
|
if (port != 0) {
|
Udp_Receive.out(byt, byt.length, anchor, "»ùÕ¾ÉÏÏßдÈë»ùվͬ²½Êý¾Ý");
|
Anchor_Dell.alert_tongbuok(1, anchorid);
|
}
|
}
|
|
}
|
}
|
|
}
|
|
|
/**
|
* ¿ªÆô»òÕ߹رձêÇ©µÄGPS¹¦ÄÜ
|
*/
|
public static void alert_gps(int openorclose, Vector<String> tagidzu) {
|
Dell_55AA07.setTanchu(false);
|
if (Systems.sys().getEng_bs().equals("1") && Systems.sys().getHoutai().equals("1")) {
|
return;
|
}
|
byte[] byt = Read_Write_Anchor_Message.write_taghz(openorclose, Tag_Dell.tagzu(), (byte) 0x18);
|
Dell_Ip.alert_all_ip(byt, "¿ªÆô»òÕ߹رձêÇ©µÄGPS¹¦ÄÜ");
|
}
|
|
|
/**
|
* ¿ªÆô»òÕ߹رձêÇ©ÐÝÃß¹¦ÄÜ
|
*
|
* @param openorclose¿ªÆô»òÕ߹رÕÐÝÃß
|
* @param tagidzu±êÇ©×é
|
*/
|
public static void alert_atag_sleep(int openorclose, String tagid) {
|
if (Systems.sys().getEng_bs().equals("1") && Systems.sys().getHoutai().equals("1")) {
|
return;
|
}
|
byte[] byt = Read_Write_Anchor_Message.write_one_taghz(openorclose, tagid, (byte) 0x3e);
|
Dell_Ip.alert_one_ip(byt, tagid, "¿ªÆô»òÕ߹رձêÇ©ÐÝÃß¹¦ÄÜ");
|
}
|
|
|
/**
|
* ÐÞ¸ÄÐÝÃßʱ¼ä
|
*/
|
public static void alert_sleep_time(int time, Vector<String> tagidzu) {
|
if (Systems.sys().getEng_bs().equals("1") && Systems.sys().getHoutai().equals("1")) {
|
return;
|
}
|
byte[] byt = Read_Write_Anchor_Message.write_taghz(time, Tag_Dell.tagzu(), (byte) 0x3a);
|
Dell_Ip.alert_all_ip(byt, "ÐÞ¸ÄÐÝÃßʱ¼ä");
|
}
|
|
|
public static void alert_jiaozhun(int zhi, String tagid) {
|
if (Systems.sys().getEng_bs().equals("1") && Systems.sys().getHoutai().equals("1")) {
|
return;
|
}
|
byte[] byt = Read_Write_Anchor_Message.write_one_taghz(zhi, tagid, (byte) 0x50);
|
Dell_Ip.alert_one_ip(byt, tagid, "ÐÞ¸ÄУ׼");
|
String[] ziduan = {"baoliu2", "tag_id"};
|
String[] zhis = {String.valueOf(zhi), tagid};
|
DatabaseManagement.fast_alert_dbase("tb_tag", ziduan, zhis);
|
}
|
|
public static int getTcp() {
|
return tcp;
|
}
|
|
public static void setTcp(int tcp) {
|
ChuShiHua.tcp = tcp;
|
}
|
|
public static int getSucc() {
|
return succ;
|
}
|
|
public static void setSucc(int succ) {
|
ChuShiHua.succ = succ;
|
}
|
|
|
/**
|
* 50Ãë¸üÐÂÆøÌåºÍ¿¼ÇÚÊý¾Ý
|
*/
|
public static void aletkaoqingandgas() {
|
if (suidaomoshi) {
|
engine_do.alert_realkaoqing();
|
}
|
|
if (Systems.isGasopen()) {
|
engine_do.alert_realgas();
|
}
|
time50 = 0;
|
}
|
|
public static void setPiannedd(int piannedd) {
|
ChuShiHua.piannedd = piannedd;
|
}
|
|
/**
|
* Çå¿ÕÊý¾Ý¿âÖеij¬¹ýʱ¼äµÄÀúÊ·¼Ç¼
|
*/
|
public static void clear() {
|
String time = GetNowTime.addDay1(-90);//90ÌìÒÔǰµÄÊý¾Ýɾ³ý
|
String time2 = GetNowTime.addDay1(-10);//90ÌìÒÔǰµÄÊý¾Ýɾ³ý
|
String deleteSql = "DELETE FROM tb_history_power WHERE time<'" + time + " 00:00:00'";
|
String deleteSql2 = "DELETE FROM tb_anchor_history_record WHERE addtime<'" + time + " 00:00:00'";
|
String deleteSql3 = "DELETE FROM tb_tagpower WHERE time<'" + time + " 00:00:00'";
|
String deleteSql4 = "DELETE FROM tb_heart_record WHERE time<'" + time + " 00:00:00'"; //ɾ³ýÐÄÂʼǼ
|
String deleteSql5 = "DELETE FROM tb_message_history WHERE sendtime<'" + time + " 00:00:00'"; //ɾ³ýÐÅÏ¢¼Ç¼
|
String deleteSql6 = "DELETE FROM tb_lixianrecord_0829 WHERE time<'" + time2 + " 00:00:00'";//
|
String deleteSql7 = "DELETE FROM tb_yuan_shi_bao_wen WHERE addtime<'" + time2 + " 00:00:00'";//
|
String deleteSql8 = "DELETE FROM tb_ac_history_power WHERE addtime<'" + time + " 00:00:00'";//
|
DatabaseManagement.update(deleteSql);
|
DatabaseManagement.update(deleteSql2);
|
DatabaseManagement.update(deleteSql3);
|
DatabaseManagement.update(deleteSql4);
|
DatabaseManagement.update(deleteSql5);
|
DatabaseManagement.update(deleteSql6);
|
DatabaseManagement.update(deleteSql7);
|
DatabaseManagement.update(deleteSql8);
|
}
|
|
/**½«Îļþ±¨´æÔÚÈÕÖ¾ÖÐyang20230725*/
|
public static void save_baowen_inlog() {
|
if(Dell_tb_suanfa2.isJnalog_open()){
|
if (file==null||!file.getName().equals(GetNowTime.getyearmd()+".log")) {
|
file = SaveFIleInTxt.creatFile();
|
}
|
//±£´æ±¨ÎÄÊý¾Ýµ½ÎļþÖÐ
|
Vector<String> vector = DellMessage.getVector();
|
if (vector.size()>0) {
|
for (int j=0;j<vector.size();j++) {
|
String s = vector.get(j);
|
SaveFIleInTxt.save_jiexibaowen(s, file);
|
}
|
DellMessage.getVector().removeAllElements();
|
}
|
}
|
}
|
|
}
|