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.constant.BattAlarmIdEnum; import com.whyc.constant.BattSingalIdEnum; import com.whyc.constant.DevAlarmEnum; import com.whyc.dto.AlarmDto; import com.whyc.dto.Real.AlmDto; import com.whyc.dto.Response; import com.whyc.mapper.DevalarmDataMapper; import com.whyc.pojo.db_alarm.DevalarmData; import com.whyc.pojo.web_site.AlarmInspection; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Service public class DevalarmDataService { @Autowired(required = false) private DevalarmDataMapper mapper; //获取设备实时告警信息 public Response getDevAlmReal(AlmDto almDto) { PageHelper.startPage(almDto.getPageNum(),almDto.getPageSize()); List list=mapper.getDevAlmReal(almDto); list.forEach(data->{ data.setAlmName(DevAlarmEnum.getValue(data.getAlmId())); }); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null,pageInfo,"获取设备实时告警信息"); } //确认设备告警 public Response updateDevConfrim(Integer num) { UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.set("alm_is_confirmed",1); wrapper.set("alm_confirmed_time",new SimpleDateFormat(ActionUtil.time_yyyyMMddHHmmss).format(new Date())); // 通过num修改 wrapper.eq("num",num); int flag=mapper.update((DevalarmData) ActionUtil.objeNull,wrapper); return new Response().set(1,flag>0,flag>0?"确认成功":"确认失败"); } //获取一级未处理实时告警数 public Integer getDevAlmNum(Integer devId) { QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("dev_id",devId); wrapper.eq("alm_is_confirmed",0); wrapper.eq("alm_level",1); List list=mapper.selectList(wrapper); return list!=null?list.size():0; } //获取设备告警类型(下拉) public Response getDevAlmIdType() { Map map= DevAlarmEnum.getOpInfo(); return new Response().setII(1,true,map,"获取设备告警类型(下拉)"); } public List getListGreatThan(Long devAlarmId) { List listGreatThan = mapper.getListGreatThan(devAlarmId); Date now = new Date(); listGreatThan.forEach(data->{ data.setType(2); data.setIsExist(1); data.setCreateTime(now); }); return listGreatThan; } public List getNumListInDB(List devAlarmNumList) { QueryWrapper query = Wrappers.query(); query.select("num"); query.in("num",devAlarmNumList); return mapper.selectList(query).stream().map(DevalarmData::getNum).collect(Collectors.toList()); } public List getListByUserId(Integer userId,Integer almLevel) { return mapper.getListByUserId(userId,almLevel); } }