From f5586a966f2e341b18928ab90a702a5dadfc10ac Mon Sep 17 00:00:00 2001 From: zhaokai Date: Tue, 28 Jul 2026 13:44:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix(project):=20=E4=BF=AE=E6=AD=A3=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F=E9=A1=B9=E7=9B=AE=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/KeyProjectMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index 0847f8f..3c82a64 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -591,7 +591,7 @@ + + From 5e65188e4e70ed97f6b07f674b6b5c01b5be8bf6 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 29 Jul 2026 09:47:44 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat(project):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8F=AF=E8=A7=86=E5=8C=96=E5=A4=A7=E5=B1=8F=E9=87=8D=E7=82=B9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8=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 | 13 ++++++ .../project/KeyProjectServiceImpl.java | 5 +++ .../api/project/KeyProjectServiceI.java | 2 + .../project/KeyProjectLargeScreenInfoCO.java | 19 +++++++++ .../project/KeyProjectLargeScreenInfoQry.java | 22 ++++++++++ .../project/KeyProjectLargeScreenInfoDO.java | 21 ++++++++++ .../persistence/mapper/KeyProjectMapper.java | 2 + .../project/KeyProjectRepositoryImpl.java | 5 +++ .../project/KeyProjectRepository.java | 2 + .../resources/mapper/KeyProjectMapper.xml | 40 ++++++++++++++----- 11 files changed, 126 insertions(+), 11 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenInfoCO.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenInfoQry.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenInfoDO.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 7b0ef4d..11e2251 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 @@ -168,5 +168,11 @@ public class KeyProjectController { return MultiResponse.of(keyProjectService.largeScreenXgfStatistics(qry)); } + @ApiOperation("可视化大屏-重点作业信息列表") + @PostMapping("/largeScreenInfo") + public MultiResponse largeScreenInfo(@RequestBody KeyProjectLargeScreenInfoQry qry) { + return MultiResponse.of(keyProjectService.largeScreenInfo(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 1cc7799..8cae887 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 @@ -353,5 +353,18 @@ public class KeyProjectQueryExe { return result; }).collect(Collectors.toList()); } + + public List largeScreenInfo(KeyProjectLargeScreenInfoQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + List dataList = keyProjectRepository.largeScreenInfo(params); + if (CollUtil.isEmpty(dataList)) { + return java.util.Collections.emptyList(); + } + return dataList.stream().map(data -> { + KeyProjectLargeScreenInfoCO result = new KeyProjectLargeScreenInfoCO(); + org.springframework.beans.BeanUtils.copyProperties(data, result); + 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 ba5f44f..f8bf638 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 @@ -138,5 +138,10 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI { public List largeScreenXgfStatistics(KeyProjectLargeScreenXgfStatisticsQry qry) { return keyProjectQueryExe.largeScreenXgfStatistics(qry); } + + @Override + public List largeScreenInfo(KeyProjectLargeScreenInfoQry qry) { + return keyProjectQueryExe.largeScreenInfo(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 d51368b..ad0f76e 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 @@ -57,5 +57,7 @@ public interface KeyProjectServiceI { List largeScreenProjectProgress(KeyProjectLargeScreenProjectProgressQry qry); List largeScreenXgfStatistics(KeyProjectLargeScreenXgfStatisticsQry qry); + + List largeScreenInfo(KeyProjectLargeScreenInfoQry qry); } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenInfoCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenInfoCO.java new file mode 100644 index 0000000..d3e93b4 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenInfoCO.java @@ -0,0 +1,19 @@ +package com.zcloud.key.project.dto.clientobject.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 可视化大屏重点作业信息列表返回 + * + * @Author zhaokai + * @Date 2026-07-29 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class KeyProjectLargeScreenInfoCO extends KeyProjectLargeScreenCO { + + @ApiModelProperty(value = "辖区单位企业名称") + private String jurisdictionCorpinfoName; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenInfoQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenInfoQry.java new file mode 100644 index 0000000..9d9452b --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenInfoQry.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-29 + */ +@Data +public class KeyProjectLargeScreenInfoQry 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/KeyProjectLargeScreenInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenInfoDO.java new file mode 100644 index 0000000..63e0cd4 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenInfoDO.java @@ -0,0 +1,21 @@ +package com.zcloud.key.project.persistence.dataobject.project; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 可视化大屏重点作业信息列表数据 + * + * @Author zhaokai + * @Date 2026-07-29 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class KeyProjectLargeScreenInfoDO extends KeyProjectDO { + + @ApiModelProperty(value = "辖区单位企业名称") + @TableField(exist = false) + private String jurisdictionCorpinfoName; +} 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 03edd60..cd5d06c 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 @@ -52,5 +52,7 @@ public interface KeyProjectMapper extends BaseMapper { List largeScreenProjectProgress(Map params); List largeScreenXgfStatistics(Map params); + + List largeScreenInfo(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 201f59e..20faee8 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 @@ -124,5 +124,10 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl largeScreenXgfStatistics(Map params) { return keyProjectMapper.largeScreenXgfStatistics(params); } + + @Override + public List largeScreenInfo(Map params) { + return keyProjectMapper.largeScreenInfo(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 df3a013..a74e426 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 @@ -43,5 +43,7 @@ public interface KeyProjectRepository extends BaseRepository { List largeScreenProjectProgress(Map params); List largeScreenXgfStatistics(Map params); + + List largeScreenInfo(Map params); } diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index 5550856..b523377 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -565,7 +565,7 @@ FROM key_project kp WHERE kp.delete_enum = 'FALSE' - AND kp.corpinfo_id = #{corpinfoId} + AND kp.jurisdiction_corpinfo_id = #{corpinfoId} @@ -575,12 +575,12 @@ cp.port_area AS portArea FROM key_project kp - LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id + LEFT JOIN corp_info cp ON kp.jurisdiction_corpinfo_id = cp.id WHERE kp.delete_enum = 'FALSE' AND kp.apply_status IN (2, 4, 5) - AND kp.corpinfo_id = #{params.corpinfoId} + AND kp.jurisdiction_corpinfo_id = #{params.corpinfoId} AND cp.port_area = #{params.portArea} @@ -593,10 +593,10 @@ COUNT(DISTINCT CASE WHEN kp.apply_status IN (1, 2, 3, 4, 5, 6, 7) THEN kp.id END) AS totalProjectCount, COUNT(DISTINCT CASE WHEN kp.apply_status IN (2, 4, 5) THEN kp.id END) AS startCount FROM key_project kp - LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id + LEFT JOIN corp_info cp ON kp.jurisdiction_corpinfo_id = cp.id WHERE kp.delete_enum = 'FALSE' - AND kp.corpinfo_id = #{corpinfoId} + AND kp.jurisdiction_corpinfo_id = #{corpinfoId} AND cp.port_area = #{portArea} @@ -610,13 +610,13 @@ COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' THEN kp.id END) AS fourNewHomeworkCount, COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' THEN kp.id END) AS morePeopleCount FROM key_project kp - LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id + LEFT JOIN corp_info cp ON kp.jurisdiction_corpinfo_id = cp.id LEFT JOIN department d ON kp.master_department_id = d.id WHERE kp.delete_enum = 'FALSE' AND kp.apply_status IN (2, 3, 4, 5, 6, 7) AND kp.project_type IN ('four_new_homework', 'more_people') - AND kp.corpinfo_id = #{corpinfoId} + AND kp.jurisdiction_corpinfo_id = #{corpinfoId} AND cp.port_area = #{portArea} @@ -635,7 +635,7 @@ COALESCE(penalty_stat.penaltyAmount, 0) AS penaltyAmount FROM project_approval_flow paf LEFT JOIN project p ON paf.project_id = p.id - LEFT JOIN corp_info cp ON paf.corpinfo_id = cp.id + LEFT JOIN corp_info cp ON paf.jurisdiction_corpinfo_id = cp.id LEFT JOIN ( SELECT k.project_id, @@ -675,7 +675,7 @@ AND p.delete_enum = 'FALSE' AND p.project_status = 4 - AND paf.corpinfo_id = #{corpinfoId} + AND paf.jurisdiction_corpinfo_id = #{corpinfoId} AND cp.port_area = #{portArea} @@ -693,13 +693,13 @@ COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' THEN kp.id END) AS fourNewHomeworkCount, COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' THEN kp.id END) AS nightWorkCount FROM key_project kp - LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id + LEFT JOIN corp_info cp ON kp.jurisdiction_corpinfo_id = cp.id LEFT JOIN corp_info xgfci ON kp.xgf_corpinfo_id = xgfci.id WHERE kp.delete_enum = 'FALSE' AND kp.xgf_corpinfo_id IS NOT NULL AND kp.project_type IN ('more_people', 'four_new_homework', 'night_work') - AND kp.corpinfo_id = #{corpinfoId} + AND kp.jurisdiction_corpinfo_id = #{corpinfoId} AND cp.port_area = #{portArea} @@ -707,5 +707,23 @@ GROUP BY kp.xgf_corpinfo_id, xgfci.corp_name ORDER BY xgfci.corp_order ASC, xgfci.create_time DESC + +