whyclxw
2021-10-18 ba1b39b4acc0b89fad9ce9f3bfb475d35ea047cb
fg平台重构电池告警模块第一次提交
5个文件已添加
5个文件已修改
849 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/BattalarmDataController.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/AlarmDaoFactory.java 443 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/paramter/AlarmPar.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/result/AlarmNumberRes.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/result/AlarmRes.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/result/AlarmStaticRes.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattalarmDataMapper.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/BattalarmData.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattalarmDataService.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattalarmDataMapper.xml 113 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BattalarmDataController.java
@@ -3,6 +3,10 @@
import com.whyc.dto.Batt_Maint_Dealarm;
import com.whyc.dto.Page;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.AlarmPar;
import com.whyc.dto.result.AlarmNumberRes;
import com.whyc.dto.result.AlarmRes;
import com.whyc.dto.result.AlarmStaticRes;
import com.whyc.pojo.BattalarmData;
import com.whyc.service.BattalarmDataService;
import io.swagger.annotations.Api;
@@ -31,16 +35,35 @@
    public Response<List<BattalarmData>> getAllByPage(@RequestBody Page page){
        return service.getAllByPage(page);
    }
    //测试
    public Response<List<Batt_Maint_Dealarm>> test(@RequestBody BattalarmData battalarmData){
        return service.test(battalarmData);
    }
    @PostMapping("/serchByCondition")
    @ApiOperation(value = "电池告警实时查询")
    public Response<List<Batt_Maint_Dealarm>> serchByCondition(@RequestBody Batt_Maint_Dealarm bmd){
        return service.serchByCondition(bmd);
    @ApiOperation(value = "电池告警实时记录查询")
    public Response<List<AlarmRes>> serchByCondition(@RequestBody AlarmPar par){
        return service.serchByCondition(par);
    }
    @PostMapping("/serchByInfo")
    @ApiOperation(value = "电池告警历史记录查询")
    public Response<List<Batt_Maint_Dealarm>> serchByInfo(@RequestBody BattalarmData battalarmData){
        return service.serchByInfo(battalarmData);
    public Response<List<AlarmRes>> serchByInfo(@RequestBody AlarmPar par){
        return service.serchByInfo(par);
    }
    @PostMapping("/serchAlm")
    @ApiOperation(value = "查询实时告警数")
    public Response<AlarmNumberRes> serchAlm(@RequestBody AlarmPar par){
        return service.serchAlm(par);
    }
    @PostMapping("/cancelalarm")
    @ApiOperation(value = "取消告警")
    public Response cancelalarm(@RequestBody BattalarmData adata){
        return service.cancelalarm(adata);
    }
    @PostMapping("/cancelalarmPro")
    @ApiOperation(value = "批量取消告警")
    public Response cancelalarmPro(@RequestBody List<BattalarmData> list){
        return service.cancelalarmPro(list);
    }
}
src/main/java/com/whyc/dto/AlarmDaoFactory.java
New file
@@ -0,0 +1,443 @@
package com.whyc.dto;
public class AlarmDaoFactory {
    public static final int Alarm_All =0;                //--全部
    public static final int Alarm_vol_Online =119001;    //--在线电压
    public static final int Alarm_vol_Group =119002;     //--组端电压
    public static final int Alarm_curr_Charge =119003;   //--充电电流
    public static final int Alarm_curr_Discharge =119004;//--放电电流
    public static final int Alarm_vol_Monomer =119005;   //--单体电压
    public static final int Alarm_tmp_Monomer =119006;   //--单体温度
    public static final int Alarm_res_Monomer =119007;   //--单体内阻
    public static final int Alarm_res_Conn =119008;      //--连接条阻抗
    public final static int ALM_TYPE_DisChargeMonVol_ID = 119009; //--放电过程中落后单体告警
    public static final int Alarm_CapAlarm =119010;      //--容量告警告警
    public static final int Alarm_CapChange =119011;      //--容量更换告警
    public final static int ALM_TYPE_MONLYVOL_ID = 119012;       //漏液电压告警
    public final static int ALM_SIGNAL_ID_Null = 0;
    public final static int ALM_SIGNAL_ID_OnlineVolHigh = 1;
    public final static int ALM_SIGNAL_ID_OnlineVolLow = 2;
    public final static int ALM_SIGNAL_ID_GroupVolHigh = 3;
    public final static int ALM_SIGNAL_ID_GroupVolLow = 4;
    public final static int ALM_SIGNAL_ID_ChargeCurrHigh = 5;
    public final static int ALM_SIGNAL_ID_ChargeCurrLow = 6;
    public final static int ALM_SIGNAL_ID_DisChargeCurrHigh = 7;
    public final static int ALM_SIGNAL_ID_DisChargeCurrLow = 8;
    public final static int ALM_SIGNAL_ID_MonVolHigh = 9;
    public final static int ALM_SIGNAL_ID_MonVolLow = 10;
    public final static int ALM_SIGNAL_ID_MonTmpHigh = 11;
    public final static int ALM_SIGNAL_ID_MonTmpLow = 12;
    public final static int ALM_SIGNAL_ID_MonResHigh = 13;
    public final static int ALM_SIGNAL_ID_MonResLow = 14;
    public final static int ALM_SIGNAL_ID_ConnResHigh = 15;
    public final static int ALM_SIGNAL_ID_ConnResLow = 16;
    public final static int ALM_SIGNAL_ID_DischargeMonVolHigh = 17;
    public final static int ALM_SIGNAL_ID_DischargeMonVolLow = 18;
    public static final int Alarm_IGNAL_ID_CapAlarmLow =19;
    public static final int Alarm_IGNAL_ID_CapAlarmHigh =20;
    public static final int Alarm_IGNAL_ID_CapChangeLow =21;
    public static final int Alarm_IGNAL_ID_CapChangeHigh =22;
    /**电源告警 */
    public static final int acIn1_over_volA            =110001;
    public static final int acIn1_under_volA        =110002;
    public static final int acIn1_less_A            =110003;
    public static final int acIn1_over_volB            =110004;
    public static final int acIn1_under_volB        =110005;
    public static final int acIn1_less_B            =110006;
    public static final int acIn1_over_volC            =110007;
    public static final int acIn1_under_volC        =110008;
    public static final int acIn1_less_C            =110009;
    public static final int acIn1_powerdown            =110010;
    public static final int acIn1_thunder_err        =110011;
    public static final int dcOut_over_vol            =110012;
    public static final int dcOut_under_vol            =110013;
    public static final int loader_fuse                =110014;
    public static final int battgroup1_fuse            =110015;
    public static final int battgroup2_fuse            =110016;
    public static final int acdcMod1_err            =110017;
    public static final int acdcMod2_err            =110018;
    public static final int acdcMod3_err            =110019;
    public static final int acdcMod4_err            =110020;
    public static final int acdcMod5_err            =110021;
    public static final int acdcMod6_err            =110022;
    public static final int acdcMod7_err            =110023;
    public static final int acdcMod8_err            =110024;
    public static final int acdcMod9_err            =110025;
    public static final int acdcMod10_err            =110026;
    public static final int acdcMod11_err            =110027;
    public static final int acdcMod12_err            =110028;
    public static final int acdcMod13_err            =110029;
    public static final int acdcMod14_err            =110030;
    public static final int acdcMod15_err            =110031;
    public static final int acdcMod16_err            =110032;
    public static final int acIn_total_alarm        =110033;
    public static final int dcOut_total_alarm        =110034;
    public static final int acb1_over_currA            =110035;
    public static final int acb1_over_currB            =110036;
    public static final int acb1_over_currC            =110037;
    public static final int acIn_monitorerr            =110038;
    public static final int dcOut_over_curr            =110039;
    public static final int total_alarm                =110040;
    public static final int battgroup1_volLow        =110041;
    public static final int battgroup2_volLow        =110042;
    public static final int battgroup1_down            =110043;
    public static final int battgroup2_down            =110044;
    public static final int battgroup1_overChgCurr    =110045;
    public static final int battgroup2_overChgCurr    =110046;
    public static final int acdcMod1_overVol        =110047;
    public static final int acdcMod2_overVol        =110048;
    public static final int acdcMod3_overVol        =110049;
    public static final int acdcMod4_overVol        =110050;
    public static final int acdcMod5_overVol        =110051;
    public static final int acdcMod6_overVol        =110052;
    public static final int acdcMod7_overVol        =110053;
    public static final int acdcMod8_overVol        =110054;
    public static final int acdcMod9_overVol        =110055;
    public static final int acdcMod10_overVol        =110056;
    public static final int acdcMod11_overVol        =110057;
    public static final int acdcMod12_overVol        =110058;
    public static final int acdcMod13_overVol        =110059;
    public static final int acdcMod14_overVol        =110060;
    public static final int acdcMod15_overVol        =110061;
    public static final int acdcMod16_overVol        =110062;
    public static final int acdcMod1_underVol        =110063;
    public static final int acdcMod2_underVol        =110064;
    public static final int acdcMod3_underVol        =110065;
    public static final int acdcMod4_underVol        =110066;
    public static final int acdcMod5_underVol        =110067;
    public static final int acdcMod6_underVol        =110068;
    public static final int acdcMod7_underVol        =110069;
    public static final int acdcMod8_underVol        =110070;
    public static final int acdcMod9_underVol        =110071;
    public static final int acdcMod10_underVol        =110072;
    public static final int acdcMod11_underVol        =110073;
    public static final int acdcMod12_underVol        =110074;
    public static final int acdcMod13_underVol        =110075;
    public static final int acdcMod14_underVol        =110076;
    public static final int acdcMod15_underVol        =110077;
    public static final int acdcMod16_underVol        =110078;
    public static final int acdcMod1_overCurr        =110079;
    public static final int acdcMod2_overCurr        =110080;
    public static final int acdcMod3_overCurr        =110081;
    public static final int acdcMod4_overCurr        =110082;
    public static final int acdcMod5_overCurr        =110083;
    public static final int acdcMod6_overCurr        =110084;
    public static final int acdcMod7_overCurr        =110085;
    public static final int acdcMod8_overCurr        =110086;
    public static final int acdcMod9_overCurr        =110087;
    public static final int acdcMod10_overCurr        =110088;
    public static final int acdcMod11_overCurr        =110089;
    public static final int acdcMod12_overCurr        =110090;
    public static final int acdcMod13_overCurr        =110091;
    public static final int acdcMod14_overCurr        =110092;
    public static final int acdcMod15_overCurr        =110093;
    public static final int acdcMod16_overCurr        =110094;
    public static final int acdcMod1_acErr            =110095;
    public static final int acdcMod2_acErr            =110096;
    public static final int acdcMod3_acErr            =110097;
    public static final int acdcMod4_acErr            =110098;
    public static final int acdcMod5_acErr            =110099;
    public static final int acdcMod6_acErr            =110100;
    public static final int acdcMod7_acErr            =110101;
    public static final int acdcMod8_acErr            =110102;
    public static final int acdcMod9_acErr            =110103;
    public static final int acdcMod10_acErr            =110104;
    public static final int acdcMod11_acErr            =110105;
    public static final int acdcMod12_acErr            =110106;
    public static final int acdcMod13_acErr            =110107;
    public static final int acdcMod14_acErr            =110108;
    public static final int acdcMod15_acErr            =110109;
    public static final int acdcMod16_acErr            =110110;
    public static final int acIn1_trip                =110111;
    public static final int acIn2_trip                =110112;
    public static final int acIn1_fuse                =110113;
    public static final int acIn2_fuse                =110114;
    public static final int acIn1_unbanlance        =110115;
    public static final int acIn2_unbanlance        =110116;
    public static final int acIn1_freqerr            =110117;
    public static final int acIn2_freqerr            =110118;
    public static final int comm_err                =110119;
    public static final int powerdev_commErr    = 110120;
    public static final int userAcIn1_PowerDown    = 110121;
    public static final int userAcIn2_PowerDown    = 110122;
    public static final int userAcIn1_CommErr    = 110123;
    public static final int userAcIn2_CommErr    = 110124;
    public static final int temp_CommErr1        = 110125;
    public static final int temp_CommErr2        = 110126;
    public static final int temp_CommErr3        = 110127;
    public static final int humi_CommErr1        = 110128;
    public static final int humi_CommErr2        = 110129;
    public static final int humi_CommErr3        = 110130;
    public static final int smoke_Alarm1        = 110131;
    public static final int smoke_Alarm2        = 110132;
    public static final int smoke_Alarm3        = 110133;
    public static final int smoke_CommErr1        = 110134;
    public static final int smoke_CommErr2        = 110135;
    public static final int smoke_CommErr3        = 110136;
    public static String getAlarmName(int type)
    {
        String Alarm_name = "未知";
        switch(type)                       //告警名称
        {
             case 1 :  Alarm_name = "在线电压高";break;
             case 2 :  Alarm_name = "在线电压低"; break;
             case 3 :  Alarm_name = "组端电压高";break;
             case 4 :  Alarm_name = "组端电压低"; break;
             case 5 :  Alarm_name = "充电电流大";break;
             case 6 :  Alarm_name = "充电电流低"; break;
             case 7 :  Alarm_name = "放电电流大";break;
             case 8 :  Alarm_name = "放电电流低"; break;
             case 9 :  Alarm_name = "单体电压高";break;
             case 10 : Alarm_name = "单体电压低"; break;
             case 11 : Alarm_name = "单体温度高";break;
             case 12 : Alarm_name = "单体温度低";break;
             case 13 : Alarm_name = "单体内阻高";break;
             case 14 : Alarm_name = "单体内阻低"; break;
             case 15 : Alarm_name = "连接条阻抗高";break;
             case 16 : Alarm_name = "连接条阻抗低"; break;
             case 17 : Alarm_name = "放电单体电压高";break;
             case 18 : Alarm_name = "放电单体电压低";break;
             case 19 : Alarm_name = "容量告警容量低";break;
             case 20 : Alarm_name = "容量告警容量高";break;
             case 21 : Alarm_name = "容量更换容量低";break;
             case 22 : Alarm_name = "容量更换容量高";break;
             case 23 : Alarm_name = "电池正极漏液";break;
             case 24 : Alarm_name = "电池负极漏液 ";break;
        }
        return Alarm_name;
    }
    public static String getAlarmType(int type){
        String Alarm_Type = "未知";
        switch (type) {
        case 1:  Alarm_Type="一级告警";break;
        case 2:  Alarm_Type="二级告警";break;
        case 3:  Alarm_Type="三级告警";break;
        case 4:  Alarm_Type="四级告警";break;
        case 5:  Alarm_Type="五级告警";break;
        case 6:  Alarm_Type="六级告警";break;
        case 7:  Alarm_Type="七级告警";break;
        case 8:  Alarm_Type="八级告警";break;
        case 9:  Alarm_Type="九级告警";break;
        case 10: Alarm_Type="十级告警";break;
        }
        return Alarm_Type;
    }
    public static String getdevName(int type)
    {
        String dev_name = "未知";
        switch(type)                       //告警名称
        {
            case 119020 :  dev_name = "通讯故障";break;
            case 618501 :     dev_name = "继电器告警";break;
            case 618502 :     dev_name = "通讯告警";break;
            case 618503 :     dev_name = "设备过温告警";break;
            case 618504 :     dev_name = "二极管D1告警";break;
            case 119028 :  dev_name = "设备高温告警";break;
            case 119032 :  dev_name = "设备SD卡故障";break;
            case 119033 :  dev_name = "采集线告警";break;
        }
        return dev_name;
    }
    /**
     * 设备alm_type和电池alm_signal_id,电源告警的alarmType获取对应的告警类型
     * @param type
     * @return
     */
    public static String getAllAlarmName(int type)
    {
        String Alarm_name = "未知";
        switch(type)                       //告警名称
        {
            //电池告警
            case 1 :  Alarm_name = "在线电压高";break;
            case 2 :  Alarm_name = "在线电压低"; break;
            case 3 :  Alarm_name = "组端电压高";break;
            case 4 :  Alarm_name = "组端电压低"; break;
            case 5 :  Alarm_name = "充电电流大";break;
            case 6 :  Alarm_name = "充电电流低"; break;
            case 7 :  Alarm_name = "放电电流大";break;
            case 8 :  Alarm_name = "放电电流低"; break;
            case 9 :  Alarm_name = "单体电压高";break;
            case 10 : Alarm_name = "单体电压低"; break;
            case 11 : Alarm_name = "单体温度高";break;
            case 12 : Alarm_name = "单体温度低";break;
            case 13 : Alarm_name = "单体内阻高";break;
            case 14 : Alarm_name = "单体内阻低"; break;
            case 15 : Alarm_name = "连接条阻抗高";break;
            case 16 : Alarm_name = "连接条阻抗低"; break;
            case 17 : Alarm_name = "放电单体电压高";break;
            case 18 : Alarm_name = "放电单体电压低";break;
            case 19 : Alarm_name = "容量告警容量低";break;
            case 20 : Alarm_name = "容量告警容量高";break;
            case 21 : Alarm_name = "容量更换容量低";break;
            case 22 : Alarm_name = "容量更换容量高";break;
            case 23 : Alarm_name = "漏液电压高";break;
            case 24 : Alarm_name = "漏液电压低 ";break;
            //设备告警
            case 119020 : Alarm_name = "通讯故障";break;
            case 618501 : Alarm_name = "继电器告警";break;
            case 618502 : Alarm_name = "通讯告警";break;
            case 618503 : Alarm_name = "设备过温告警";break;
            case 618504 : Alarm_name = "二极管D1告警";break;
            case 119028 : Alarm_name = "设备高温告警";break;
            case 119032 : Alarm_name = "设备SD卡故障";break;
            case 119033 : Alarm_name = "采集线告警";break;
            //电源告警
            case acIn1_over_volA: Alarm_name ="交流A相过压";break;
            case acIn1_under_volA: Alarm_name ="交流A相欠压";break;
            case acIn1_less_A: Alarm_name ="交流A相缺相";break;
            case acIn1_over_volB: Alarm_name ="交流B相过压";break;
            case acIn1_under_volB: Alarm_name ="交流B相欠压";break;
            case acIn1_less_B: Alarm_name ="交流B相缺相";break;
            case acIn1_over_volC: Alarm_name ="交流C相过压";break;
            case acIn1_under_volC: Alarm_name ="交流C相欠压";break;
            case acIn1_less_C: Alarm_name ="交流C相缺相";break;
            case acIn1_powerdown: Alarm_name ="交流停电";break;
            case acIn1_thunder_err: Alarm_name ="防雷器故障";break;
            case dcOut_over_vol: Alarm_name ="直流电压过高";break;
            case dcOut_under_vol: Alarm_name ="直流电压过低";break;
            case loader_fuse: Alarm_name ="负载熔断";break;
            case battgroup1_fuse: Alarm_name ="电池组1熔断";break;
            case battgroup2_fuse: Alarm_name ="电池组2熔断";break;
            case acdcMod1_err: Alarm_name ="整流器1总故障";break;
            case acdcMod2_err: Alarm_name ="整流器2总故障";break;
            case acdcMod3_err: Alarm_name ="整流器3总故障";break;
            case acdcMod4_err: Alarm_name ="整流器4总故障";break;
            case acdcMod5_err: Alarm_name ="整流器5总故障";break;
            case acdcMod6_err: Alarm_name ="整流器6总故障";break;
            case acdcMod7_err: Alarm_name ="整流器7总故障";break;
            case acdcMod8_err: Alarm_name ="整流器8总故障";break;
            case acdcMod9_err: Alarm_name ="整流器9总故障";break;
            case acdcMod10_err: Alarm_name ="整流器10总故障";break;
            case acdcMod11_err: Alarm_name ="整流器11总故障";break;
            case acdcMod12_err: Alarm_name ="整流器12总故障";break;
            case acdcMod13_err: Alarm_name ="整流器13总故障";break;
            case acdcMod14_err: Alarm_name ="整流器14总故障";break;
            case acdcMod15_err: Alarm_name ="整流器15总故障";break;
            case acdcMod16_err: Alarm_name ="整流器16总故障";break;
            case acIn_total_alarm: Alarm_name ="交流总故障";break;
            case dcOut_total_alarm: Alarm_name ="直流总故障";break;
            case acb1_over_currA: Alarm_name ="交流A相过流";break;
            case acb1_over_currB: Alarm_name ="交流B相过流";break;
            case acb1_over_currC: Alarm_name ="交流C相过流";break;
            case acIn_monitorerr: Alarm_name ="监控器故障";break;
            case dcOut_over_curr: Alarm_name ="直流过流";break;
            case total_alarm: Alarm_name ="开关柜总报警";break;
            case battgroup1_volLow: Alarm_name ="电池组1电压低";break;
            case battgroup2_volLow: Alarm_name ="电池组2电压低";break;
            case battgroup1_down: Alarm_name ="电池组1下电";break;
            case battgroup2_down: Alarm_name ="电池组2下电";break;
            case battgroup1_overChgCurr: Alarm_name ="电池组1充电过流";break;
            case battgroup2_overChgCurr: Alarm_name ="电池组2充电过流";break;
            case acdcMod1_overVol: Alarm_name ="整流器1过压";break;
            case acdcMod2_overVol: Alarm_name ="整流器2过压";break;
            case acdcMod3_overVol: Alarm_name ="整流器3过压";break;
            case acdcMod4_overVol: Alarm_name ="整流器4过压";break;
            case acdcMod5_overVol: Alarm_name ="整流器5过压";break;
            case acdcMod6_overVol: Alarm_name ="整流器6过压";break;
            case acdcMod7_overVol: Alarm_name ="整流器7过压";break;
            case acdcMod8_overVol: Alarm_name ="整流器8过压";break;
            case acdcMod9_overVol: Alarm_name ="整流器9过压";break;
            case acdcMod10_overVol: Alarm_name ="整流器10过压";break;
            case acdcMod11_overVol: Alarm_name ="整流器11过压";break;
            case acdcMod12_overVol: Alarm_name ="整流器12过压";break;
            case acdcMod13_overVol: Alarm_name ="整流器13过压";break;
            case acdcMod14_overVol: Alarm_name ="整流器14过压";break;
            case acdcMod15_overVol: Alarm_name ="整流器15过压";break;
            case acdcMod16_overVol: Alarm_name ="整流器16过压";break;
            case acdcMod1_underVol: Alarm_name ="整流器1欠压";break;
            case acdcMod2_underVol: Alarm_name ="整流器2欠压";break;
            case acdcMod3_underVol: Alarm_name ="整流器3欠压";break;
            case acdcMod4_underVol: Alarm_name ="整流器4欠压";break;
            case acdcMod5_underVol: Alarm_name ="整流器5欠压";break;
            case acdcMod6_underVol: Alarm_name ="整流器6欠压";break;
            case acdcMod7_underVol: Alarm_name ="整流器7欠压";break;
            case acdcMod8_underVol: Alarm_name ="整流器8欠压";break;
            case acdcMod9_underVol: Alarm_name ="整流器9欠压";break;
            case acdcMod10_underVol: Alarm_name ="整流器10欠压";break;
            case acdcMod11_underVol: Alarm_name ="整流器11欠压";break;
            case acdcMod12_underVol: Alarm_name ="整流器12欠压";break;
            case acdcMod13_underVol: Alarm_name ="整流器13欠压";break;
            case acdcMod14_underVol: Alarm_name ="整流器14欠压";break;
            case acdcMod15_underVol: Alarm_name ="整流器15欠压";break;
            case acdcMod16_underVol: Alarm_name ="整流器16欠压";break;
            case acdcMod1_overCurr: Alarm_name ="整流器1过流";break;
            case acdcMod2_overCurr: Alarm_name ="整流器2过流";break;
            case acdcMod3_overCurr: Alarm_name ="整流器3过流";break;
            case acdcMod4_overCurr: Alarm_name ="整流器4过流";break;
            case acdcMod5_overCurr: Alarm_name ="整流器5过流";break;
            case acdcMod6_overCurr: Alarm_name ="整流器6过流";break;
            case acdcMod7_overCurr: Alarm_name ="整流器7过流";break;
            case acdcMod8_overCurr: Alarm_name ="整流器8过流";break;
            case acdcMod9_overCurr: Alarm_name ="整流器9过流";break;
            case acdcMod10_overCurr: Alarm_name ="整流器10过流";break;
            case acdcMod11_overCurr: Alarm_name ="整流器11过流";break;
            case acdcMod12_overCurr: Alarm_name ="整流器12过流";break;
            case acdcMod13_overCurr: Alarm_name ="整流器13过流";break;
            case acdcMod14_overCurr: Alarm_name ="整流器14过流";break;
            case acdcMod15_overCurr: Alarm_name ="整流器15过流";break;
            case acdcMod16_overCurr: Alarm_name ="整流器16过流";break;
            case acdcMod1_acErr: Alarm_name ="整流器1交流异常";break;
            case acdcMod2_acErr: Alarm_name ="整流器2交流异常";break;
            case acdcMod3_acErr: Alarm_name ="整流器3交流异常";break;
            case acdcMod4_acErr: Alarm_name ="整流器4交流异常";break;
            case acdcMod5_acErr: Alarm_name ="整流器5交流异常";break;
            case acdcMod6_acErr: Alarm_name ="整流器6交流异常";break;
            case acdcMod7_acErr: Alarm_name ="整流器7交流异常";break;
            case acdcMod8_acErr: Alarm_name ="整流器8交流异常";break;
            case acdcMod9_acErr: Alarm_name ="整流器9交流异常";break;
            case acdcMod10_acErr: Alarm_name ="整流器10交流异常";break;
            case acdcMod11_acErr: Alarm_name ="整流器11交流异常";break;
            case acdcMod12_acErr: Alarm_name ="整流器12交流异常";break;
            case acdcMod13_acErr: Alarm_name ="整流器13交流异常";break;
            case acdcMod14_acErr: Alarm_name ="整流器14交流异常";break;
            case acdcMod15_acErr: Alarm_name ="整流器15交流异常";break;
            case acdcMod16_acErr: Alarm_name ="整流器16交流异常";break;
            case acIn1_trip: Alarm_name ="交流输入1跳闸";break;
            case acIn2_trip: Alarm_name ="交流输入2跳闸";break;
            case acIn1_fuse: Alarm_name ="交流输入1熔丝告警";break;
            case acIn2_fuse: Alarm_name ="交流输入2熔丝告警";break;
            case acIn1_unbanlance: Alarm_name ="交流输入1三相不平衡";break;
            case acIn2_unbanlance: Alarm_name ="交流输入2三相不平衡";break;
            case acIn1_freqerr: Alarm_name ="交流输入1频率异常";break;
            case acIn2_freqerr: Alarm_name ="交流输入2频率异常";break;
            case comm_err: Alarm_name ="协转通信故障";break;
            case powerdev_commErr     : Alarm_name =    "电源通信故障";break;
            case userAcIn1_PowerDown : Alarm_name =    "交流输入1停电";break;
            case userAcIn2_PowerDown : Alarm_name =    "交流输入2停电";break;
            case userAcIn1_CommErr     : Alarm_name =    "交流1采集通信故障";break;
            case userAcIn2_CommErr     : Alarm_name =    "交流2采集通信故障";break;
            case temp_CommErr1         : Alarm_name =    "温感1通信故障";break;
            case temp_CommErr2         : Alarm_name =    "温感2通信故障";break;
            case temp_CommErr3         : Alarm_name =    "温感3通信故障";break;
            case humi_CommErr1         : Alarm_name =    "湿感1通信故障";break;
            case humi_CommErr2         : Alarm_name =    "湿感2通信故障";break;
            case humi_CommErr3         : Alarm_name =    "湿感3通信故障";break;
            case smoke_Alarm1         : Alarm_name =    "烟感1报警";break;
            case smoke_Alarm2         : Alarm_name =    "烟感2报警";break;
            case smoke_Alarm3         : Alarm_name =    "烟感3报警";break;
            case smoke_CommErr1         : Alarm_name =    "烟感1通信故障";break;
            case smoke_CommErr2         : Alarm_name =    "烟感2通信故障";break;
            case smoke_CommErr3         : Alarm_name =    "烟感3通信故障";break;
            default: Alarm_name = "未知告警";break;
        }
        return Alarm_name;
    }
}
src/main/java/com/whyc/dto/paramter/AlarmPar.java
New file
@@ -0,0 +1,43 @@
package com.whyc.dto.paramter;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.whyc.dto.Page;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AlarmPar implements Serializable {
    private int almIdOne;//almid参数1
    private int almIdTwo;//almid参数2
    private int almIdThree;//almid参数3
    private int almIdFour;//almid参数4
    private int almIdFive;//almid参数5
    private int almIdSix;//almid参数6
    private int almSignalIdOne;//almSignalId参数1
    private int almSignalIdTwo;//almSignalId参数2
    private int almLevelOne;//almLevel参数1
    private int almLevelTwo;//almLevel参数2
    private int almLevelThree;//almLevel参数3
    private int almLevelFour;//almLevel参数4
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date almStartTime;//开始时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date almStartTime1;//开始时间1
    private String stationname;//机房名称(全称)
    private String stationname1;//省
    private int battGroupId;//电池组id
    private int almIsConfirmed;//是否确认
    private int uId;//用户id
    private int almClearedType;//实时还是历史 0实时
    private Page page;//分页
}
src/main/java/com/whyc/dto/result/AlarmNumberRes.java
New file
@@ -0,0 +1,26 @@
package com.whyc.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AlarmNumberRes implements Serializable {
    private int numberReal;//实时告警数
    private int numberCapAlm;//容量告警告警数
    private int numberGroupVol;//组端电压告警数
    private int numberCharge;//充电电流告警数
    private int numberDischarge;//放电电流告警数
    private int numberMonVol;//单体电压告警数
    private int numberTmp;//单体温度告警数
    private int numberRes;//单体内阻告警数
    private int numberSer;//连接条阻抗告警数
    private int numberCapChange;//容量更换告警数
    private int numberAll;//告警总数
}
src/main/java/com/whyc/dto/result/AlarmRes.java
New file
@@ -0,0 +1,20 @@
package com.whyc.dto.result;
import com.whyc.pojo.BattalarmData;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AlarmRes implements Serializable {
    private int BattGroupId;//电池组id
    private String StationName;//机房名称
    private String BattGroupName;//电池组名称
    private BattalarmData adata;//告警信息
}
src/main/java/com/whyc/dto/result/AlarmStaticRes.java
New file
@@ -0,0 +1,17 @@
package com.whyc.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AlarmStaticRes implements Serializable {
    private int number;//告警数量
    private int almId;//告警类型id
}
src/main/java/com/whyc/mapper/BattalarmDataMapper.java
@@ -1,14 +1,29 @@
package com.whyc.mapper;
import com.whyc.dto.Batt_Maint_Dealarm;
import com.whyc.dto.paramter.AlarmPar;
import com.whyc.dto.result.AlarmRes;
import com.whyc.dto.result.AlarmStaticRes;
import com.whyc.pojo.BattalarmData;
import java.util.List;
public interface BattalarmDataMapper extends CustomMapper<BattalarmData>{
    //测试
    List<Batt_Maint_Dealarm> test(BattalarmData battalarmData);
    //历史告警查询
    List<Batt_Maint_Dealarm> serchByInfo(BattalarmData balarm);
    List<AlarmRes> serchByInfo(AlarmPar par);
    //实时告警查询
    List<Batt_Maint_Dealarm> serchByCondition(Batt_Maint_Dealarm bmd);
    List<AlarmRes> serchByCondition(AlarmPar par);
    //查询实时告警数
    List<AlarmStaticRes> serchAlm(AlarmPar par);
    //根据num取消告警
    int cancelalarm(BattalarmData battalarmData);
    //根据num取消告警(多条记录)
    int cancelalarmPro(List<BattalarmData> list);
}
src/main/java/com/whyc/pojo/BattalarmData.java
@@ -67,7 +67,7 @@
    @TableField("alm_is_confirmed")
    @ApiModelProperty(value = "是否被确定")
    private Boolean almIsConfirmed;
    private int almIsConfirmed;
    @TableField("alm_confirmed_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -83,7 +83,7 @@
    @TableField("usr_Id")
    private Integer usrId;
    private Boolean msgSended;
    private int msgSended;
    private Integer workFlag;
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -1,15 +1,22 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.AlarmDaoFactory;
import com.whyc.dto.Batt_Maint_Dealarm;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.AlarmPar;
import com.whyc.dto.result.AlarmRes;
import com.whyc.dto.result.AlarmStaticRes;
import com.whyc.dto.result.AlarmNumberRes;
import com.whyc.mapper.BattalarmDataMapper;
import com.whyc.pojo.BattalarmData;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@@ -36,21 +43,119 @@
        IPage iPage=mapper.selectPage(page,wrapper);
        return new Response<List<BattalarmData>>().set(1,iPage.getRecords(),String.valueOf(iPage.getTotal()));
    }
    //电池告警实时查询
    public Response<List<Batt_Maint_Dealarm>> serchByCondition(Batt_Maint_Dealarm bmd) {
        //分页信息
        PageHelper.startPage(bmd.getPage().getPageCurr(), bmd.getPage().getPageSize());
        List<Batt_Maint_Dealarm> list=mapper.serchByCondition(bmd);
        PageInfo<Batt_Maint_Dealarm> pinfo=new PageInfo<Batt_Maint_Dealarm>(list);
        return new Response<List<Batt_Maint_Dealarm>>().set(1,list,String.valueOf(pinfo.getTotal()));
    }
    //根据电池组id查询所有的告警
    public Response<List<Batt_Maint_Dealarm>> serchByInfo(BattalarmData balarm) {
    //测试:根据电池组id查询所有的告警
    public Response<List<Batt_Maint_Dealarm>> test(BattalarmData balarm) {
        //分页信息
        PageHelper.startPage(1,20);
        List<Batt_Maint_Dealarm> list=mapper.serchByInfo(balarm);
        List<Batt_Maint_Dealarm> list=mapper.test(balarm);
        PageInfo<Batt_Maint_Dealarm> pinfo=new PageInfo<Batt_Maint_Dealarm>(list);
        return new Response<List<Batt_Maint_Dealarm>>().set(1,list,String.valueOf(pinfo.getPages()));
    }
    //电池告警实时查询
    public Response<List<AlarmRes>> serchByCondition(AlarmPar par) {
        //分页信息
        PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize());
        List<AlarmRes> list=mapper.serchByCondition(par);
        PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list);
        return new Response<List<AlarmRes>>().set(1,list,String.valueOf(pinfo.getTotal()));
    }
    //根据电池组id查询所有的告警
    public Response<List<AlarmRes>> serchByInfo(AlarmPar par) {
        //分页信息
        PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize());
        List<AlarmRes> list=mapper.serchByInfo(par);
        PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list);
        return new Response<List<AlarmRes>>().set(1,list,String.valueOf(pinfo.getPages()));
    }
    //查询实时告警数
    public Response<AlarmNumberRes> serchAlm(AlarmPar par) {
        /*BattalarmData adata=new BattalarmData();
        adata.setNum(0l);//实时告警总数
        adata.setBattGroupId(0);//容量告警告警数
        adata.setMonNum(0);//组端电压告警数
        adata.setAlmId(0);//充电电流告警数
        adata.setAlmSignalId(0);//放电电流告警数
        adata.setAlmLevel(0);//单体电压告警数
        adata.setAlmIsConfirmed(0);//单体温度告警数
        adata.setAlmClearedType(0);//单体内阻告警数
        adata.setUsrId(0);//连接条阻抗告警数
        adata.setAlmValue(0f);//容量更换告警*/
        AlarmNumberRes ares=new AlarmNumberRes();
        //int numZ=0;//告警总数
        List<AlarmStaticRes> list=mapper.serchAlm(par);//各类告警数
        if(list!=null&&list.size()>0){
            for(int i=0;i<list.size();i++){
                if(list.get(i).getAlmId()== AlarmDaoFactory.Alarm_CapAlarm){
                    /*adata.setBattGroupId(list.get(i).getNumber());//容量告警告警数
                    numZ+=list.get(i).getNumber();*/
                    ares.setNumberCapAlm(list.get(i).getNumber());//容量告警告警数
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_vol_Group){
                    /*adata.setMonNum(list.get(i).getNumber());//组端电压告警数
                    numZ+=list.get(i).getNumber();*/
                    ares.setNumberGroupVol(list.get(i).getNumber());//组端电压告警数
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_curr_Charge){
                    /*adata.setAlmId(list.get(i).getNumber());//充电电流告警数
                    numZ+=list.get(i).getNumber();*/
                    ares.setNumberCharge(list.get(i).getNumber());//充电电流告警数
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_curr_Discharge){
                    /*adata.setAlmSignalId(list.get(i).getNumber());//放电电流告警数
                    numZ+=list.get(i).getNumber();*/
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_vol_Monomer){
                    /*adata.setAlmLevel(list.get(i).getNumber());//单体电压告警数
                    numZ+=list.get(i).getNumber();*/
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_tmp_Monomer){
                   /* adata.setAlmIsConfirmed(list.get(i).getNumber());//单体温度告警数
                    numZ+=list.get(i).getNumber();*/
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_res_Monomer){
                   /* adata.setAlmClearedType(list.get(i).getNumber());//单体内阻告警数
                    numZ+=list.get(i).getNumber();*/
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_res_Conn){
                   /* adata.setUsrId(list.get(i).getNumber());//连接条阻抗告警数
                    numZ+=list.get(i).getNumber();*/
                }
                if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_CapChange){
                   /* adata.setAlmValue((float)list.get(i).getNumber());//容量更换告警数
                    numZ+=list.get(i).getNumber();*/
                }
            }
        }
        return new Response<AlarmNumberRes>().set(1,ares);
    }
    //根据num取消告警
    public Response cancelalarm(BattalarmData adata) {
        UpdateWrapper wrapper = new UpdateWrapper<>();
        //修改的属性
        wrapper.set("record_id",adata.getRecordId());
        wrapper.set("alm_end_time",adata.getAlmEndTime());
        wrapper.set("alm_cleared_type",adata.getAlmClearedType());
        // 通过num修改
        wrapper.eq("num",adata.getNum());
        int flag=mapper.update(null,wrapper);
        return  new Response().set(flag);
    }
    //根据num取消告警(多条记录)
    @Transactional
    public Response cancelalarmPro(List<BattalarmData> list) {
        int flag=0;
        for (BattalarmData adata:list) {
            //修改的属性
            UpdateWrapper wrapper = new UpdateWrapper<>();
            wrapper.set("record_id",adata.getRecordId());
            wrapper.set("alm_end_time",adata.getAlmEndTime());
            wrapper.set("alm_cleared_type",adata.getAlmClearedType());
            // 通过num修改
            wrapper.eq("num",adata.getNum());
            flag=mapper.update(null,wrapper);
        }
        return  new Response().set(flag);
    }
}
src/main/resources/mapper/BattalarmDataMapper.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whyc.mapper.BattalarmDataMapper" >
    <resultMap id="bmd" type="com.whyc.dto.Batt_Maint_Dealarm">
        <association property="binf" javaType="com.whyc.pojo.Battinf">
            <result property="StationName" column="stationname"></result>
            <result property="BattGroupName" column="battgroupname"></result>
        </association>
        <association property="adata" javaType="com.whyc.pojo.BattalarmData">
    <resultMap id="alarmRes" type="AlarmRes">
        <result property="BattGroupId" column="BattGroupId"></result>
        <result property="StationName" column="stationname"></result>
        <result property="BattGroupName" column="battgroupname"></result>
        <association property="adata" javaType="BattalarmData">
            <id property="num" column="num"></id>
            <result property="BattGroupId" column="BattGroupId"></result>
            <result property="almSignalId" column="alm_signal_id"></result>
