whycxzp
2024-03-07 2cb95a87ab7f14fdfeefd1e079307e47d011a317
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -266,6 +266,85 @@
        return  new Response().set(number);
    }
    //实时1级告警记录查询
    public Response getRealAlarmListWithLevel1(int uId) {
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.YEAR, -100);
        Date yesterday = instance.getTime();
        int[] alarmParams = {AlarmDaoFactory.Alarm_CapAlarm, AlarmDaoFactory.Alarm_CapChange, AlarmDaoFactory.Alarm_res_Conn, AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID};
        List<BattalarmData> lista = mapper.getRealAlarmListWithLevel1(uId);
        for (BattalarmData battAlarm : lista) {
            battAlarm.setAlarmName(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId()));
        }
        List<DevalarmData> listd = devalarmDataMapper.getRealAlarmListWithLevel1(uId);
        if (listd != null && listd.size() > 0) {
            for (DevalarmData ddata : listd) {
                BattalarmData data = new BattalarmData();
                data.setBattGroupId(ddata.getDevId());
                data.setAlarmType("1");//1表示设备告警
                data.setAlmId(ddata.getAlmType());
                data.setStationName(ddata.getStationName());
                data.setStationName1(ddata.getStationName1());
                data.setStationName2(ddata.getStationName2());
                data.setStationName3(ddata.getStationName3());
                data.setStationName4(ddata.getStationName4());
                data.setStationName5(ddata.getStationName5());
                data.setAlmLevel(ddata.getAlmLevel());
                //data.setNote(ddata.getNote());
                data.setNum(ddata.getNum());
                data.setAlmStartTime(ddata.getAlmStartTime());
                //data.setAlm_signal_id(ddata.getAlm_type());
                data.setAlarmName(AlarmDaoFactory.getdevName(ddata.getAlmType()));
                data.setAlmSeverity(ddata.getAlmSeverity());
                lista.add(data);
            }
        }
        //添加电源告警
        List<PwrdevAlarm> pwrAlarmList = pwrdevAlarmMapper.getRealAlarmListWithLevel1(uId);
        if (pwrAlarmList!=null && pwrAlarmList.size()>0){
            for (PwrdevAlarm pAlarm:pwrAlarmList ) {
                BattalarmData data=new BattalarmData();
                int powerId=pAlarm.getPowerDeviceId().intValue();
                int almType = pAlarm.getAlmType();
                data.setBattGroupId(powerId);
                data.setAlarmType("2");//2表示电源告警
                data.setAlmId(almType);
                data.setStationName(pAlarm.getStationName());
                data.setStationName1(pAlarm.getStationName1());
                data.setStationName2(pAlarm.getStationName2());
                data.setStationName3(pAlarm.getStationName3());
                data.setStationName4(pAlarm.getStationName4());
                data.setStationName5(pAlarm.getStationName5());
                data.setAlmLevel(pAlarm.getAlmLevel());
                data.setNum(pAlarm.getNum());
                data.setAlmStartTime(pAlarm.getAlmStartTime());
                //115南网
                if(powerId/100000==1150){
                    String alarmParamTableName="tb_pwrdev_alarm_param_"+powerId;
                    List<PwrdevAlarmParam>  paramList=subService.searchAll(alarmParamTableName);
                    data.setAlarmName("未知");
                    if(paramList!=null){
                        paramList.stream().forEach(param->{
                            if(param.getAlarmId() == almType){
                                data.setAlarmName(param.getAlarmName());
                                return;
                            }
                        });
                    }
                }else{
                    //110国网
                    data.setAlarmName(AlarmDaoFactory.getAllAlarmName(pAlarm.getAlmType()));
                }
                data.setAlmSeverity(pAlarm.getAlmSeverity());
                lista.add(data);
            }
        }
        //排序,按照时间或者说是num
        lista.sort(Comparator.comparing(BattalarmData::getAlmStartTime).reversed());
        return new Response().set(1, lista, "查询成功");
    }
    //电池告警实时查询(确认告警)
    public Response update(int num) {
        UpdateWrapper wrapper = new UpdateWrapper<>();