whyclj
2020-06-11 6bc39a88c55277a54e4a5e9bd822c25accbeb353
61850设备添加设备异常核容终止告警
3个文件已修改
52 ■■■■ 已修改文件
BattMonitor_FBS9100S_Alarm/src/com/battalarm/DeviceAlarm_Thread_New.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Alarm/src/com/battalarm/FBS9100_DevData.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Alarm/src/com/version_inf/version_inf.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Alarm/src/com/battalarm/DeviceAlarm_Thread_New.java
@@ -46,10 +46,12 @@
    public final static int ALM_TYPE_BTS61850_HIGTMP_Error_ID         = 618503;            //设备过温告警
    public final static int ALM_TYPE_BTS61850_DIODE_Error_ID         = 618504;            //二极管D1告警
    public final static int ALM_TYPE_BTS61850_DRYCONTACT_Error_ID     = 618505;            //干接点告警
    public final static int ALM_TYPE_BTS61850_TEST_ERROR_ID         = 618506;            //测试异常停止
    
    public final static int ALM_BTS_TMP_HIGHT_VALUE = 50;                            //设备温度告警
    public final static int ALM_BTS_CURR_MAX_VALUE = 3;                                //辨别采集线告警时的最大有效电流
    public final static float ALM_BTS_VOL_SPACING = 0.5f;                            //判断累计和电压和组端电压差距的值
    public final static float ALM_BTS_VOL_SPACING = 1.5f;                            //判断累计和电压和组端电压差距的值
    
    public final static float ALM_DEVICE_DEFAULT_VALUE= 0.0f;                        //设备告警默认告警值
    
@@ -310,7 +312,7 @@
        List<FBS9100_DevData> list = new ArrayList<FBS9100_DevData>();
        try {
            sql.sqlMysqlUseDB(Sql_Mysql.DB_RamDB);
            String sql_str = "  SELECT dev_id,dev_ip,record_datetime,dev_temp,dev_61850alarms,dev_batt_xuhang_tlong,dev_station_poff_tlong,dev_station_poff_cnt "
            String sql_str = "  SELECT dev_id,dev_ip,record_datetime,dev_temp,dev_61850alarms,dev_batt_xuhang_tlong,dev_station_poff_tlong,dev_station_poff_cnt,dev_last_captest_stop_type "
                            +"    FROM " + Sql_Mysql.FBS9100State_Table +"," + Sql_Mysql.BattInf_Table
                            +"  WHERE tb_fbs9100_state.dev_id = tb_battinf.FBSDeviceId ";
            //System.out.println("sql_str: "+sql_str);
@@ -323,6 +325,7 @@
                fbs9100_devdata.setAlarms(rs.getString("dev_61850alarms"));
                fbs9100_devdata.setContiPowerLong(rs.getFloat("dev_batt_xuhang_tlong"));
                fbs9100_devdata.setCutPowerLong(rs.getFloat("dev_station_poff_tlong"));    
                fbs9100_devdata.setDev_last_captest_stop_type(rs.getInt("dev_last_captest_stop_type"));
                fbs9100_devdata.setDev_temp(rs.getFloat("dev_temp"));
                list.add(fbs9100_devdata);
            }
@@ -526,7 +529,7 @@
                        //判断当前设备是否是61850设备
                        if(dev_id/10000 != 61850) {
                            //设备温度告警
                            /*FBS9100_DevData tmpalarm = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id,DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_TMPHIGHT_ID);
                            FBS9100_DevData tmpalarm = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id,DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_TMPHIGHT_ID);
                            if((tmpalarm == null || 1 == tmpalarm.alm_cleared_type) && dev.getDev_temp() > ALM_BTS_TMP_HIGHT_VALUE) {
                                long RecId = UUID.randomUUID().getLeastSignificantBits();
                                if(0 == RecId) {
@@ -543,7 +546,7 @@
                            
                            
                            //设备SD卡告警
                            FBS9100_DevData SDlastalarm = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id,DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_SDERROR_ID);
                            /*FBS9100_DevData SDlastalarm = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id,DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_SDERROR_ID);
                            FBS9100_DevData SDalarm = searchDevSDError(m_Conn_Pool,dev);
                            if((SDlastalarm == null || 1 == SDlastalarm.alm_cleared_type) && SDalarm.isAlarm) {
                                long RecId = UUID.randomUUID().getLeastSignificantBits();
@@ -556,7 +559,7 @@
                                if(SDlastalarm != null && !SDalarm.isAlarm) {
                                    makeRealAlarmToHistoryAlarm(m_Conn_Pool,list.get(i),DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_SDERROR_ID);            //将实时告警记录变成历史告警记录
                                }
                            }
                            }*/
                            
                            //采集线告警
                            FBS9100_DevData collectlastalarm = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id,DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_COLLECTERROR_ID);            //查询当前设备之前是否存在采集线告警
