package com.ozs.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.ozs.entity.MsgAlarm; import com.ozs.entity.vo.*; import com.ozs.mapper.BaseCameraManagementMapper; import com.ozs.mapper.MsgAlarmMapper; import com.ozs.service.MsgAlarmService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 报警信息表 服务实现类 *

* * @author ozs * @since 2023-02-22 */ @Service public class MsgAlarmServiceImpl extends ServiceImpl implements MsgAlarmService { @Autowired private MsgAlarmMapper msgAlarmMapper; @Autowired private BaseCameraManagementMapper baseCameraManagementMapper; public IPage listToPage(List list, int pageNum, int pageSize) { List pageList = new ArrayList<>(); int curIdx = pageNum > 1 ? (pageNum - 1) * pageSize : 0; for (int i = 0; i < pageSize && curIdx + i < list.size(); i++) { pageList.add(list.get(curIdx + i)); } IPage page = new Page<>(pageNum, pageSize); page.setRecords(pageList); page.setTotal(list.size()); return page; } //web数据统计 报警数据详情 @Override public List list(String railwayCode, Integer currentYear, Integer currentMonth, Integer pageNum, Integer pageSize) { List list = msgAlarmMapper.list(railwayCode, currentYear, currentMonth); return list; } @Override public List getCount(String railwayCode, Integer currentYear, Integer currentMonth) { List list = msgAlarmMapper.listDtoMonth(railwayCode, currentYear, currentMonth); return list; } @Override public List getDayCount(String railwayCode, Integer currentYear, Integer currentMonth) { List list = msgAlarmMapper.listDtoDay(railwayCode, currentYear, currentMonth); return list; } @Override public List getAlarmTypeCount(String railwayCode, Integer currentYear, Integer currentMonth) { List list = msgAlarmMapper.alarmTypeCount(railwayCode, currentYear, currentMonth); return list; } @Override public List alarmTypeAreaCount(String railwayCode, Integer currentYear, Integer currentMonth) { List list = msgAlarmMapper.alarmTypeAreaCount(railwayCode, currentYear, currentMonth); return list; } @Override public List exportExcel(AlarmStatisticResVo alarmStatisticResVo) { List listDto = msgAlarmMapper.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(), alarmStatisticResVo.getCurrentMonth()); return listDto; } @Override public Long getAlarmNum() { Long alarmNum = msgAlarmMapper.getAlarmNum(); return alarmNum; } @Override public MsgAlarm selectByCameraCode(String cameraCode) { return msgAlarmMapper.selectByCameraCode(cameraCode); } @Override public IPage queryPage(MsgAlarmVo vo) { int pageNum = Integer.parseInt(vo.getPageNum().toString()); int pageSize = Integer.parseInt(vo.getPageSize().toString()); com.github.pagehelper.Page page = PageHelper.startPage(pageNum, pageSize) .doSelectPage(() -> msgAlarmMapper.selectMsgAlarmList(vo)); Page pageR = new Page<>(pageNum, pageSize); pageR.setRecords(page.getResult()); pageR.setTotal(page.getTotal()); return pageR; } @Override public MsgAlarm getByAlarmId(String alarmId) { return msgAlarmMapper.getByAlarmId(alarmId); } @Override public Map statisticsNum(MsgAlarmVo msgAlarmVo) { Map map = new HashMap<>(); // 相机数量 Integer countCamera = baseCameraManagementMapper.countCamera(msgAlarmVo); // 累计报警次数 Integer countMsg = msgAlarmMapper.countMsg(msgAlarmVo); // 解除报警 // LambdaQueryWrapper lwJC = new LambdaQueryWrapper(); // lwJC.eq(MsgAlarm::getIsLock, "1"); Integer countJC = msgAlarmMapper.countJC(msgAlarmVo); // 未解除报警 // LambdaQueryWrapper lwWJC = new LambdaQueryWrapper(); // lwWJC.eq(MsgAlarm::getIsLock, "2"); Integer countWJC = msgAlarmMapper.countWJC(msgAlarmVo); map.put("countCamera", countCamera); map.put("countMsg", countMsg); map.put("countJC", countJC); map.put("countWJC", countWJC); return map; } @Override public Integer appAlarmNum(MsgAlarmVo msgAlarmVo) { return msgAlarmMapper.countWJC(msgAlarmVo); } @Override public List msgAlarmList(MsgAlarmVo msgAlarmVo) { return msgAlarmMapper.selectMsgAlarmList(msgAlarmVo); } }