BattMonitor_FGCD-A059NT_Four/src/com/battmonitor/data/BattData_RT.java
@@ -788,8 +788,19 @@ else if((BattStatData.BATTSTATE_FLOAT == mTestData.battTestState) && (FGCD_ComBase.WORK_STATE_STOPPED != mTestData.dev_FBS9100S_WorkState)) //2022-06-29修复放电结束后电流未更新,仍在记录充电数据bug { mTestData.dev_teststarttime = mTestData.dev_teststarttime_en; initTestData(BattStatData.BATTSTATE_CHARGE); printBattRtDataDebugInf_FBS9100S(3); }else if(BattStatData.BATTSTATE_CHARGE == mTestData.battTestState){ if(mTestData.dev_teststarttime_en.getTime() > mTestData.dev_teststarttime.getTime()) { //设备中断重连时若2次的开始时间不一致则重新记录一笔放电数据 printBattRtDataDebugInf_FBS9100S(2); mTestData.battTestState = BattStatData.BATTSTATE_FLOAT; mTestData.battState = BattStatData.BATTSTATE_FLOAT; store_state = true; } } //} else if(mTestData.testCurr <= ((mBattFloatCurrLevel+2)*(-1))) { } else if(mTestData.testCurr <= ((mBattFloatCurrLevel)*(-1))) { @@ -803,8 +814,20 @@ } else if(BattStatData.BATTSTATE_FLOAT == mTestData.battTestState) { mTestData.dev_teststarttime = mTestData.dev_teststarttime_en; initTestData(BattStatData.BATTSTATE_DISCHARGE); printBattRtDataDebugInf_FBS9100S(5); }else if(BattStatData.BATTSTATE_DISCHARGE == mTestData.battTestState) { if(mTestData.dev_teststarttime_en.getTime() > mTestData.dev_teststarttime.getTime()) { //设备中断重连时若2次的开始时间不一致则重新记录一笔放电数据 printBattRtDataDebugInf_FBS9100S(8); mTestData.battTestState = BattStatData.BATTSTATE_FLOAT; mTestData.battState = BattStatData.BATTSTATE_FLOAT; store_state = true; } } } else { /** @@ -812,6 +835,8 @@ */ if(BattStatData.BATTSTATE_FLOAT == mTestData.battTestState) { if((FGCD_ComBase.WORK_STATE_DISTEST == mTestData.dev_FBS9100S_WorkState)) { mTestData.dev_teststarttime = mTestData.dev_teststarttime_en; initTestData(BattStatData.BATTSTATE_DISCHARGE); printBattRtDataDebugInf_FBS9100S(6); }/* else if(FBS9100_ComBase.SYS_STATE_CHARGING == mTestData.dev_FBS9100S_WorkState) { @@ -826,6 +851,7 @@ if((BattStatData.BATTSTATE_DISCHARGE == mTestData.battTestState) || (BattStatData.BATTSTATE_CHARGE == mTestData.battTestState)) { mTestData.calTestCap(1); calBattRestCap(mTestData.testCurr, mTestData.testCap); BattMonitor_FGCD-A059NT_Four/src/com/battmonitor/data/BattStatData.java
@@ -57,6 +57,11 @@ private Date startTestTime = new Date(); private Date recordTime = new Date(); public Date newDataRecordTime = new Date(0,0,0); //new data time that get from fbs_dev; public Date dev_teststarttime = new Date(0,0,0); //当前设备目前的测试开始时间 public Date dev_teststarttime_en = new Date(0,0,0); //设备当前的测试开始时间 //public Date dataInsertToDBTime = new Date(); //data insert to database time; public int testTimeLong; public float onlineVol; @@ -203,6 +208,13 @@ } } public void updateDevTestStarttime(Date startttime) { if(null != startttime) { dev_teststarttime_en = startttime; } } public float getAvgTestCurr() { float avg_curr = 0; if(testTimeLong > 0) { BattMonitor_FGCD-A059NT_Four/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java
@@ -361,6 +361,16 @@ fboFile.clearState(); } } if(DevReadCount %12 == 0 || readCharData) { //logger.info("获取放电数据"); FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETDISCHARGEDATA); tmp_cmd.Db1 = sendlock_state_char; SocketComm(tmp_cmd, ByteBuffer.allocate(0)); tmp_cmd = null; readCharData = false; } if(DevReadCount %10 == 0 || readMonData) { //logger.info("获取单体数据"); FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETBATTDATA); @@ -370,14 +380,6 @@ readMonData = false; } if(DevReadCount %12 == 0 || readCharData) { //logger.info("获取放电数据"); FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETDISCHARGEDATA); tmp_cmd.Db1 = sendlock_state_char; SocketComm(tmp_cmd, ByteBuffer.allocate(0)); tmp_cmd = null; readCharData = false; } if(DevReadCount % 50 == 0) { //15s读取一次版本信息 @@ -1203,6 +1205,7 @@ //---------------------------------------------------------------------------// //--------------------- 接着更新当前时间 -----------------------------------------// m_RTData[n].mTestData.updateNewDataRCTime(new Date()); m_RTData[n].mTestData.updateDevTestStarttime(sys_state.test_starttime); //---------------------------------------------------------------------------// //--------------------- 先更新单体数据,再更新电池状态数据 ----------------------// m_RTData[n].updata_BattRtData_To_RamDb(); BattMonitor_FGCD-A059NT_Four/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread_SQL.java
@@ -3015,4 +3015,13 @@ sql.close_con(); } } /*public static void main(String[] args) { MysqlConnPool pool = new MysqlConnPool("192.168.10.79", 3360, 5); FGCD_VCData vc_data = new FGCD_VCData(); FGCD_StateAndParam m_pm = new FGCD_StateAndParam(); m_pm.dev_id = 805900004; queryFbs9100StateByDev_Id(pool, vc_data, m_pm); }*/ } BattMonitor_FGCD-A059NT_Four/src/com/dev/fgcd/data/FGCD_SysState.java
@@ -5,6 +5,8 @@ import java.util.Arrays; import java.util.Date; import com.battmonitor.base.Com; public class FGCD_SysState { private final int BYTE_LEN = 48; @@ -12,7 +14,7 @@ public double groupVol; //在线电压(0.1V) public double tatalVol; //总电压(0.1V) public Date nowDate; //标准时间 public Date test_starttime; //主机测试开始时间 public String chageDate; //充电时间(时:分:秒) public int test_timelong; //测试时长(分钟) public int btnState; //按键状态(0:停止 1:暂停放电 2:放电 3:暂停充电 4:充电 5:等待充电 6:等待放电) @@ -51,7 +53,7 @@ public FGCD_SysState() { groupVol = 0; //在线电压(0.1V) tatalVol = 0; //总电压(0.1V) nowDate = new Date(); //标准时间 test_starttime = new Date(); //测试开始时间 chageDate = new String(); //充电时间(时:分:秒) btnState = 0; //按键状态(0:停止 1:暂停放电 2:放电 3:暂停充电 4:充电 5:等待充电 6:等待放电) lowerCount = 0; //已到下限单体数量 @@ -117,6 +119,8 @@ int sec = FGCD_ComBase.changeByteToInt(bf.get()); //System.out.println(year+":"+month+":"+day+":"+hour+":"+min+":"+sec); String starttime_str = (year+2000)+"-"+month+"-"+day+" "+hour+":"+min+":"+sec; test_starttime = Com.getDateTimeFromStr(starttime_str, Com.DTF_YMDhms); //nowDate = Com.getDateTimeFromStr(dt, Com.DTF_YMDhms); int hour1 = FGCD_ComBase.changeByteToInt(bf.get()); int min1 = FGCD_ComBase.changeByteToInt(bf.get()); @@ -193,7 +197,7 @@ @Override public String toString() { return "FGCD_SysState [BYTE_LEN=" + BYTE_LEN + ", dev_workstate=" + dev_workstate + ", groupVol=" + groupVol + ", tatalVol=" + tatalVol + ", nowDate=" + nowDate + ", chageDate=" + chageDate + ", test_timelong=" + ", tatalVol=" + tatalVol + ", test_starttime=" + test_starttime + ", chageDate=" + chageDate + ", test_timelong=" + test_timelong + ", btnState=" + btnState + ", lowerCount=" + lowerCount + ", chargeCurr=" + chargeCurr + ", testCap=" + testCap + ", maxVolNum=" + maxVolNum + ", maxVol=" + maxVol + ", minVolNum=" + minVolNum + ", minVol=" + minVol + ", hhProgress=" + hhProgress + ", hhCount=" + hhCount