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 com.whyc.pojo.db_ckpwrdev_break_alarm.CKPowerDevBreakAlarm;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Service
|
public class CKPowerDevBreakAlarmService {
|
@Autowired(required = false)
|
private CKPowerDevBreakAlarmMapper mapper;
|
|
//实时推送断路器告警
|
public Object getPage(BreakAlarmDto alarm) {
|
PageHelper.startPage(alarm.getPageNum(),alarm.getPageSize());
|
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,"确认完成");
|
}
|
}
|