| | |
| | | import com.whyc.mapper.PwrdevAlarmMapper; |
| | | import com.whyc.pojo.*; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.MessageUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | } |
| | | //电池告警实时查询 |
| | | public Response serchByCondition(AlarmPar par) { |
| | | String lang = ActionUtil.getLang(); |
| | | //分页信息 |
| | | PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize()); |
| | | UserInf uinf= ActionUtil.getUser(); |
| | | UserInf uinf = ActionUtil.getUser(); |
| | | par.setUId(uinf.getUId().intValue()); |
| | | List<AlarmRes> list=mapper.serchByCondition(par); |
| | | for (AlarmRes a:list) { |
| | | List<BattalarmData> l=a.getAdatas(); |
| | | for (BattalarmData adata:l) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | List<AlarmRes> list = mapper.serchByCondition(par); |
| | | for (AlarmRes a : list) { |
| | | List<BattalarmData> l = a.getAdatas(); |
| | | for (BattalarmData adata : l) { |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | } |
| | | PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list); |
| | | return new Response().set(1,pinfo); |
| | | PageInfo<AlarmRes> pinfo = new PageInfo<AlarmRes>(list); |
| | | return new Response().set(1, pinfo); |
| | | } |
| | | |
| | | //电池告警实时查询-websocket使用 |
| | | @Transactional |
| | | public Response serchByConditionOfWebSocket(AlarmPar par) { |
| | | public Response serchByConditionOfWebSocket(AlarmPar par, String lang) { |
| | | //分页信息 |
| | | PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize()); |
| | | List<AlarmRes> list=mapper.serchByCondition(par); |
| | | for (AlarmRes a:list) { |
| | | List<BattalarmData> l=a.getAdatas(); |
| | | for (BattalarmData adata:l) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | List<AlarmRes> list = mapper.serchByCondition(par); |
| | | for (AlarmRes a : list) { |
| | | List<BattalarmData> l = a.getAdatas(); |
| | | for (BattalarmData adata : l) { |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | } |
| | | PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list); |
| | | return new Response().set(1,pinfo); |
| | | PageInfo<AlarmRes> pinfo = new PageInfo<AlarmRes>(list); |
| | | return new Response().set(1, pinfo); |
| | | } |
| | | |
| | | |
| | | //电池告警实时查询-websocket使用 |
| | | @Transactional |
| | | public Response getSendBattAlarmOfWebSocket(Integer uId) { |
| | | List<BattalarmData> list=mapper.getSendBattAlarm(uId); |
| | | public Response getSendBattAlarmOfWebSocket(Integer uId, String lang) { |
| | | List<BattalarmData> list = mapper.getSendBattAlarm(uId); |
| | | Date now = new Date(); |
| | | ListIterator<BattalarmData> it = list.listIterator(); |
| | | while (it.hasNext()){ |
| | | while (it.hasNext()) { |
| | | BattalarmData adata = it.next(); |
| | | if(adata.getAlmLevel()==1 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<24*3600000){ |
| | | if (adata.getAlmLevel() == 1 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 24 * 3600000) { |
| | | it.remove(); |
| | | } |
| | | if(adata.getAlmLevel()==2 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<7*24*3600000){ |
| | | if (adata.getAlmLevel() == 2 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 7 * 24 * 3600000) { |
| | | it.remove(); |
| | | } |
| | | if(adata.getAlmLevel()==3 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<30*7*24*3600000){ |
| | | if (adata.getAlmLevel() == 3 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 30 * 7 * 24 * 3600000) { |
| | | it.remove(); |
| | | } |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | return new Response().set(1,list); |
| | | } |
| | |
| | | return new Response().set(number); |
| | | } |
| | | |
| | | //实时1级告警记录总数查询 |
| | | public Response getRealTimeWithLevel1(int uId) { |
| | | int number=mapper.getRealTimeWithLevel1(uId); |
| | | return new Response().set(number); |
| | | } |
| | | |
| | | //电池告警实时查询(确认告警) |
| | | public Response update(int num) { |
| | | UpdateWrapper wrapper = new UpdateWrapper<>(); |
| | |
| | | |
| | | //项目下方的滚动,查询30天的电池告警和设备告警和电源告警 |
| | | @Transactional |
| | | public Response getRealAlarm(int uId){ |
| | | public Response getRealAlarm(int uId, String lang) { |
| | | Calendar instance = Calendar.getInstance(); |
| | | instance.add(Calendar.MONTH,-1); |
| | | instance.add(Calendar.MONTH, -1); |
| | | 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.getRealAlarm(yesterday,uId,alarmParams); |
| | | for (BattalarmData battAlarm:lista) { |
| | | battAlarm.setAlarmName(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId())); |
| | | int[] alarmParams = {AlarmDaoFactory.Alarm_CapAlarm, AlarmDaoFactory.Alarm_CapChange, AlarmDaoFactory.Alarm_res_Conn, AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID}; |
| | | List<BattalarmData> lista = mapper.getRealAlarm(yesterday, uId, alarmParams); |
| | | for (BattalarmData battAlarm : lista) { |
| | | battAlarm.setAlarmName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId()), lang)); |
| | | } |
| | | List<DevalarmData> listd=devalarmDataMapper.getRealAlarm(yesterday,uId); |
| | | if(listd!=null&&listd.size()>0){ |
| | | List<DevalarmData> listd = devalarmDataMapper.getRealAlarm(yesterday, uId); |
| | | if (listd != null && listd.size() > 0) { |
| | | for (DevalarmData ddata : listd) { |
| | | BattalarmData data=new BattalarmData(); |
| | | BattalarmData data = new BattalarmData(); |
| | | data.setBattGroupId(ddata.getDevId()); |
| | | data.setAlarmType("1");//1表示设备告警 |
| | | data.setAlmId(ddata.getAlmType()); |
| | |
| | | data.setNum(ddata.getNum()); |
| | | data.setAlmStartTime(ddata.getAlmStartTime()); |
| | | //data.setAlm_signal_id(ddata.getAlm_type()); |
| | | data.setAlarmName(AlarmDaoFactory.getdevName(ddata.getAlmType())); |
| | | data.setAlarmName(MessageUtils.getMessageSocket(AlarmDaoFactory.getdevName(ddata.getAlmType()), lang)); |
| | | data.setAlmSeverity(ddata.getAlmSeverity()); |
| | | lista.add(data); |
| | | } |
| | | } |
| | |
| | | data.setNum(pAlarm.getNum()); |
| | | data.setAlmStartTime(pAlarm.getAlmStartTime()); |
| | | data.setAlarmName(AlarmDaoFactory.getAllAlarmName(pAlarm.getAlmType())); |
| | | data.setAlmSeverity(pAlarm.getAlmSeverity()); |
| | | lista.add(data); |
| | | } |
| | | } |
| | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | int btatolNum = 0; |
| | | Map<String, Integer> bAlmClearMap = new HashMap<>(); |
| | | bAlmClearMap.put("clear0", 0); |
| | | bAlmClearMap.put("clear1", 0); |
| | | List<BattalarmData> bAlmList = mapper.getBalmToday(userId); |
| | | Map<Integer, List<BattalarmData>> bclearedMap = bAlmList.stream().collect(Collectors.groupingBy(BattalarmData::getAlmClearedType)); |
| | | for (Integer cleared : bclearedMap.keySet()) { |
| | | bAlmClearMap.put(String.valueOf(cleared), bclearedMap.get(cleared).size()); |
| | | bAlmClearMap.put("clear" + String.valueOf(cleared), bclearedMap.get(cleared).size()); |
| | | btatolNum += bclearedMap.get(cleared).size(); |
| | | } |
| | | Map<String, Integer> bAlmLevelMap = new HashMap<>(); |
| | | bAlmLevelMap.put("level1", 0); |
| | | bAlmLevelMap.put("level2", 0); |
| | | bAlmLevelMap.put("level3", 0); |
| | | bAlmLevelMap.put("level4", 0); |
| | | Map<Integer, List<BattalarmData>> blevelMap = bAlmList.stream().collect(Collectors.groupingBy(BattalarmData::getAlmLevel)); |
| | | for (Integer level : blevelMap.keySet()) { |
| | | bAlmLevelMap.put(String.valueOf(level), blevelMap.get(level).size()); |
| | | btatolNum += blevelMap.get(level).size(); |
| | | bAlmLevelMap.put("level" + String.valueOf(level), blevelMap.get(level).size()); |
| | | //btatolNum += blevelMap.get(level).size(); |
| | | } |
| | | map.put("bAlmClearMap", bAlmClearMap); |
| | | map.put("bAlmLevelMap", bAlmLevelMap); |
| | |
| | | return new Response().set(1, false, "出现异常" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | public List<Integer> getStationList(int userId) { |
| | | return mapper.getStationList(userId); |
| | | } |
| | | |
| | | public int getCapAlarmNum(int userId) { |
| | | return mapper.getCapAlarmNum(userId); |
| | | } |
| | | |
| | | public int getCountByStationIds(List<String> stationIdList, Integer level) { |
| | | return mapper.getCountByStationIds(stationIdList,level); |
| | | } |
| | | |
| | | public List<BattalarmData> getListByStationIds(List<String> stationIdList) { |
| | | return mapper.getListByStationIds(stationIdList); |
| | | } |
| | | } |