From f7c8ccbaa43fdda57fd04cce5f409f1a99bde86b Mon Sep 17 00:00:00 2001
From: Administrator <1525436766@qq.com>
Date: 星期五, 19 二月 2021 15:25:56 +0800
Subject: [PATCH] 添加控制操作日志记录功能

---
 ElectricalSystem_MonitorServer_2KW/src/com/electrical/TwoKW/Electrical_2KW_SocketClient_Thread.java |  111 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 72 insertions(+), 39 deletions(-)

diff --git a/ElectricalSystem_MonitorServer_2KW/src/com/electrical/TwoKW/Electrical_2KW_SocketClient_Thread.java b/ElectricalSystem_MonitorServer_2KW/src/com/electrical/TwoKW/Electrical_2KW_SocketClient_Thread.java
index 425643a..8ac8645 100644
--- a/ElectricalSystem_MonitorServer_2KW/src/com/electrical/TwoKW/Electrical_2KW_SocketClient_Thread.java
+++ b/ElectricalSystem_MonitorServer_2KW/src/com/electrical/TwoKW/Electrical_2KW_SocketClient_Thread.java
@@ -6,6 +6,8 @@
 
 import com.modbus.data.MyModbusMaster;
 import com.modbus.data.MyModbusUtils;
+import com.modbus.data.User_Log;
+import com.modbus.data.User_Log_SQL;
 import com.serotonin.modbus4j.BatchRead;
 import com.serotonin.modbus4j.BatchResults;
 import com.serotonin.modbus4j.code.DataType;
@@ -21,6 +23,8 @@
 	public MyModbusMaster master;
 	public Electric_2MW_alarm eAlarm;
 	public List<Electric_2MW_alarm> listAlarm;