@@ -21,7 +20,12 @@
    </resultMap>
    <select id="serchByInfo" resultMap="bmd">
    <resultMap id="alarmStaticRes" type="AlarmStaticRes">
        <result property="number" column="number"></result>
        <result property="almId" column="alm_id"></result>
    </resultMap>
    <select id="test" resultMap="alarmRes">
        select  distinct(db_alarm.tb_battalarm_data.BattGroupId),db_alarm.tb_battalarm_data.num,alm_signal_id,db_alarm.tb_battalarm_data.monnum,alm_value,alm_level,alm_is_confirmed,alm_confirmed_time,alm_start_time,alm_end_time,   stationname,battgroupname
        from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
        <where>
@@ -37,39 +41,90 @@
    </select>
    <!--select  distinct(db_alarm.tb_battalarm_data.BattGroupId),db_alarm.tb_battalarm_data.num,alm_signal_id,db_alarm.tb_battalarm_data.monnum,alm_value,alm_level,alm_is_confirmed,alm_confirmed_time,alm_start_time,alm_end_time,   stationname,battgroupname
    from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
    where  alm_id in(?,?,?,?,?,?)  and alm_signal_id%2 in(?,?)   and alm_level in(?,?,?,?)  and alm_start_time>=? and alm_start_time<=?
    and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ? and alm_cleared_type in(?,0,1,2)
    and db_battinf.tb_battinf.battgroupid!=? and db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid
    and db_alarm.tb_battalarm_data.BattGroupId
    in(select distinct db_battinf.tb_battinf.battgroupid  from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
    where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
    and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
    and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid   and db_user.tb_user_inf.uid=? )
    order by db_alarm.tb_battalarm_data.alm_start_time desc,db_alarm.tb_battalarm_data.monnum asc  limit ?,?
    -->
    <select id="serchByCondition" resultMap="bmd">
    <select id="serchByCondition" resultMap="alarmRes">
        select  distinct(db_alarm.tb_battalarm_data.BattGroupId),db_alarm.tb_battalarm_data.num,alm_signal_id,db_alarm.tb_battalarm_data.monnum,alm_value,alm_level,alm_is_confirmed,alm_confirmed_time,alm_start_time,alm_end_time,   stationname,battgroupname
        from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
        <where>
            db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid
            and alm_id in(#{mainf.faultTypeId},#{mainf.faultLevel},#{mainf.recordUid},#{mainf.maintTypeId},#{mainf.maintDone},#{mainf.maintClose})
            and alm_signal_id%2 in(#{adata.almId},#{adata.almSignalId})   and alm_level in(#{mainf.num},#{mainf.BattGroupId},#{mainf.masterAudit},#{mainf.appointUid})
            and alm_start_time>=#{adata.almStartTime} and alm_start_time &lt;=#{adata.almStartTime1}
            and db_battinf.tb_battinf.stationname1 like '%${binf.StationName1}%'
            <if test="binf.battgroupid==0">
                and db_battinf.tb_battinf.battgroupid!=#{binf.BattGroupId}
            and alm_id in(#{almIdOne},#{almIdTwo},#{almIdThree},#{almIdFour},#{almIdFive},#{almIdSix})
            and alm_signal_id%2 in(#{almSignalIdOne},#{almSignalIdTwo})
            and alm_level in(#{almLevelOne},#{almLevelTwo},#{almLevelThree},#{almLevelFour})
            and alm_cleared_type=0
            and alm_start_time>=#{almStartTime} and alm_start_time &lt;=#{almStartTime1}
            and db_battinf.tb_battinf.stationname1 like '%${stationname1}%'
            <if test="battGroupId==0">
                and db_battinf.tb_battinf.battgroupid!=#{battGroupId}
            </if>
            <if test="binf.battgroupid!=0">
                and db_battinf.tb_battinf.battgroupid=#{binf.BattGroupId}
            <if test="battGroupId!=0">
                and db_battinf.tb_battinf.battgroupid=#{battGroupId}
            </if>
            <if test="almIsConfirmed==-1">
                and db_alarm.tb_battalarm_data.alm_is_confirmed!=#{almIsConfirmed}
            </if>
            <if test="almIsConfirmed!=-1">
                and db_alarm.tb_battalarm_data.alm_is_confirmed=#{almIsConfirmed}
            </if>
            and db_alarm.tb_battalarm_data.BattGroupId
            in(select distinct db_battinf.tb_battinf.battgroupid  from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
            where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
            and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
            and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid   and db_user.tb_user_inf.uid=#{uinf.uId} )
            and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid   and db_user.tb_user_inf.uid=#{uId} )
        </where>
        order by db_alarm.tb_battalarm_data.alm_start_time desc,db_alarm.tb_battalarm_data.monnum asc
    </select>
    <select id="serchByInfo" resultMap="alarmRes">
        select  distinct(db_alarm.tb_battalarm_data.BattGroupId),db_alarm.tb_battalarm_data.num,alm_signal_id,db_alarm.tb_battalarm_data.monnum,alm_value,alm_level,alm_is_confirmed,alm_confirmed_time,alm_start_time,alm_end_time,   stationname,battgroupname
        from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
        <where>
            db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid
            and alm_id in(#{almIdOne},#{almIdTwo},#{almIdThree},#{almIdFour},#{almIdFive},#{almIdSix})
            and alm_signal_id%2 in(#{almSignalIdOne},#{almSignalIdTwo})
            and alm_level in(#{almLevelOne},#{almLevelTwo},#{almLevelThree},#{almLevelFour})
            and alm_start_time>=#{almStartTime} and alm_start_time &lt;=#{almStartTime1}
            and db_battinf.tb_battinf.stationname1 like '%${stationname1}%'
            <if test="battGroupId==0">
                and db_battinf.tb_battinf.battgroupid!=#{battGroupId}
            </if>
            <if test="battGroupId!=0">
                and db_battinf.tb_battinf.battgroupid=#{battGroupId}
            </if>
            <if test="almClearedType==0">
                and alm_cleared_type=#{almClearedType}
            </if>
            <if test="almClearedType==1">
                and alm_cleared_type in(#{almClearedType},1,2)
            </if>
            <if test="almClearedType==100">
                and alm_cleared_type in(#{almClearedType},0,1,2)
            </if>
            <if test="almClearedType==200">
                and alm_cleared_type=#{almClearedType}
            </if>
            and db_alarm.tb_battalarm_data.BattGroupId
            in(select distinct db_battinf.tb_battinf.battgroupid  from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
            where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
            and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
            and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid   and db_user.tb_user_inf.uid=#{uId} )
        </where>
        order by db_alarm.tb_battalarm_data.alm_start_time desc,db_alarm.tb_battalarm_data.monnum asc
    </select>
    <select id="serchAlm" resultMap="alarmStaticRes" >
        select count(num) as number,alm_id from db_alarm.tb_battalarm_data
        where  alm_cleared_type=0
        and tb_battalarm_data.BattGroupId in (select distinct db_battinf.tb_battinf.battgroupid
        from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
        where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
        and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
        and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid
        and db_user.tb_user_inf.uid=#{uId} and db_battinf.tb_battinf.stationname like '%${stationname}%' )
        GROUP BY(alm_id)
    </select>
    <update id="cancelalarm" parameterType="BattalarmData">
        update db_alarm.tb_battalarm_data set record_id=#{recordId},alm_end_time=#{almEndTime},alm_cleared_type=#{almClearedType} where num=#{num}
    </update>
</mapper>