From 650c67e97bacbab57695c2055b52b6062ad10891 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Fri, 17 Jul 2026 17:31:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(project):=20=E6=B7=BB=E5=8A=A0=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96=E5=A4=A7=E5=B1=8F=E9=87=8D=E7=82=B9=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/project/KeyProjectController.java | 6 ++++ .../project/KeyProjectCameraQueryExe.java | 3 -- .../query/project/KeyProjectQueryExe.java | 16 +++++++++ .../project/KeyProjectServiceImpl.java | 5 +++ .../api/project/KeyProjectServiceI.java | 2 ++ .../clientobject/project/CameraInfoCO.java | 4 +-- .../KeyProjectLargeScreenStatisticsCO.java | 34 +++++++++++++++++++ .../project/dto/project/CameraListCmd.java | 2 +- .../KeyProjectLargeScreenStatisticsQry.java | 19 +++++++++++ .../enums/KeyProjectCameraTypeEnum.java | 1 - .../dataobject/project/CameraInfoDO.java | 4 +-- .../KeyProjectLargeScreenStatisticsDO.java | 27 +++++++++++++++ .../mapper/KeyProjectCameraMapper.java | 2 -- .../persistence/mapper/KeyProjectMapper.java | 2 ++ .../project/KeyProjectRepositoryImpl.java | 5 +++ .../project/KeyProjectCameraRepository.java | 2 -- .../project/KeyProjectRepository.java | 2 ++ .../resources/mapper/KeyProjectMapper.xml | 15 ++++++++ 18 files changed, 138 insertions(+), 13 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenStatisticsCO.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenStatisticsQry.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenStatisticsDO.java diff --git a/web-adapter/src/main/java/com/zcloud/key/project/web/project/KeyProjectController.java b/web-adapter/src/main/java/com/zcloud/key/project/web/project/KeyProjectController.java index e4c4151..8a09860 100644 --- a/web-adapter/src/main/java/com/zcloud/key/project/web/project/KeyProjectController.java +++ b/web-adapter/src/main/java/com/zcloud/key/project/web/project/KeyProjectController.java @@ -139,5 +139,11 @@ public class KeyProjectController { return MultiResponse.of( keyProjectService.getXgfCorp(qry)); } + @ApiOperation("可视化大屏-重点作业统计数量") + @PostMapping("/largeScreenStatistics") + public SingleResponse largeScreenStatistics(@RequestBody KeyProjectLargeScreenStatisticsQry qry) { + return keyProjectService.largeScreenStatistics(qry); + } + } diff --git a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectCameraQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectCameraQueryExe.java index 70af8d9..58c01a9 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectCameraQueryExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectCameraQueryExe.java @@ -59,9 +59,6 @@ public class KeyProjectCameraQueryExe { if(KeyProjectCameraTypeEnum.MOBILE_CAMERA.getCode().equals(cameraListCmd.getCameraType())){ pageResponse = keyProjectCameraRepository.listMobileCameraAll(params); } - if(KeyProjectCameraTypeEnum.ALL_CAMERA.getCode().equals(cameraListCmd.getCameraType())){ - pageResponse = keyProjectCameraRepository.listAllCamera(params); - } List examCenterCOS = keyProjectCameraCoConvertor.converCameraDOsToCOs(pageResponse.getData()); pageResponse.setPageSize(examCenterCOS.size()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); diff --git a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java index 67eca11..0e4c6c5 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java @@ -279,5 +279,21 @@ public class KeyProjectQueryExe { keyProjectCountCO.setFeedbackCount(feedbackCount); return keyProjectCountCO; } + + public KeyProjectLargeScreenStatisticsCO largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + KeyProjectLargeScreenStatisticsDO data = keyProjectRepository.largeScreenStatistics(params); + KeyProjectLargeScreenStatisticsCO result = new KeyProjectLargeScreenStatisticsCO(); + if (data == null) { + return result; + } + result.setMorePeopleStartCount(data.getMorePeopleStartCount()); + result.setMorePeopleApplyCount(data.getMorePeopleApplyCount()); + result.setNightWorkStartCount(data.getNightWorkStartCount()); + result.setNightWorkApplyCount(data.getNightWorkApplyCount()); + result.setFourNewHomeworkStartCount(data.getFourNewHomeworkStartCount()); + result.setFourNewHomeworkApplyCount(data.getFourNewHomeworkApplyCount()); + return result; + } } diff --git a/web-app/src/main/java/com/zcloud/key/project/service/project/KeyProjectServiceImpl.java b/web-app/src/main/java/com/zcloud/key/project/service/project/KeyProjectServiceImpl.java index 5240802..3e3ae9c 100644 --- a/web-app/src/main/java/com/zcloud/key/project/service/project/KeyProjectServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/key/project/service/project/KeyProjectServiceImpl.java @@ -108,5 +108,10 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI { public SingleResponse count(Long id) { return SingleResponse.of(keyProjectQueryExe.count(id)); } + + @Override + public SingleResponse largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry) { + return SingleResponse.of(keyProjectQueryExe.largeScreenStatistics(qry)); + } } diff --git a/web-client/src/main/java/com/zcloud/key/project/api/project/KeyProjectServiceI.java b/web-client/src/main/java/com/zcloud/key/project/api/project/KeyProjectServiceI.java index 3933a74..583fffd 100644 --- a/web-client/src/main/java/com/zcloud/key/project/api/project/KeyProjectServiceI.java +++ b/web-client/src/main/java/com/zcloud/key/project/api/project/KeyProjectServiceI.java @@ -45,5 +45,7 @@ public interface KeyProjectServiceI { void updatExecuteStatusJob(); SingleResponse count(Long id); + + SingleResponse largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry); } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CameraInfoCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CameraInfoCO.java index 0e65514..dfb0505 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CameraInfoCO.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CameraInfoCO.java @@ -19,8 +19,8 @@ public class CameraInfoCO implements Serializable { //摄像头id @ApiModelProperty(value = "摄像头id") private String cameraId; - //摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头 - @ApiModelProperty(value = "摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头") + //摄像头类型,1:固定摄像头,2:移动摄像头 + @ApiModelProperty(value = "摄像头类型,1:固定摄像头,2:移动摄像头") private Integer cameraType; @ApiModelProperty(value = "摄像头名称") diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenStatisticsCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenStatisticsCO.java new file mode 100644 index 0000000..82c6940 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenStatisticsCO.java @@ -0,0 +1,34 @@ +package com.zcloud.key.project.dto.clientobject.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏重点作业统计返回 + * + * @Author zhaokai + * @Date 2026-07-16 + */ +@Data +public class KeyProjectLargeScreenStatisticsCO implements Serializable { + + @ApiModelProperty(value = "三人及以上作业当前作业数") + private Integer morePeopleStartCount; + + @ApiModelProperty(value = "三人及以上作业申请数") + private Integer morePeopleApplyCount; + + @ApiModelProperty(value = "夜间作业当前作业数") + private Integer nightWorkStartCount; + + @ApiModelProperty(value = "夜间作业申请数") + private Integer nightWorkApplyCount; + + @ApiModelProperty(value = "四新作业当前作业数") + private Integer fourNewHomeworkStartCount; + + @ApiModelProperty(value = "四新作业申请数") + private Integer fourNewHomeworkApplyCount; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/CameraListCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/CameraListCmd.java index f22c5be..77355f8 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/project/CameraListCmd.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/CameraListCmd.java @@ -26,7 +26,7 @@ public class CameraListCmd extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ - @ApiModelProperty(value = "摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头") + @ApiModelProperty(value = "摄像头类型,1:固定摄像头,2:移动摄像头") @NotNull(message = "摄像头类型不能为空") private Integer cameraType; diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenStatisticsQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenStatisticsQry.java new file mode 100644 index 0000000..7996cb3 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenStatisticsQry.java @@ -0,0 +1,19 @@ +package com.zcloud.key.project.dto.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏重点作业统计请求 + * + * @Author zhaokai + * @Date 2026-07-16 + */ +@Data +public class KeyProjectLargeScreenStatisticsQry implements Serializable { + + @ApiModelProperty(value = "企业id") + private Long corpinfoId; +} diff --git a/web-domain/src/main/java/com/zcloud/key/project/domain/enums/KeyProjectCameraTypeEnum.java b/web-domain/src/main/java/com/zcloud/key/project/domain/enums/KeyProjectCameraTypeEnum.java index 3bc447c..36aaaba 100644 --- a/web-domain/src/main/java/com/zcloud/key/project/domain/enums/KeyProjectCameraTypeEnum.java +++ b/web-domain/src/main/java/com/zcloud/key/project/domain/enums/KeyProjectCameraTypeEnum.java @@ -7,7 +7,6 @@ import lombok.Getter; */ @Getter public enum KeyProjectCameraTypeEnum { - ALL_CAMERA(0, "全部摄像头"), FIXED_CAMERA(1, "固定摄像头"), MOBILE_CAMERA(2, "移动摄像头"); diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CameraInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CameraInfoDO.java index 2efdcbc..dfa4b78 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CameraInfoDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CameraInfoDO.java @@ -19,8 +19,8 @@ public class CameraInfoDO implements Serializable { //摄像头id @ApiModelProperty(value = "摄像头id") private String cameraId; - //摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头 - @ApiModelProperty(value = "摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头") + //摄像头类型,1:固定摄像头,2:移动摄像头 + @ApiModelProperty(value = "摄像头类型,1:固定摄像头,2:移动摄像头") private Integer cameraType; @ApiModelProperty(value = "摄像头名称") diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenStatisticsDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenStatisticsDO.java new file mode 100644 index 0000000..572694f --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenStatisticsDO.java @@ -0,0 +1,27 @@ +package com.zcloud.key.project.persistence.dataobject.project; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏重点作业统计数据 + * + * @Author zhaokai + * @Date 2026-07-16 + */ +@Data +public class KeyProjectLargeScreenStatisticsDO implements Serializable { + + private Integer morePeopleStartCount; + + private Integer morePeopleApplyCount; + + private Integer nightWorkStartCount; + + private Integer nightWorkApplyCount; + + private Integer fourNewHomeworkStartCount; + + private Integer fourNewHomeworkApplyCount; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectCameraMapper.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectCameraMapper.java index 0e3c9bb..720d36c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectCameraMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectCameraMapper.java @@ -30,8 +30,6 @@ public interface KeyProjectCameraMapper extends BaseMapper { IPage listMobileCameraAll(IPage iPage, Map params); - IPage listAllCamera(IPage iPage, Map params); - List listCameraByProjectId(@Param("params") Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectMapper.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectMapper.java index 3eb3ffa..f54d52f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectMapper.java @@ -40,5 +40,7 @@ public interface KeyProjectMapper extends BaseMapper { List getXgfCorp(Map params); List getLastStatus(); + + KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectRepositoryImpl.java index cea17e4..e8d129c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectRepositoryImpl.java @@ -92,5 +92,10 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl params) { + return keyProjectMapper.largeScreenStatistics(params); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectCameraRepository.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectCameraRepository.java index 93d4b38..dec5e37 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectCameraRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectCameraRepository.java @@ -26,7 +26,5 @@ public interface KeyProjectCameraRepository extends BaseRepository listFixedCameraAll(Map params); PageResponse listMobileCameraAll(Map params); - - PageResponse listAllCamera(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectRepository.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectRepository.java index c295dec..2577c40 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectRepository.java @@ -31,5 +31,7 @@ public interface KeyProjectRepository extends BaseRepository { List getXgfCorp(Map params); List getLastStatus(); + + KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map params); } diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index bc87da6..cf7d6c3 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -622,5 +622,20 @@ AND kp.plan_work_end_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY kp.create_time DESC + +