+	public List<User_Log> logs;
+	
 	
 	public Electrical_2KW_SocketClient_Thread(Electric_inf_2kw winf,MysqlConnPool conn_pool) {
 		this.conn_pool = conn_pool;
@@ -31,6 +35,7 @@
 		econ = einf.control;
 		eAlarm = einf.alarm;
 		
+		logs = new ArrayList<>();
 		/*
 		state = new Electric_State_2kw(einf.electric2KW_id);
 		ert = new Electric_Rt_2kw(einf.electric2KW_id);
@@ -65,30 +70,38 @@
 				
 				Electrical_2KWTask_SQL.queryElectric_Control_2KW(conn_pool,econ);
 				if(econ.update_en == true) {
+					logs.clear();
 					//System.out.println(econ.electric2KW_id+"##");
 					//转为恒压模式充电电压值
 					if(econ.consvolmode_chargecurr > 0) {
-						MyModbusUtils.writeHoldingRegister(330, econ.consvolmode_chargecurr, DataType.TWO_BYTE_INT_SIGNED, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(330, econ.consvolmode_chargecurr, DataType.TWO_BYTE_INT_SIGNED, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"转为恒压模式充电电压值为:"+econ.consvolmode_chargecurr, flag));
 					}
 					//第5阶段充电电流值
 					if(econ.chargecurr_five > 0) {
-						MyModbusUtils.writeHoldingRegister(319,econ.chargecurr_five, DataType.TWO_BYTE_INT_SIGNED, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(319,econ.chargecurr_five, DataType.TWO_BYTE_INT_SIGNED, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第5阶段充电电流值为:"+econ.chargecurr_five, flag));
 					}
 					//第4阶段充电电流值
 					if(econ.chargecurr_four > 0) {
-						MyModbusUtils.writeHoldingRegister(318,econ.chargecurr_four, DataType.TWO_BYTE_INT_SIGNED, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(318,econ.chargecurr_four, DataType.TWO_BYTE_INT_SIGNED, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第4阶段充电电流值为:"+econ.chargecurr_four, flag));
 					}
 					//第3阶段充电电流值
 					if(econ.chargecurr_three > 0) {
-						MyModbusUtils.writeHoldingRegister(317,econ.chargecurr_three, DataType.TWO_BYTE_INT_SIGNED, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(317,econ.chargecurr_three, DataType.TWO_BYTE_INT_SIGNED, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第3阶段充电电流值为:"+econ.chargecurr_three, flag));
 					}
 					//第2阶段充电电流值
 					if(econ.chargecurr_two > 0) {
-						MyModbusUtils.writeHoldingRegister(316,econ.chargecurr_two, DataType.TWO_BYTE_INT_SIGNED, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(316,econ.chargecurr_two, DataType.TWO_BYTE_INT_SIGNED, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第2阶段充电电流值为:"+econ.chargecurr_two, flag));
 					}
 					//第1阶段充电电流值
 					if(econ.chargecurr_one > 0) {
-						MyModbusUtils.writeHoldingRegister(315,econ.chargecurr_one, DataType.TWO_BYTE_INT_SIGNED, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(315,econ.chargecurr_one, DataType.TWO_BYTE_INT_SIGNED, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第1阶段充电电流值为:"+econ.chargecurr_one, flag));
+						
 					}
 					//电流设定值
 //					if(econ.currset > 0) {
@@ -100,108 +113,128 @@
 //					}
 					//第5阶段充电终止电压
 					if(econ.stopchargevol_five > 0) {
-						MyModbusUtils.writeHoldingRegister(328,econ.stopchargevol_five, DataType.FOUR_BYTE_FLOAT, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(328,econ.stopchargevol_five, DataType.FOUR_BYTE_FLOAT, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第5阶段充电终止电压为:"+econ.stopchargevol_five, flag));
 					}
 					//第4阶段充电终止电压
 					if(econ.stopchargevol_four > 0) {
-						MyModbusUtils.writeHoldingRegister(326,econ.stopchargevol_four, DataType.FOUR_BYTE_FLOAT, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(326,econ.stopchargevol_four, DataType.FOUR_BYTE_FLOAT, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第4阶段充电终止电压为:"+econ.stopchargevol_four, flag));
 					}
 					//第3阶段充电终止电压
 					if(econ.stopchargevol_three > 0) {
-						MyModbusUtils.writeHoldingRegister(324,econ.stopchargevol_three, DataType.FOUR_BYTE_FLOAT, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(324,econ.stopchargevol_three, DataType.FOUR_BYTE_FLOAT, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第3阶段充电终止电压为:"+econ.stopchargevol_three, flag));
 					}
 					//第2阶段充电终止电压
 					if(econ.stopchargevol_two > 0) {
-						MyModbusUtils.writeHoldingRegister(322,econ.stopchargevol_two, DataType.FOUR_BYTE_FLOAT, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(322,econ.stopchargevol_two, DataType.FOUR_BYTE_FLOAT, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第2阶段充电终止电压为:"+econ.stopchargevol_two, flag));
 					}
 					//第1阶段充电终止电压
 					if(econ.stopchargevol_one > 0) {
-						MyModbusUtils.writeHoldingRegister(320,econ.stopchargevol_one, DataType.FOUR_BYTE_FLOAT, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(320,econ.stopchargevol_one, DataType.FOUR_BYTE_FLOAT, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"第1阶段充电终止电压为:"+econ.stopchargevol_one, flag));
 					}
 					//上位机脉冲封锁
 					if(econ.upper_pulse_block > 0) {
-						MyModbusUtils.writeCoil(80, true, master);
+						boolean flag = MyModbusUtils.writeCoil(80, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(80, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(80, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"上位机脉冲封锁", flag));
 					}
 					//远程启动
 					if(econ.remote_start > 0) {
-						MyModbusUtils.writeCoil(112, true, master);
+						boolean flag = MyModbusUtils.writeCoil(112, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(112, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(112, false, master);
+						logs.add(new User_Log(User_Log.Start_up, User_Log.electric2mwsystem,einf.electric2KW_name+"远程启动", flag));
 					}
 					//故障复位
 					if(econ.fault_reset > 0) {
-						MyModbusUtils.writeCoil(113, true, master);
+						boolean flag = MyModbusUtils.writeCoil(113, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(113, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(113, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"故障复位", flag));
 					}
 					//恒流切换
 					if(econ.conscurrswitch > 0) {
-						MyModbusUtils.writeCoil(114, true, master);
+						boolean flag = MyModbusUtils.writeCoil(114, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(114, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(114, false, master);
+						logs.add(new User_Log(User_Log.Start_up, User_Log.electric2mwsystem,einf.electric2KW_name+"恒流切换", flag));
 					}
 					//4并或2串2并恒压
 					if(econ.constantvol > 0) {
-						MyModbusUtils.writeCoil(115, true, master);
+						boolean flag = MyModbusUtils.writeCoil(115, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(115, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(115, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"为:4并或2串2并恒压", flag));
 					}
 					//电压给定确认
 					if(econ.volset_confirm > 0) {
-						MyModbusUtils.writeHoldingRegister(18,econ.volset, DataType.TWO_BYTE_INT_SIGNED, master);
-						MyModbusUtils.writeCoil(116, true, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(18,econ.volset, DataType.TWO_BYTE_INT_SIGNED, master);
+						flag = flag&&MyModbusUtils.writeCoil(116, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(116, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(116, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"电压设定值为:"+econ.volset, flag));
 					}
 					//电流给定确认
 					if(econ.currset_confirm > 0) {
-						MyModbusUtils.writeHoldingRegister(27,econ.currset, DataType.TWO_BYTE_INT_SIGNED, master);
-						MyModbusUtils.writeCoil(117, true, master);
+						boolean flag = MyModbusUtils.writeHoldingRegister(27,econ.currset, DataType.TWO_BYTE_INT_SIGNED, master);
+						flag = flag&&MyModbusUtils.writeCoil(117, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(117, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(117, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"电流设定值为:"+econ.currset, flag));
 					}
 					//远程停止
 					if(econ.remote_stop > 0) {
-						MyModbusUtils.writeCoil(118, true, master);
+						boolean flag = MyModbusUtils.writeCoil(118, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(118, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(118, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"远程停止", flag));
 					}
 					//启动触摸屏给定
 					if(econ.start_screen_set > 0) {
-						MyModbusUtils.writeCoil(120, true, master);
+						boolean flag = MyModbusUtils.writeCoil(120, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(120, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(120, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"触摸屏给定", flag));
 					}
 					//启动上位机给定
 					if(econ.start_upper_set > 0) {
-						MyModbusUtils.writeCoil(121, true, master);
+						boolean flag = MyModbusUtils.writeCoil(121, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(121, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(121, false, master);
+						logs.add(new User_Log(User_Log.Start_up, User_Log.electric2mwsystem,einf.electric2KW_name+"上位机给定", flag));
 					}
 					//恒压切换
 					if(econ.consvolswitch > 0) {
-						MyModbusUtils.writeCoil(123, true, master);
+						boolean flag = MyModbusUtils.writeCoil(123, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(123, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(123, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"恒压切换", flag));
 					}
 					//4并或2串2并以外模式
 					if(econ.othermode > 0) {
-						MyModbusUtils.writeCoil(125, true, master);
+						boolean flag = MyModbusUtils.writeCoil(125, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(125, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(125, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"4并或2串2并以外模式", flag));
 					}
 					//四串恒压电压分配位
 					if(econ.consvol_distribution > 0) {
-						MyModbusUtils.writeCoil(128, true, master);
+						boolean flag = MyModbusUtils.writeCoil(128, true, master);
 						Thread.sleep(2000);
-						MyModbusUtils.writeCoil(128, false, master);
+						flag = flag&&MyModbusUtils.writeCoil(128, false, master);
+						logs.add(new User_Log(User_Log.Alter, User_Log.electric2mwsystem,einf.electric2KW_name+"四串恒压电压分配", flag));
 					}
 
 					econ.clear();
 //					//System.err.println(econ);
 					Electrical_2KWTask_SQL.update_Electric_Control_2KW(conn_pool, econ);
+					
+					User_Log_SQL.recordUserLog(conn_pool, logs);			//记录操作日志
 				}
 				
 				

--
Gitblit v1.9.1