充放电一体机FGCD通信程序【二期初版】
Administrator
2022-01-19 068f8532504c56ac4d1a123da11c8c0e28df64ba
4. 修复切换电池组平台bug
2个文件已修改
61 ■■■■ 已修改文件
BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread_SQL.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java
@@ -152,6 +152,7 @@
    public void run()
    {
        FGCD_Thread_Mark = initFGCD_A059Comm();
        boolean isOnlineMode = false;
        if(FGCD_Thread_Mark) {
            //初始化当前设备信息
            
@@ -266,6 +267,7 @@
                        //设置电池组号
                        SocketComm(FGCD_ComBase.CMD_SETNOWWORKBATT, tmp_set_pm.groupCount);
                        tmp_set_pm = null;
                        isOnlineMode = true;
                    }else if(FGCD_ComBase.CMD_StartShowPic == m_StatAndParam.op_cmd) {
                        //开始显示图片
                        SocketComm(FGCD_ComBase.CMD_STARTSHOWPIC, 1);                        
@@ -274,6 +276,16 @@
                        SocketComm(FGCD_ComBase.CMD_STARTSHOWPIC, 0);
                    }
                }
                if(DevReadCount % 13 == 0 || isOnlineMode) {
                    //
                    logger.info("获取在线模块状态");
                    FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_READONLINEMODEINFO);
                    SocketComm(tmp_cmd, ByteBuffer.allocate(0));
                    tmp_cmd = null;
                    isOnlineMode = false;
                }
                /************************    清除告警      *****************************************************/
                {                    
                    int op_cmd = FGCD_SocketClient_Thread_SQL.queryClearAlarmState(m_ConnPool, m_StatAndParam);
@@ -327,13 +339,7 @@
                    tmp_cmd = null;
                }
                
                if(DevReadCount % 13 == 0) {
                    //
                    logger.info("获取在线模块状态");
                    FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_READONLINEMODEINFO);
                    SocketComm(tmp_cmd, ByteBuffer.allocate(0));
                    tmp_cmd = null;
                }
                
                DevReadCount++;
                if(DevReadCount >= 2400) {
@@ -976,6 +982,8 @@
                if(onlineInfo.putByteBuffer(bf)) {
                    logger.debug("dev_id:"+m_StatAndParam.dev_id+"\t 读取在线模块信息成功"+onlineInfo);
                    isSuccess = true;
                    FGCD_SocketClient_Thread_SQL.updateFbs9100StateOnlineMode(m_ConnPool, m_StatAndParam);
                }
            }else if(FGCD_ComBase.CMD_SETNOWWORKBATT == m_FBS_Cmd.CMD) {
                if(FGCD_ComBase.RETURN_SUCCESS == m_FBS_Cmd.RecState) {
BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread_SQL.java
@@ -1227,12 +1227,12 @@
                    + "dev_captest_cap=" + m_pm.sysState.testCap + ", "
                
                    /***
                     * 2022-01-17新增在线模块信息
                     * 2022-01-17新增在线模块信息[切换电池组后需立即读取当前状态]
                     */
                    + "dev_conresist=" + m_pm.onlineInfo.batt1_vol + ", "                //电池组1电压
                    + "dev_conresist1=" + m_pm.onlineInfo.batt2_vol + ", "                //电池组2电压
                    + "dev_onlinevollow=" + m_pm.onlineInfo.currBattNum + ", "            //当前电池组号    0->未设置;1->电池组1;2->电池组2
                    + "dev_station_poff_cnt=" + m_pm.onlineInfo.endoscopeState + ", "    //内窥镜状态  0->停止显示  1->开始显示
                    //+ "dev_conresist=" + m_pm.onlineInfo.batt1_vol + ", "                //电池组1电压
                    //+ "dev_conresist1=" + m_pm.onlineInfo.batt2_vol + ", "                //电池组2电压
                    //+ "dev_onlinevollow=" + m_pm.onlineInfo.currBattNum + ", "            //当前电池组号    0->未设置;1->电池组1;2->电池组2
                    //+ "dev_station_poff_cnt=" + m_pm.onlineInfo.endoscopeState + ", "    //内窥镜状态  0->停止显示  1->开始显示
                    
                    + "dev_data_flowsum=" + m_pm.sysState.dev_data_flowsum+ ", "
                    + "dev_commcount=" + m_pm.sysState.dev_commcount+ ", "
@@ -1257,6 +1257,35 @@
            sql.close_con();
        }
    }
    /**
     * 更新在线模块信息
     * @param con_pool
     * @param m_pm
     */
    public static void updateFbs9100StateOnlineMode(MysqlConnPool con_pool, FGCD_StateAndParam m_pm)
    {
        Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
        try {
            String sql_str_base = Sql_Mysql.FBS9100State_Table
                    + " SET "
                    /***
                     * 2022-01-17新增在线模块信息
                     */
                    + "dev_conresist=" + m_pm.onlineInfo.batt1_vol + ", "                //电池组1电压
                    + "dev_conresist1=" + m_pm.onlineInfo.batt2_vol + ", "                //电池组2电压
                    + "dev_onlinevollow=" + m_pm.onlineInfo.currBattNum + ", "            //当前电池组号    0->未设置;1->电池组1;2->电池组2
                    + "dev_station_poff_cnt=" + m_pm.onlineInfo.endoscopeState + " ";    //内窥镜状态  0->停止显示  1->开始显示
            String sql_str_update = "UPDATE " + sql_str_base + " WHERE dev_id=" + m_pm.dev_id;
            sql.sqlMysqlExecute(sql_str_update);
        } catch (SQLException e) {
            sql.logger.error("FGCD_SocketClient_Thread_SQL.updateFbs9100StateOnlineMode():" + e.toString(), e);
        } finally {
            sql.close_con();
        }
    }
    /***********************************************************************************/
    /**
     * 根据设备id更新  tb_fbs9100_state 表