whyclj
2020-09-28 e23ca11a5424f723ba6d1fd5e3e76bea8a332b9d
BattMonitor_FBS9600SMore/src/com/battmonitor/data/BattData_RT.java
@@ -1,5 +1,6 @@
package com.battmonitor.data;
import java.util.ArrayList;
import java.util.Calendar;
import com.battmonitor.base.AppParam;
import com.battmonitor.base.ComBase;
@@ -58,6 +59,9 @@
   
   public BattStatData  mTestData;
   
   public BattAlarmParam m_AlarmParam = new BattAlarmParam();
   public BattAlarmParam m_BattAlarmParam = new BattAlarmParam();
   private int mCommTimeCoutCount = 0;
   public int mMaxMonNum = 0;
   public float mMaxMonVol = 0;
@@ -86,6 +90,65 @@
      
      initTestDataSaveRunable();
   }
   public void initAlarmParam(int dt_count_max, BattAlarmParam alm_param)
   {
      /***********************************************************************************/
//      float std_group_vol = MonStdVol * MonCount;
//      alm_param.setAlarmParamCellValue(std_group_vol, m_AlarmParam.alm_OnlineVol, alm_param.alm_OnlineVol);
//      alm_param.setAlarmParamCellValue(std_group_vol, m_AlarmParam.alm_GroupVol, alm_param.alm_GroupVol);
      /***********************************************************************************/
//      float std_curr = MonStdCap / 10;
//      alm_param.setAlarmParamCellValue(std_curr, m_AlarmParam.alm_BattChargeCurr, alm_param.alm_BattChargeCurr);
//      alm_param.setAlarmParamCellValue(std_curr, m_AlarmParam.alm_BattDisChargeCurr, alm_param.alm_BattDisChargeCurr);
      /***********************************************************************************/
      //float std_monvol = MonStdVol;
      float std_monvol = 1;
      alm_param.setAlarmParamCellValue(std_monvol, m_AlarmParam.alm_MonVol, alm_param.alm_MonVol);
      //alm_param.setAlarmParamCellValue(std_monvol, m_AlarmParam.alm_DischargeMonVol, alm_param.alm_DischargeMonVol);
      //float std_montmp = 25;
      float std_montmp = 1;
      alm_param.setAlarmParamCellValue(std_montmp, m_AlarmParam.alm_MonTmp, alm_param.alm_MonTmp);
      //float std_monres = (1*(MonStdVol/2)) / (MonStdCap/100);
      float std_monres = 1;
      alm_param.setAlarmParamCellValue(std_monres, m_AlarmParam.alm_MonRes, alm_param.alm_MonRes);
//      float std_connres = (float) 0.2;
//      alm_param.setAlarmParamCellValue(std_connres, m_AlarmParam.alm_ConnRes, alm_param.alm_ConnRes);
      //TestData.initAlarmData(dt_count_max, BattGroupId, m_AlarmParam);
      for(int n=0; n<al_MonVol.size(); n++)
      {
         al_MonVol.get(n).initAlarmData(dt_count_max, BattGroupId, n+1, m_AlarmParam);
      }
   }
   /**
    * 检查TestData对象是否满足告警条件
    * @return   满足告警条件的BattAlarmData对象集合
    */
   public ArrayList<BattAlarmData> makeAlarmData()
   {
      ArrayList<BattAlarmData> al_alm_data = new ArrayList<BattAlarmData>();
      //Date timetime = new Date(100,0,1);
      Calendar c = Calendar.getInstance();
      c.set(2000, 0, 1, 0, 0, 0);
//      if(TestData.recordTime.before(c.getTime())){
//         //System.out.println(Com.getDateTimeFormat(TestData.recordTime, Com.DTF_YMDhms)+"<"+Com.getDateTimeFormat(timetime, Com.DTF_YMDhms));
//         return al_alm_data;
//      }
      //判断设备是否通讯正常,通讯不正常则部检测电池组告警
      for(int n=0; n<al_MonVol.size(); n++)
      {
         MonVolData vol_data = al_MonVol.get(n);
         vol_data.monVol_AlarmData.makeAlarmData(al_alm_data, m_AlarmParam.alm_MonVol, vol_data.monVol);
         vol_data.monTmp_AlarmData.makeAlarmData(al_alm_data, m_AlarmParam.alm_MonTmp, vol_data.monTmp);
         vol_data.monRes_AlarmData.makeAlarmData(al_alm_data, m_AlarmParam.alm_MonRes, vol_data.monRes);
      }
      return al_alm_data;
   }
   /*********************************************************************************/
   public void initTestDataSaveRunable() {
      if(null != m_Conn_Pool) {