| | |
| | | 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.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.whyc.dto.BreakAlarmDto; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.CKPowerDevBreakAlarmMapper; |
| | | import com.whyc.pojo.db_ckpwrdev_alarm.CKPowerDevAlarm; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | public class CKPowerDevBreakAlarmService { |
| | | @Autowired(required = false) |
| | | private CKPowerDevBreakAlarmMapper mapper; |
| | | |
| | | //实时推送断路器告警q |
| | | public Object getPage(CKPowerDevBreakAlarm alarm) { |
| | | //实时推送断路器告警 |
| | | public Object getPage(BreakAlarmDto alarm) { |
| | | PageHelper.startPage(alarm.getPageNum(),alarm.getPageSize()); |
| | | QueryWrapper<CKPowerDevBreakAlarm> query = Wrappers.query(); |
| | | /*if(alarm.getDevType()!=0) { |
| | | query.eq("dev_type", alarm.getDevType()); |
| | | }*/ |
| | | if(!alarm.getAlmName().equals("")) { |
| | | query.eq("alm_name", alarm.getAlmName()); |
| | | } |
| | | if(alarm.getAlmLevel()!=0) { |
| | | query.eq("alm_level", alarm.getAlmLevel()); |
| | | } |
| | | List<CKPowerDevBreakAlarm> alarmList = mapper.selectList(query); |
| | | List<CKPowerDevBreakAlarm> alarmList = mapper.getPage(alarm); |
| | | PageInfo<CKPowerDevBreakAlarm> pageInfo = new PageInfo<>(alarmList); |
| | | return new Response().set(1,pageInfo); |
| | | } |
| | | //统计断路器告警 |
| | | public Object getCountByLevel() { |
| | | Map<Integer,Integer> countMap = new HashMap<>(); |
| | | countMap.put(0,0); |
| | | countMap.put(1,0); |
| | | countMap.put(2,0); |
| | | countMap.put(3,0); |
| | | QueryWrapper<CKPowerDevBreakAlarm> query = Wrappers.query(); |
| | | query.select("alm_level"); |
| | | List<CKPowerDevBreakAlarm> alarmList = mapper.selectList(query); |
| | | countMap.put(0,alarmList.size()); |
| | | Map<Integer, List<CKPowerDevBreakAlarm>> levelMap = alarmList.stream().collect(Collectors.groupingBy(CKPowerDevBreakAlarm::getAlmLevel)); |
| | | Set<Integer> levelKeyMap = levelMap.keySet(); |
| | | for (Integer level : levelKeyMap) { |
| | | countMap.put(level,levelMap.get(level).size()); |
| | | } |
| | | return new Response().set(1,countMap); |
| | | } |
| | | |
| | | public Response updateForConfirm(int id) { |
| | | UpdateWrapper<CKPowerDevBreakAlarm> update = Wrappers.update(); |
| | | update.set("alm_is_confirmed",1); |
| | | update.set("alm_confirmed_time",new Date()); |
| | | update.eq("num",id); |
| | | mapper.update(null,update); |
| | | return new Response().set(1,"确认完成"); |
| | | } |
| | | } |