定制版本逆变电源通讯程序[增加干节点状态读取和母联开关状态读取以及防雷显示]
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/comm/FBS9100_Task_Thread_SQL.java
@@ -15,6 +15,7 @@
import com.dev.btse.data.FBS9100S_NT_DCDC_Data;
import com.dev.btse.data.FBS9100S_NT_DCDC_State;
import com.dev.btse.data.FBS9100S_NiBian_Data;
import com.dev.btse.data.FBS9100S_QHZZ_FZCD_State;
import com.dev.btse.data.FBS9100S_SX_DCDC_Data;
import com.dev.btse.data.FBS9100S_SX_DCDC_Param;
import com.dev.btse.data.FBS9100S_StemNode_State;
@@ -1181,6 +1182,94 @@
         sql.close_con();
      }
   }
   /**
    * 根据设备id更新  tb_fbs9100_state 表
    * @param con_pool
    * @param v_data
    * @param dev_id
    */
   public static void updateFbs9100StateByDev_IdNew(MysqlConnPool con_pool, FBS9100_VCData vc_data, FBS9100_StatAndParam m_pm,FBS9100S_QHZZ_FZCD_State m_state)
   {
      int TestGroup_index = m_pm.m_SysState.TestGroupNum;
      if(TestGroup_index > 0) {
         TestGroup_index -= 1;
      }
      if((TestGroup_index>=FBS9100_ComBase.BattGroupCountMax) || (TestGroup_index<0)) {
         TestGroup_index = 0;
      }
      int batt_online_state = 0;
      if(true == m_pm.m_SysState.BG_1_IsOFFLine) {
         batt_online_state |= (1<<1);
      }
      if(true == m_pm.m_SysState.BG_2_IsOFFLine) {
         batt_online_state |= (1<<2);
      }
      if(true == m_pm.m_SysState.SD_Card_Err) {
         batt_online_state |= (1<<5);
      }
      String sql_str_base = Sql_Mysql.FBS9100State_Table
                  + " SET "
                  + "dev_id=" + m_pm.dev_id + ", "
                  + "dev_ip='" + m_pm.dev_ipaddr + "', "
                  + "dev_version='" + m_pm.m_DevVersion + "', "
                  + "record_datetime="
                  + "'" + Com.getDateTimeFormat(m_pm.m_SysState.Record_DateTime, Com.DTF_YMDhms) + "',"
                  + "dev_datetime='" + m_pm.m_SysState.DTime.year + "-"
                                 + m_pm.m_SysState.DTime.month + "-"
                                 + m_pm.m_SysState.DTime.day + " "
                                 + m_pm.m_SysState.DTime.hour + ":"
                                 + m_pm.m_SysState.DTime.minute + ":"
                                 + m_pm.m_SysState.DTime.second + "', "
                  + "dev_testtype=" + m_pm.m_SysState.TestType+ ", "
                  + "dev_testgroupnum=" + m_pm.m_SysState.TestGroupNum + ", "
                  + "dev_workstate=" + m_pm.m_SysState.WorkState + ", "
                  + "dev_alarmstate=" + m_pm.m_SysState.AlarmState + ", "
                  + "dev_temp=" + vc_data.batttemp[0] + ", "
                  + "dev_res_test_state=" + m_pm.m_SysState.ResTestState + ", "
                  + "dev_onlinevollow=" + (1==m_pm.m_SysState.OnlineVolLow) + ", "
                  + "dev_captest_onlinevol=" + vc_data.onlinevol[TestGroup_index] + ", "
                  + "dev_captest_groupvol=" + vc_data.groupvol[TestGroup_index] + ", "
                  + "dev_captest_curr=" + vc_data.battcurr[TestGroup_index] + ", "
                  + "dev_captest_cap=" + vc_data.battcap[TestGroup_index] + ", "
                  + "dev_conresist=" + vc_data.conresist + ", "
                  + "dev_conresist1=" + vc_data.conresist1 + ", "
                  + "dev_condvoldp=" + vc_data.condvoldp + ", "
                  + "dev_condvoldp1=" + vc_data.condvoldp1 + ", "
                  + "dev_captest_timelong=" + vc_data.testTime.getSecondCount() + ", "
                  + "dev_restest_count=" + m_pm.m_SysState.ResTestCnt + ", "
                  + "dev_restest_monindex=" + m_pm.m_SysState.ResBattIndex + ", "
                  + "dev_restest_moncount=" + m_pm.m_SysState.ResBattIndexMax + ", "
                  + "dev_data_flowsum=" + m_pm.dev_comm_data_flowsum + ", "
                  + "batt_online_state=" + batt_online_state + ", "
                  + "dev_pos_states='" + m_state.getPosStateStr() + "', "
                  + "dev_neg_states='" + m_state.getNegStateStr() + "', "
                  + "dev_commcount=" + m_pm.m_SysState.CommCount + ", "
                  + "dev_errcommcount=" + m_pm.m_SysState.ErrCommCount + ", "
                  + "dev_rxnullerrcount=" + m_pm.m_SysState.RxNullErrCount;
                  if((m_pm.m_SysState.CapTestStopType>=0) && (m_pm.m_SysState.CapTestStopType<50)) {
                     sql_str_base += ", ";
                     sql_str_base += "dev_last_captest_stop_type=" + m_pm.m_SysState.CapTestStopType;
                  }
      String sql_str_replace = "REPLACE INTO " + sql_str_base;
      //String sql_str_update = "UPDATE " + Sql_Mysql.FBS9100State_Table + " SET dev_data_flowsum=dev_data_flowsum+"
      //                  + v_data.dev_comm_data_flowsum + " WHERE dev_id=" + m_pm.dev_id;
      Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
      try {
         //sql.logger.debug(sql_str);
         sql.sqlMysqlExecute(sql_str_replace);
      } catch (SQLException e) {
         // TODO Auto-generated catch block
         sql.logger.error("FBS9100_Task_Thread_SQL.updateFbs9100StateByDev_Id():" + e.toString(), e);
      } finally {
         sql.close_con();
      }
   }
   /***********************************************************************************/
   /*
   public static void updateFbs9100State_ResTestCNT_ByDev_Id(MysqlConnPool con_pool, FBS9100_StatAndParam m_pm)