From f69d4a8a53d285074d096dba1ccd4ff0385d2b24 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Fri, 5 Jul 2024 15:35:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=8D=B1=E5=A4=A7=E7=B1=BB?= =?UTF-8?q?=E5=88=AB=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DangerousEngineeringRecordController.java | 7 +++- .../DangerousEngineeringRecordMapper.java | 3 ++ .../xml/DangerousEngineeringRecordMapper.xml | 10 +++++ .../IDangerousEngineeringRecordService.java | 9 ++++ ...DangerousEngineeringRecordServiceImpl.java | 6 +++ .../XzAgjtLiveScreenController.java | 42 ++++++++++++++++--- 6 files changed, 70 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/controller/DangerousEngineeringRecordController.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/controller/DangerousEngineeringRecordController.java index 97c552e09..a945c2a24 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/controller/DangerousEngineeringRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/controller/DangerousEngineeringRecordController.java @@ -3,11 +3,13 @@ package com.zhgd.xmgl.modules.dangerous.controller; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.enums.ParamEnum; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.dangerous.entity.*; @@ -21,7 +23,11 @@ import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService; import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityInspectTaskRecord; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; +import com.zhgd.xmgl.modules.xz.special.entity.*; +import com.zhgd.xmgl.modules.xz.special.entity.vo.CountSpecialByFinalStatusVo; +import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.MessageUtil; +import com.zhgd.xmgl.util.NumberUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -253,6 +259,5 @@ public class DangerousEngineeringRecordController { public Result endEngineer(@ApiIgnore @RequestBody Map paramMap) { dangerousEngineeringRecordService.endEngineer(paramMap); return Result.ok(); - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/DangerousEngineeringRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/DangerousEngineeringRecordMapper.java index 7f78730c7..c64cca7f9 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/DangerousEngineeringRecordMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/DangerousEngineeringRecordMapper.java @@ -6,6 +6,7 @@ import java.util.Map; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.DataScope; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.xz.special.entity.vo.CountSpecialByFinalStatusVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.zhgd.xmgl.modules.dangerous.entity.DangerousEngineeringRecord; @@ -24,4 +25,6 @@ public interface DangerousEngineeringRecordMapper extends BaseMapper queryDangerousEngineeringPageList(Page page, @Param("param")Map map); EntityMap queryDangerousEngineeringPageList(@Param("param") Map map); + + List countDangerEngineerByFinalStatus(Map param); } diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/xml/DangerousEngineeringRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/xml/DangerousEngineeringRecordMapper.xml index 7cb1dec04..15dae1424 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/xml/DangerousEngineeringRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/mapper/xml/DangerousEngineeringRecordMapper.xml @@ -46,4 +46,14 @@ order by t.create_time desc + + diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/IDangerousEngineeringRecordService.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/IDangerousEngineeringRecordService.java index 77a41cdaf..bcd753503 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/IDangerousEngineeringRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/IDangerousEngineeringRecordService.java @@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.dangerous.entity.DangerousEngineeringRecord; import com.zhgd.xmgl.modules.xz.security.entity.vo.GetStatScoreVo; +import com.zhgd.xmgl.modules.xz.special.entity.vo.CountSpecialByFinalStatusVo; import java.util.Date; +import java.util.List; import java.util.Map; /** @@ -72,4 +74,11 @@ public interface IDangerousEngineeringRecordService extends IService map); + + /** + * 统计危大类别情况 + * @param param + * @return + */ + List countDangerEngineerByFinalStatus(Map param); } diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java index 69def3744..ab70d8f31 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java @@ -30,6 +30,7 @@ import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecor import com.zhgd.xmgl.modules.xz.security.entity.vo.GetStatScoreVo; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService; import com.zhgd.xmgl.modules.xz.service.IXzDangerousEngineeringAcceptanceService; +import com.zhgd.xmgl.modules.xz.special.entity.vo.CountSpecialByFinalStatusVo; import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.MessageUtil; import org.apache.commons.collections.MapUtils; @@ -321,4 +322,9 @@ public class DangerousEngineeringRecordServiceImpl extends ServiceImpl countDangerEngineerByFinalStatus(Map param) { + return baseMapper.countDangerEngineerByFinalStatus(param); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzAgjtLiveScreenController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzAgjtLiveScreenController.java index f94d635ae..2e3c70d7e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzAgjtLiveScreenController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzAgjtLiveScreenController.java @@ -8,28 +8,30 @@ import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.enums.ParamEnum; +import com.zhgd.xmgl.modules.dangerous.service.IDangerousEngineeringRecordService; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper; import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService; import com.zhgd.xmgl.modules.worker.service.impl.UserEnterpriseServiceImpl; import com.zhgd.xmgl.modules.xz.emergency.entity.XzEmergencyRecord; import com.zhgd.xmgl.modules.xz.emergency.mapper.XzEmergencyRecordMapper; +import com.zhgd.xmgl.modules.xz.special.entity.vo.CountSpecialByFinalStatusVo; import com.zhgd.xmgl.security.util.SecurityUtils; +import com.zhgd.xmgl.util.NumberUtils; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; +import java.util.*; @RestController @RequestMapping(value = {"/xmgl/agjtLiveScreen"}) @@ -43,6 +45,9 @@ public class XzAgjtLiveScreenController { AiAnalyseHardWareAlarmRecordMapper aiAnalyseHardWareAlarmRecordMapper; @Lazy @Autowired + IDangerousEngineeringRecordService dangerousEngineeringRecordService; + @Lazy + @Autowired private UserEnterpriseServiceImpl userEnterpriseService; @Autowired private XzEmergencyRecordMapper xzEmergencyRecordMapper; @@ -84,4 +89,29 @@ public class XzAgjtLiveScreenController { IPage pageList = xzEmergencyRecordMapper.queryList(page, queryWrapper); return Result.success(pageList); } + + @ApiOperation(value = "统计危大类别情况", notes = "统计危大类别情况", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/countDangerEngineerByFinalStatus") + public Result countDangerEngineerByFinalStatus(@ApiIgnore @RequestBody Map param) { + List groupByTypes = dangerousEngineeringRecordService.countDangerEngineerByFinalStatus(param); + long sum = groupByTypes.stream().map(CountSpecialByFinalStatusVo.GroupByType::getNum).mapToLong(value -> value).sum(); + Long running = 0L; + Long complete = 0L; + for (CountSpecialByFinalStatusVo.GroupByType type : groupByTypes) { + running += type.getRunning(); + complete += type.getComplete(); + type.setRatio(Optional.ofNullable(NumberUtils.occupyRate(type.getNum(), sum, 2)).orElse(0D)); + } + CountSpecialByFinalStatusVo rtVo = new CountSpecialByFinalStatusVo(); + CountSpecialByFinalStatusVo.Total total = new CountSpecialByFinalStatusVo.Total(); + total.setRunning(running); + total.setComplete(complete); + rtVo.setTotal(total); + rtVo.setGroupByType(groupByTypes); + return Result.success(rtVo); + } + }