AI预警类型分页统计

This commit is contained in:
guoshengxiong 2024-05-14 18:41:33 +08:00
parent c25f8fcad9
commit e7dae20839
5 changed files with 59 additions and 8 deletions

View File

@ -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<AiAnalyseHardWareAlarmTypeCountPageVO> selectAiAnalyseHardWareAlarmTypeCountPage(@RequestBody Map<String, Object> map) {
return Result.success(aiStatisticService.selectAiAnalyseHardWareAlarmTypeCountPage(map));
}
@ApiOperation(value = "AI预警Top项目列表", notes = "AI预警Top项目列表")
@ApiImplicitParams({

View File

@ -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<AiAnalyseHardWareAlarmRecordVo> alarmPage;
private Integer totalAlarmNum;
}

View File

@ -38,6 +38,8 @@ public interface AiAnalyseHardWareAlarmRecordMapper extends BaseMapper<AiAnalyse
List<AiAnalyseHardWareAlarmRecordVo> selectAiAnalyseHardWareAlarmTypeCount(@Param("param") Map<String, Object> map);
Page<AiAnalyseHardWareAlarmRecordVo> selectAiAnalyseHardWareAlarmTypeCount(@Param("param") Map<String, Object> map, Page<AiAnalyseHardWareAlarmRecordVo> page);
List<Map<String, Object>> selectProjectAiAlarmCountList(Map<String, Object> map);
List<Map<String, Object>> selectAiAlarmAnalyseCountList(Map<String, Object> map);

View File

@ -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;

View File

@ -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<String, List<DictionaryItem>> 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<AiAnalyseHardWareAlarmRecordVo> rsList) {
//设置数量和名称
Integer totalAlarmNum = 0;
if (CollUtil.isNotEmpty(rsList)) {
for (AiAnalyseHardWareAlarmRecordVo dev : rsList) {
totalAlarmNum = totalAlarmNum + dev.getAlarmNum();
}
}
return totalAlarmNum;
}
@Override
public AiAnalyseHardWareAlarmTypeCountPageVO selectAiAnalyseHardWareAlarmTypeCountPage(Map<String, Object> 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<AiAnalyseHardWareAlarmRecordVo> alarmPage = new Page<>();
List<AiAnalyseHardWareAlarmRecordVo> 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;
}