| | |
| | | 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.dto.AlarmDto; |
| | | import com.whyc.dto.Param.AlmAnalyseDto; |
| | | import com.whyc.dto.Real.AlmDto; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.BattalarmDataMapper; |
| | | import com.whyc.pojo.db_alarm.BattalarmData; |
| | | 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 BattalarmDataService { |
| | |
| | | public Response getBattAlmReal(AlmDto almDto) { |
| | | PageHelper.startPage(almDto.getPageNum(),almDto.getPageSize()); |
| | | List<BattalarmData> list=mapper.getBattAlmReal(almDto); |
| | | list.forEach(data->{ |
| | | data.setAlmName(BattSingalIdEnum.getValue(data.getAlmSignalId())); |
| | | }); |
| | | PageInfo pageInfo=new PageInfo(list); |
| | | return new Response().setII(1,list!=null,pageInfo,"获取电池组实时告警信息"); |
| | | } |
| | | |
| | | //确认电池告警 |
| | | public Response updateBattConfrim(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((BattalarmData) ActionUtil.objeNull,wrapper); |
| | | return new Response().set(1,flag>0,flag>0?"确认成功":"确认失败"); |
| | | } |
| | | //获取一级未处理实时告警数 |
| | | public Integer getBattAlmNum(Integer battgroupId) { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.eq("battgroup_id",battgroupId); |
| | | wrapper.eq("alm_is_confirmed",0); |
| | | wrapper.eq("alm_level",1); |
| | | List<BattalarmData> list=mapper.selectList(wrapper); |
| | | return list!=null?list.size():0; |
| | | } |
| | | //获取电池告警类型(下拉) |
| | | public Response getAlarmIdType() { |
| | | Map<Integer,String> map= BattAlarmIdEnum.getOpInfo(); |
| | | return new Response().setII(1,true,map,"获取电池告警类型(下拉)"); |
| | | } |
| | | |
| | | public List<AlarmInspection> getListGreatThan(Long battAlarmId) { |
| | | List<AlarmInspection> listGreatThan = mapper.getListGreatThan(battAlarmId); |
| | | Date now = new Date(); |
| | | listGreatThan.forEach(data->{ |
| | | data.setType(3); |
| | | data.setIsExist(1); |
| | | data.setCreateTime(now); |
| | | }); |
| | | return listGreatThan; |
| | | } |
| | | |
| | | public List<AlarmDto> getListByUserId(Integer userId, Integer almLevel) { |
| | | return mapper.getListByUserId(userId,almLevel); |
| | | } |
| | | |
| | | public List<Long> getNumListInDB(List<Long> battAlarmNumList) { |
| | | QueryWrapper<BattalarmData> query = Wrappers.query(); |
| | | query.select("num"); |
| | | query.in("num",battAlarmNumList); |
| | | return mapper.selectList(query).stream().map(BattalarmData::getNum).collect(Collectors.toList()); |
| | | } |
| | | |
| | | public List<BattalarmData> getMonAlarm(Integer userId) { |
| | | return mapper.getMonAlarm(userId); |
| | | } |
| | | //预警分析管理 |
| | | public Response getBattAlmAnalyse(AlmAnalyseDto dto) { |
| | | PageHelper .startPage(dto.getPageNum(),dto.getPageSize()); |
| | | List<BattalarmData> list=mapper.getBattAlmAnalyse(dto); |
| | | list.forEach(data->{ |
| | | data.setAlmName(BattSingalIdEnum.getValue(data.getAlmSignalId())); |
| | | }); |
| | | PageInfo pageInfo=new PageInfo(list); |
| | | return new Response().setII(1,list!=null,pageInfo,"电池告警分析"); |
| | | } |
| | | |
| | | } |