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 8a09860..eefaa07 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 @@ -145,5 +145,17 @@ public class KeyProjectController { return keyProjectService.largeScreenStatistics(qry); } + @ApiOperation("可视化大屏-重点作业列表") + @PostMapping("/largeScreenPage") + public PageResponse largeScreenPage(@RequestBody KeyProjectLargeScreenPageQry qry) { + return keyProjectService.largeScreenPage(qry); + } + + @ApiOperation("可视化大屏-重点工程统计") + @PostMapping("/largeScreenProjectStatistics") + public SingleResponse largeScreenProjectStatistics(@RequestBody KeyProjectLargeScreenProjectStatisticsQry qry) { + return keyProjectService.largeScreenProjectStatistics(qry); + } + } diff --git a/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectCoConvertor.java b/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectCoConvertor.java index 5b41d78..4b1d327 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectCoConvertor.java @@ -63,5 +63,7 @@ public interface KeyProjectCoConvertor { } List converXgfCorpDOsToCOs(List xgfCorpDOList); + + List converLargeScreenDOsToCOs(List data); } 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 0e4c6c5..b52b2d1 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 @@ -2,6 +2,7 @@ package com.zcloud.key.project.command.query.project; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.exception.BizException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.gbscommon.utils.PageQueryHelper; @@ -295,5 +296,30 @@ public class KeyProjectQueryExe { result.setFourNewHomeworkApplyCount(data.getFourNewHomeworkApplyCount()); return result; } + + public PageResponse largeScreenPage(KeyProjectLargeScreenPageQry qry) { + if (qry == null || (qry.getCorpinfoId() == null && qry.getPortArea() == null)) { + throw new BizException("企业id和港区至少传一个"); + } + Map params = PageQueryHelper.toHashMap(qry); + PageResponse pageResponse = keyProjectRepository.largeScreenPage(params); + List result = keyProjectCoConvertor.converLargeScreenDOsToCOs(pageResponse.getData()); + return PageResponse.of(result, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public KeyProjectLargeScreenProjectStatisticsCO largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) { + if (qry == null || (qry.getCorpinfoId() == null && qry.getPortArea() == null)) { + throw new BizException("企业id和港区至少传一个"); + } + Map params = PageQueryHelper.toHashMap(qry); + KeyProjectLargeScreenProjectStatisticsDO data = keyProjectRepository.largeScreenProjectStatistics(params); + KeyProjectLargeScreenProjectStatisticsCO result = new KeyProjectLargeScreenProjectStatisticsCO(); + if (data == null) { + return result; + } + result.setTotalProjectCount(data.getTotalProjectCount()); + result.setStartCount(data.getStartCount()); + 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 3e3ae9c..b014aa4 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 @@ -113,5 +113,15 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI { public SingleResponse largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry) { return SingleResponse.of(keyProjectQueryExe.largeScreenStatistics(qry)); } + + @Override + public PageResponse largeScreenPage(KeyProjectLargeScreenPageQry qry) { + return keyProjectQueryExe.largeScreenPage(qry); + } + + @Override + public SingleResponse largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) { + return SingleResponse.of(keyProjectQueryExe.largeScreenProjectStatistics(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 583fffd..1acaa79 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 @@ -47,5 +47,9 @@ public interface KeyProjectServiceI { SingleResponse count(Long id); SingleResponse largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry); + + PageResponse largeScreenPage(KeyProjectLargeScreenPageQry qry); + + SingleResponse largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry); } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenCO.java new file mode 100644 index 0000000..d52a513 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenCO.java @@ -0,0 +1,22 @@ +package com.zcloud.key.project.dto.clientobject.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 可视化大屏重点作业列表返回 + * + * @Author zhaokai + * @Date 2026-07-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class KeyProjectLargeScreenCO extends KeyProjectCO { + + @ApiModelProperty(value = "企业名称") + private String corpinfoName; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西") + private Integer portArea; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenProjectStatisticsCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenProjectStatisticsCO.java new file mode 100644 index 0000000..0011f30 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectLargeScreenProjectStatisticsCO.java @@ -0,0 +1,22 @@ +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-21 + */ +@Data +public class KeyProjectLargeScreenProjectStatisticsCO implements Serializable { + + @ApiModelProperty(value = "重点工程总数") + private Integer totalProjectCount; + + @ApiModelProperty(value = "重点工程开工数") + private Integer startCount; +} 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/KeyProjectLargeScreenPageQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenPageQry.java new file mode 100644 index 0000000..6c919d2 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenPageQry.java @@ -0,0 +1,21 @@ +package com.zcloud.key.project.dto.project; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 可视化大屏重点作业列表请求 + * + * @Author zhaokai + * @Date 2026-07-21 + */ +@Data +public class KeyProjectLargeScreenPageQry extends PageQuery { + + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea") + private Integer portArea; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenProjectStatisticsQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenProjectStatisticsQry.java new file mode 100644 index 0000000..f747477 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectLargeScreenProjectStatisticsQry.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-21 + */ +@Data +public class KeyProjectLargeScreenProjectStatisticsQry implements Serializable { + + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea") + private Integer portArea; +} 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 eaa3a7d..2efdcbc 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,7 +19,7 @@ public class CameraInfoDO implements Serializable { //摄像头id @ApiModelProperty(value = "摄像头id") private String cameraId; - //摄像头类型,1:固定摄像头,2:移动摄像头 + //摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头 @ApiModelProperty(value = "摄像头类型,0:查全部,1:固定摄像头,2:移动摄像头") private Integer cameraType; diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenDO.java new file mode 100644 index 0000000..68e6a03 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenDO.java @@ -0,0 +1,25 @@ +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-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class KeyProjectLargeScreenDO extends KeyProjectDO { + + @ApiModelProperty(value = "企业名称") + @TableField(exist = false) + private String corpinfoName; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西") + @TableField(exist = false) + private Integer portArea; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenProjectStatisticsDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenProjectStatisticsDO.java new file mode 100644 index 0000000..653afe4 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectLargeScreenProjectStatisticsDO.java @@ -0,0 +1,19 @@ +package com.zcloud.key.project.persistence.dataobject.project; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏重点工程统计数据 + * + * @Author zhaokai + * @Date 2026-07-21 + */ +@Data +public class KeyProjectLargeScreenProjectStatisticsDO implements Serializable { + + private Integer totalProjectCount; + + private Integer startCount; +} 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 f54d52f..5ae8d40 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 @@ -42,5 +42,9 @@ public interface KeyProjectMapper extends BaseMapper { List getLastStatus(); KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map params); + + IPage largeScreenPage(IPage iPage, Map params); + + KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(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 e8d129c..d40bfa8 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 @@ -97,5 +97,17 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl params) { return keyProjectMapper.largeScreenStatistics(params); } + + @Override + public PageResponse largeScreenPage(Map params) { + IPage iPage = new Query().getPage(params); + IPage result = keyProjectMapper.largeScreenPage(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map params) { + return keyProjectMapper.largeScreenProjectStatistics(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 2577c40..5d2a650 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 @@ -33,5 +33,9 @@ public interface KeyProjectRepository extends BaseRepository { List getLastStatus(); KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map params); + + PageResponse largeScreenPage(Map params); + + KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map params); } diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index cf7d6c3..fca378b 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -637,5 +637,39 @@ AND kp.corpinfo_id = #{corpinfoId} + + + +