From f101fc8df2af7010daa3d15a234f7cb5d26cbdd4 Mon Sep 17 00:00:00 2001
From: Administrator <1525436766@qq.com>
Date: 星期二, 31 八月 2021 08:54:23 +0800
Subject: [PATCH] 修改历史数据记录的最后一笔数据修改

---
 BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java |   39 ++++++++++++++++++---------------------
 1 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java b/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java
index fb5eeb5..3b1af57 100644
--- a/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java
+++ b/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java
@@ -72,7 +72,8 @@
     private int readMonData_lock = 1;			//单体数据返回
     private int readCharData_lock = 1;			//充放电数据返回
     
-    private int sendlock_state = 1;				//发送数据返回
+    private int sendlock_state_mon 	= 1;				//单体发送数据
+    private int sendlock_state_char = 1;				//充放电发送数据
     
     public FGCD_SocketClient_Thread(MysqlConnPool m_ConnPool,BattData_RT_Array m_Data,Socket socket){
         this.socket = socket;
@@ -290,7 +291,7 @@
 				if(DevReadCount %10 == 0 || readMonData) {
 					//logger.info("获取单体数据");
 					FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETBATTDATA);
-					tmp_cmd.Db3 = sendlock_state;
+					tmp_cmd.Db3 = sendlock_state_mon;
 					SocketComm(tmp_cmd, ByteBuffer.allocate(0));
 					tmp_cmd = null;
 					readMonData = false;
@@ -299,7 +300,7 @@
 				if(DevReadCount %12 == 0 || readCharData) {
 					//logger.info("获取放电数据");
 					FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETDISCHARGEDATA);
-					tmp_cmd.Db1 = sendlock_state;
+					tmp_cmd.Db1 = sendlock_state_char;
 					SocketComm(tmp_cmd, ByteBuffer.allocate(0));
 					tmp_cmd = null;
 					readCharData = false;
@@ -685,6 +686,7 @@
             if(errcode > 0) {
             	logger.error(this.getName(), "FGCD_Cmd.CMD:"+m_FBS_Cmd.CMD+"\t RTN:"+errcode);
             }
+            sysState.dev_captest_stop_type = m_FBS_Cmd.Alarm;
             //sysState.dev_workstate = 2;
             //---------------------  心跳包测试    ----------------------------------
             if(FGCD_ComBase.CMD_HEARTBEAT == m_FBS_Cmd.CMD) {
@@ -731,17 +733,12 @@
                 //System.out.println("获取单体数据");
                 if(vc_data.putByteBuffer(bf, m_FBS_Cmd.ByteLen-m_FBS_Cmd.BYTE_LEN)) {
                 	readMonData_lock = m_FBS_Cmd.Db3;
-                	System.out.println("单体数据返回:"+readMonData_lock);
+                	//System.out.println("单体数据返回:"+readMonData_lock);
                 	if(m_FBS_Cmd.Db3 == 2) {
-                		if(m_FBS_Cmd.Db3 == readCharData_lock) {
-                			sendlock_state = 2;                			
-                		}else {
-                			readCharData = true;
-                		}
-                	}else if(m_FBS_Cmd.Db3 == 0){
-                		sendlock_state = 1;
+            			sendlock_state_mon = 2;                			
+            			readCharData = true;
                 	}else{
-                		sendlock_state = 1;
+                		sendlock_state_mon = 1;
                 	}
                     //System.out.println("获取单体数据成功");
                 	getFBS9100MonVolData(vc_data, sysState);
@@ -806,11 +803,10 @@
                 	readCharData_lock = m_FBS_Cmd.Db1;
                 	System.out.println("放电数据返回:"+readCharData_lock);
                 	if(m_FBS_Cmd.Db1 == 2) {
-                		if(m_FBS_Cmd.Db1 == readMonData_lock) {
-                			sendlock_state = 2;                			
-                		}else {
-                			readMonData = true;
-                		}
+            			sendlock_state_char = 2;                			
+            			readMonData = true;
+                	}else {
+                		sendlock_state_char = 1;
                 	}               	
 
                 	//读取当前设备的停止原因和当前工作状态
@@ -962,14 +958,15 @@
     				logger.error(e.toString(), e);
     			}
     			int now_test_type = FGCD_ComBase.TestType_NULL;
+    			int test_stoptype = -1;
     			//记录停止原因时数据处理
     			if(sys_state.dev_captest_stop_type >= 0x80) {
     				
-    				m_RTData[n].mTestData.test_stoptype = sys_state.dev_captest_stop_type - 0x80;		//更新当前的停止原因    				
+    				test_stoptype = sys_state.dev_captest_stop_type - 0x80;		//更新当前的停止原因    				
     			}else {
-    				m_RTData[n].mTestData.test_stoptype = sys_state.dev_captest_stop_type;
+    				test_stoptype = sys_state.dev_captest_stop_type;
     			}
-    			System.out.println("停止原因:"+m_RTData[n].mTestData.test_stoptype);
+    			//System.out.println("停止原因:"+m_RTData[n].mTestData.test_stoptype);
     			int now_dev_workstate = 0;
     			if(FGCD_ComBase.WORK_STATE_DISTEST == sys_state.dev_workstate ||
     				(FGCD_ComBase.WORK_STATE_STOPDIS == sys_state.dev_workstate)){
@@ -995,7 +992,7 @@
     				int work_stat = m_RTData[n].mTestData.dev_FBS9100S_WorkState;
         			int test_type = m_RTData[n].mTestData.dev_FBS9100S_TestType;
         			//--------------------------------------------------------------------------//
-    				m_RTData[n].mTestData.setDevFBS9100S_WorkState(sys_state.dev_captest_stop_type, 
+    				m_RTData[n].mTestData.setDevFBS9100S_WorkState(test_stoptype, 
     																now_test_type,
 											    					now_dev_workstate);
 //    			}

--
Gitblit v1.9.1