diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/AiStatisticController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/AiStatisticController.java index ec04e52f9..88af33291 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/controller/AiStatisticController.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/AiStatisticController.java @@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.video.controller; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountPageVO; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO; import com.zhgd.xmgl.modules.video.service.IAiStatisticService; import io.swagger.annotations.Api; @@ -51,6 +52,18 @@ public class AiStatisticController { return Result.success(aiStatisticService.selectAiAnalyseHardWareAlarmTypeCount(map)); } + @ApiOperation(value = "AI预警类型分页统计", notes = "AI预警类型分页统计") + @ApiImplicitParams({ + @ApiImplicitParam(name = "sn", value = "公司或项目sn", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "type", value = "0默认查今日,1查今天、今天较昨天、本月、历史", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"), + }) + @PostMapping("/selectAiAnalyseHardWareAlarmTypeCountPage") + public Result selectAiAnalyseHardWareAlarmTypeCountPage(@RequestBody Map map) { + return Result.success(aiStatisticService.selectAiAnalyseHardWareAlarmTypeCountPage(map)); + } + @ApiOperation(value = "AI预警Top项目列表", notes = "AI预警Top项目列表") @ApiImplicitParams({ diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/vo/AiAnalyseHardWareAlarmTypeCountPageVO.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/vo/AiAnalyseHardWareAlarmTypeCountPageVO.java new file mode 100644 index 000000000..609998230 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/vo/AiAnalyseHardWareAlarmTypeCountPageVO.java @@ -0,0 +1,10 @@ +package com.zhgd.xmgl.modules.video.entity.vo; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Data; + +@Data +public class AiAnalyseHardWareAlarmTypeCountPageVO { + private Page alarmPage; + private Integer totalAlarmNum; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java index d354feaa5..20d8b0390 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java @@ -38,6 +38,8 @@ public interface AiAnalyseHardWareAlarmRecordMapper extends BaseMapper selectAiAnalyseHardWareAlarmTypeCount(@Param("param") Map map); + Page selectAiAnalyseHardWareAlarmTypeCount(@Param("param") Map map, Page page); + List> selectProjectAiAlarmCountList(Map map); List> selectAiAlarmAnalyseCountList(Map map); diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/IAiStatisticService.java b/src/main/java/com/zhgd/xmgl/modules/video/service/IAiStatisticService.java index 45382d834..b4baf2ccd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/IAiStatisticService.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/IAiStatisticService.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.video.service; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountPageVO; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO; import java.util.List; diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiStatisticServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiStatisticServiceImpl.java index 28c2cb896..d1e5ad6d2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiStatisticServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiStatisticServiceImpl.java @@ -1,7 +1,9 @@ package com.zhgd.xmgl.modules.video.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant; import com.zhgd.xmgl.modules.basicdata.entity.Company; @@ -10,12 +12,14 @@ import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.modules.basicdata.service.impl.DictionaryItemServiceImpl; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmRecordVo; +import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountPageVO; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO; import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper; import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; import com.zhgd.xmgl.modules.video.service.IAiStatisticService; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -103,13 +107,6 @@ public class AiStatisticServiceImpl implements IAiStatisticService { } } - //设置数量和名称 - Integer totalAlarmNum = 0; - if (CollUtil.isNotEmpty(rsList)) { - for (AiAnalyseHardWareAlarmRecordVo dev : rsList) { - totalAlarmNum = totalAlarmNum + dev.getAlarmNum(); - } - } Map> dictMap = new HashMap<>(); for (AiAnalyseHardWareAlarmRecordVo record : rsList) { String projectSn = record.getProjectSn(); @@ -128,7 +125,35 @@ public class AiStatisticServiceImpl implements IAiStatisticService { } AiAnalyseHardWareAlarmTypeCountVO vo = new AiAnalyseHardWareAlarmTypeCountVO(); vo.setAlarmList(rsList); - vo.setTotalAlarmNum(totalAlarmNum); + vo.setTotalAlarmNum(getTotalAlarmNum(rsList)); + return vo; + } + + @NotNull + private Integer getTotalAlarmNum(List rsList) { + //设置数量和名称 + Integer totalAlarmNum = 0; + if (CollUtil.isNotEmpty(rsList)) { + for (AiAnalyseHardWareAlarmRecordVo dev : rsList) { + totalAlarmNum = totalAlarmNum + dev.getAlarmNum(); + } + } + return totalAlarmNum; + } + + @Override + public AiAnalyseHardWareAlarmTypeCountPageVO selectAiAnalyseHardWareAlarmTypeCountPage(Map param) { + int pageNo = Integer.parseInt(param.getOrDefault("pageNo", 1).toString()); + int pageSize = Integer.parseInt(param.getOrDefault("pageSize", 10).toString()); + AiAnalyseHardWareAlarmTypeCountVO listVo = selectAiAnalyseHardWareAlarmTypeCount(param); + AiAnalyseHardWareAlarmTypeCountPageVO vo = new AiAnalyseHardWareAlarmTypeCountPageVO(); + Page alarmPage = new Page<>(); + List alarmList = listVo.getAlarmList(); + int[] startEnd = PageUtil.transToStartEnd(pageNo - 1, pageSize); + alarmPage.setRecords(CollUtil.sub(alarmList, startEnd[0], startEnd[1])); + alarmPage.setTotal(alarmList.size()); + vo.setAlarmPage(alarmPage); + vo.setTotalAlarmNum(getTotalAlarmNum(alarmList)); return vo; }