@@ -572,12 +575,12 @@
                                if(collectlastalarm != null && collectalarm != null && !collectalarm.isAlarm) {
                                    makeRealAlarmToHistoryAlarm(m_Conn_Pool,list.get(i),DeviceAlarm_Thread_New.ALM_TYPE_FBS9100_COLLECTERROR_ID);            //将实时告警记录变成历史告警记录
                                }
                            }*/
                            }
                            
                
                            
                        }else{
                            //61850设备告警
                            //61850设备告警[设备通讯告警,K告警,D告警,过温告警,干接点告警]
                            for(int k=0;k<ALM_BTS61851_TYPEIDS.length;k++){
                                FBS9100_DevData dev61850Data = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id , ALM_BTS61851_TYPEIDS[k]);
                                if((dev61850Data == null || dev61850Data.RecId == 0) && (dev.alarms_Flag.length >= ALM_BTS61851_TYPEIDS.length) && (("true").equals(dev.alarms_Flag[k].trim()))){
@@ -593,9 +596,26 @@
                                        //System.out.println("dev_id:"+dev.dev_id+"\t alm_type:"+ALM_BTS61851_TYPEIDS[k]);
                                        makeRealAlarmToHistoryAlarm(m_Conn_Pool,list.get(i),ALM_BTS61851_TYPEIDS[k]);            //将实时告警记录变成历史告警记录
                                    }
                                }
                                }
                            }
                            //核容异常终止时触发异常停止告警,并插入对应设备告警值
                            FBS9100_DevData dev61850Data = DeviceAlarm_Thread_New.judgedevidInorNo(m_Conn_Pool, dev_id , ALM_TYPE_BTS61850_TEST_ERROR_ID);
                            if((dev61850Data == null || dev61850Data.RecId == 0) && (dev.getDev_last_captest_stop_type()>13) ){
                                long myrecId = UUID.randomUUID().getLeastSignificantBits();
                                if(0 == myrecId) {
                                    myrecId = UUID.randomUUID().getLeastSignificantBits();
                                }
                                //System.err.println("出现新告警,dev_id:"+list.get(i).dev_id+":\t"+k);
                                DeviceAlarm_Thread_New.insertOrUpdateDevAlarmToTable(m_Conn_Pool, myrecId, dev_id, dev_ip,
                                        ALM_TYPE_BTS61850_TEST_ERROR_ID,FIRST_ALM_LEVEL,dev.getDev_last_captest_stop_type(), true);
                            }else{
                                if((dev61850Data != null && dev61850Data.RecId != 0) && (dev.getDev_last_captest_stop_type() <= 13)){
                                    //System.out.println("dev_id:"+dev.dev_id+"\t alm_type:"+ALM_BTS61851_TYPEIDS[k]);
                                    makeRealAlarmToHistoryAlarm(m_Conn_Pool,list.get(i),ALM_TYPE_BTS61850_TEST_ERROR_ID);            //将实时告警记录变成历史告警记录
                                }
                            }
                        }
                    }
                }    
BattMonitor_FBS9100S_Alarm/src/com/battalarm/FBS9100_DevData.java
@@ -21,6 +21,7 @@
    public String alarms;                    //61850设备告警
    public boolean isAlarm;                    //是否包含61850的设备告警
    public String[] alarms_Flag;            //告警状态
    public int dev_last_captest_stop_type;    //上一次核容终止原因
    
    public FBS9100_DevData() {
        super();
@@ -101,6 +102,15 @@
            this.xuhang_alm_level = 0;
        }
    }
    public int getDev_last_captest_stop_type() {
        return dev_last_captest_stop_type;
    }
    public void setDev_last_captest_stop_type(int dev_last_captest_stop_type) {
        this.dev_last_captest_stop_type = dev_last_captest_stop_type;
    }
    public float getContiPowerLong() {
        return contiPowerLong;
    }
BattMonitor_FBS9100S_Alarm/src/com/version_inf/version_inf.txt
@@ -151,4 +151,8 @@
    
V2.204 edit at date 2020-06-09 lijun
    1.设备告警中添加干接点告警
V2.205 edit at date 2020-06-11 lijun
    1.61850设备添加设备告警-核容异常停止告警