From e44a28ad5c68f19d6ec46afc2dc354db1cfe43c3 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Tue, 28 Jul 2026 15:38:33 +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=E7=9B=B8=E5=85=B3=E6=96=B9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=83=85=E5=86=B5=E7=BB=9F=E8=AE=A1=E5=8A=9F?= =?UTF-8?q?=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 | 17 ++++++++++ .../project/KeyProjectServiceImpl.java | 5 +++ .../api/project/KeyProjectServiceI.java | 2 ++ .../KeyProjectLargeScreenXgfStatisticsCO.java | 31 +++++++++++++++++++ ...KeyProjectLargeScreenXgfStatisticsQry.java | 22 +++++++++++++ .../KeyProjectLargeScreenXgfStatisticsDO.java | 25 +++++++++++++++ .../persistence/mapper/KeyProjectMapper.java | 2 ++ .../project/KeyProjectRepositoryImpl.java | 5 +++ .../project/KeyProjectRepository.java | 2 ++ .../resources/mapper/KeyProjectMapper.xml | 23 ++++++++++++++ 11 files changed, 140 insertions(+) create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenXgfStatisticsCO.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenXgfStatisticsQry.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenXgfStatisticsDO.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 760eddf..7b0ef4d 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 @@ -162,5 +162,11 @@ public class KeyProjectController { return MultiResponse.of(keyProjectService.largeScreenProjectProgress(qry)); } + @ApiOperation("可视化大屏-相关方作业情况统计") + @PostMapping("/largeScreenXgfStatistics") + public MultiResponse largeScreenXgfStatistics(@RequestBody KeyProjectLargeScreenXgfStatisticsQry qry) { + return MultiResponse.of(keyProjectService.largeScreenXgfStatistics(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 4e9f41f..1cc7799 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 @@ -336,5 +336,22 @@ public class KeyProjectQueryExe { return result; }).collect(Collectors.toList()); } + + public List largeScreenXgfStatistics(KeyProjectLargeScreenXgfStatisticsQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + List dataList = keyProjectRepository.largeScreenXgfStatistics(params); + if (CollUtil.isEmpty(dataList)) { + return java.util.Collections.emptyList(); + } + return dataList.stream().map(data -> { + KeyProjectLargeScreenXgfStatisticsCO result = new KeyProjectLargeScreenXgfStatisticsCO(); + result.setXgfCorpinfoId(data.getXgfCorpinfoId()); + result.setXgfCorpinfoName(data.getXgfCorpinfoName()); + result.setMorePeopleCount(data.getMorePeopleCount()); + result.setFourNewHomeworkCount(data.getFourNewHomeworkCount()); + result.setNightWorkCount(data.getNightWorkCount()); + return result; + }).collect(Collectors.toList()); + } } 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 e1720e7..ba5f44f 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 @@ -133,5 +133,10 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI { public List largeScreenProjectProgress(KeyProjectLargeScreenProjectProgressQry qry) { return keyProjectQueryExe.largeScreenProjectProgress(qry); } + + @Override + public List largeScreenXgfStatistics(KeyProjectLargeScreenXgfStatisticsQry qry) { + return keyProjectQueryExe.largeScreenXgfStatistics(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 c18c361..d51368b 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 @@ -55,5 +55,7 @@ public interface KeyProjectServiceI { List largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry); List largeScreenProjectProgress(KeyProjectLargeScreenProjectProgressQry qry); + + List largeScreenXgfStatistics(KeyProjectLargeScreenXgfStatisticsQry qry); } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenXgfStatisticsCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenXgfStatisticsCO.java new file mode 100644 index 0000000..b13a686 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenXgfStatisticsCO.java @@ -0,0 +1,31 @@ +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-28 + */ +@Data +public class KeyProjectLargeScreenXgfStatisticsCO implements Serializable { + + @ApiModelProperty(value = "相关方企业id") + private Long xgfCorpinfoId; + + @ApiModelProperty(value = "相关方名称") + private String xgfCorpinfoName; + + @ApiModelProperty(value = "三人及以上作业数") + private Integer morePeopleCount; + + @ApiModelProperty(value = "四新作业数") + private Integer fourNewHomeworkCount; + + @ApiModelProperty(value = "夜间作业数") + private Integer nightWorkCount; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenXgfStatisticsQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenXgfStatisticsQry.java new file mode 100644 index 0000000..fc90875 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenXgfStatisticsQry.java @@ -0,0 +1,22 @@ +package com.zcloud.key.project.dto.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏相关方作业情况统计请求 + * + * @Author zhaokai + * @Date 2026-07-28 + */ +@Data +public class KeyProjectLargeScreenXgfStatisticsQry implements Serializable { + + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea") + private Integer portArea; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenXgfStatisticsDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenXgfStatisticsDO.java new file mode 100644 index 0000000..25b8939 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenXgfStatisticsDO.java @@ -0,0 +1,25 @@ +package com.zcloud.key.project.persistence.dataobject.project; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏相关方作业情况统计数据 + * + * @Author zhaokai + * @Date 2026-07-28 + */ +@Data +public class KeyProjectLargeScreenXgfStatisticsDO implements Serializable { + + private Long xgfCorpinfoId; + + private String xgfCorpinfoName; + + private Integer morePeopleCount; + + private Integer fourNewHomeworkCount; + + private Integer nightWorkCount; +} 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 0417a8d..03edd60 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 @@ -50,5 +50,7 @@ public interface KeyProjectMapper extends BaseMapper { List largeScreenDepartmentStatistics(Map params); List largeScreenProjectProgress(Map params); + + List largeScreenXgfStatistics(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 fe1baee..201f59e 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 @@ -119,5 +119,10 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl largeScreenProjectProgress(Map params) { return keyProjectMapper.largeScreenProjectProgress(params); } + + @Override + public List largeScreenXgfStatistics(Map params) { + return keyProjectMapper.largeScreenXgfStatistics(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 dcfbe8e..df3a013 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 @@ -41,5 +41,7 @@ public interface KeyProjectRepository extends BaseRepository { List largeScreenDepartmentStatistics(Map params); List largeScreenProjectProgress(Map params); + + List largeScreenXgfStatistics(Map params); } diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index 3c82a64..5550856 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -684,5 +684,28 @@ ORDER BY p.initiation_time DESC + +