From 8a4f371cf6f8fe15272d5b967da854be5794d82a Mon Sep 17 00:00:00 2001 From: zhaokai Date: Thu, 16 Jul 2026 17:31:43 +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 ++++ .../query/project/KeyProjectQueryExe.java | 16 +++++++++ .../project/KeyProjectServiceImpl.java | 5 +++ .../api/project/KeyProjectServiceI.java | 2 ++ .../KeyProjectLargeScreenStatisticsCO.java | 34 +++++++++++++++++++ .../KeyProjectLargeScreenStatisticsQry.java | 19 +++++++++++ .../KeyProjectLargeScreenStatisticsDO.java | 27 +++++++++++++++ .../persistence/mapper/KeyProjectMapper.java | 2 ++ .../project/KeyProjectRepositoryImpl.java | 5 +++ .../project/KeyProjectRepository.java | 2 ++ .../resources/mapper/KeyProjectMapper.xml | 15 ++++++++ 11 files changed, 133 insertions(+) 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 b2848d6..5956348 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 @@ -132,5 +132,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/KeyProjectQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java index 15f210e..762d195 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 @@ -257,5 +257,21 @@ public class KeyProjectQueryExe { keyProjectCountCO.setZdzysqCount(zdzysqCount); 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/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/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-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/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/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 d07e529..781355a 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -547,5 +547,20 @@ AND kp.plan_work_end_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY kp.create_time DESC + +