Compare commits
4 Commits
ae65b5c41e
...
36ff847364
| Author | SHA1 | Date |
|---|---|---|
|
|
36ff847364 | |
|
|
65385ecf18 | |
|
|
8a4f371cf6 | |
|
|
3179f7f644 |
|
|
@ -145,5 +145,17 @@ public class KeyProjectController {
|
|||
return keyProjectService.largeScreenStatistics(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-重点作业列表")
|
||||
@PostMapping("/largeScreenPage")
|
||||
public PageResponse<KeyProjectLargeScreenCO> largeScreenPage(@RequestBody KeyProjectLargeScreenPageQry qry) {
|
||||
return keyProjectService.largeScreenPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-重点工程统计")
|
||||
@PostMapping("/largeScreenProjectStatistics")
|
||||
public SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(@RequestBody KeyProjectLargeScreenProjectStatisticsQry qry) {
|
||||
return keyProjectService.largeScreenProjectStatistics(qry);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,5 +63,7 @@ public interface KeyProjectCoConvertor {
|
|||
}
|
||||
|
||||
List<XgfCorpCO> converXgfCorpDOsToCOs(List<XgfCorpDO> xgfCorpDOList);
|
||||
|
||||
List<KeyProjectLargeScreenCO> converLargeScreenDOsToCOs(List<KeyProjectLargeScreenDO> data);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<CameraInfoCO> examCenterCOS = keyProjectCameraCoConvertor.converCameraDOsToCOs(pageResponse.getData());
|
||||
pageResponse.setPageSize(examCenterCOS.size());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
|
|
|
|||
|
|
@ -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<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry) {
|
||||
if (qry == null || (qry.getCorpinfoId() == null && qry.getPortArea() == null)) {
|
||||
throw new BizException("企业id和港区至少传一个");
|
||||
}
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
PageResponse<KeyProjectLargeScreenDO> pageResponse = keyProjectRepository.largeScreenPage(params);
|
||||
List<KeyProjectLargeScreenCO> 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<String, Object> 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -113,5 +113,15 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI {
|
|||
public SingleResponse<KeyProjectLargeScreenStatisticsCO> largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry) {
|
||||
return SingleResponse.of(keyProjectQueryExe.largeScreenStatistics(qry));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry) {
|
||||
return keyProjectQueryExe.largeScreenPage(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) {
|
||||
return SingleResponse.of(keyProjectQueryExe.largeScreenProjectStatistics(qry));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,5 +47,9 @@ public interface KeyProjectServiceI {
|
|||
SingleResponse<KeyProjectCountCO> count(Long id);
|
||||
|
||||
SingleResponse<KeyProjectLargeScreenStatisticsCO> largeScreenStatistics(KeyProjectLargeScreenStatisticsQry qry);
|
||||
|
||||
PageResponse<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry);
|
||||
|
||||
SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -7,7 +7,6 @@ import lombok.Getter;
|
|||
*/
|
||||
@Getter
|
||||
public enum KeyProjectCameraTypeEnum {
|
||||
ALL_CAMERA(0, "全部摄像头"),
|
||||
FIXED_CAMERA(1, "固定摄像头"),
|
||||
MOBILE_CAMERA(2, "移动摄像头");
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -42,5 +42,9 @@ public interface KeyProjectMapper extends BaseMapper<KeyProjectDO> {
|
|||
List<KeyProjectDO> getLastStatus();
|
||||
|
||||
KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map<String, Object> params);
|
||||
|
||||
IPage<KeyProjectLargeScreenDO> largeScreenPage(IPage<KeyProjectLargeScreenDO> iPage, Map<String, Object> params);
|
||||
|
||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,5 +97,17 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl<KeyProjectMappe
|
|||
public KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map<String, Object> params) {
|
||||
return keyProjectMapper.largeScreenStatistics(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<KeyProjectLargeScreenDO> largeScreenPage(Map<String, Object> params) {
|
||||
IPage<KeyProjectLargeScreenDO> iPage = new Query<KeyProjectLargeScreenDO>().getPage(params);
|
||||
IPage<KeyProjectLargeScreenDO> result = keyProjectMapper.largeScreenPage(iPage, params);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params) {
|
||||
return keyProjectMapper.largeScreenProjectStatistics(params);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,5 +33,9 @@ public interface KeyProjectRepository extends BaseRepository<KeyProjectDO> {
|
|||
List<KeyProjectDO> getLastStatus();
|
||||
|
||||
KeyProjectLargeScreenStatisticsDO largeScreenStatistics(Map<String, Object> params);
|
||||
|
||||
PageResponse<KeyProjectLargeScreenDO> largeScreenPage(Map<String, Object> params);
|
||||
|
||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -637,5 +637,39 @@
|
|||
AND kp.corpinfo_id = #{corpinfoId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="largeScreenPage" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenDO">
|
||||
SELECT kp.*,
|
||||
cp.corp_name AS corpinfoName,
|
||||
cp.port_area AS portArea
|
||||
|
||||
FROM key_project kp
|
||||
LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id
|
||||
|
||||
WHERE kp.delete_enum = 'FALSE'
|
||||
AND kp.apply_status IN (2, 4, 5)
|
||||
<if test="corpinfoId != null">
|
||||
AND kp.corpinfo_id = #{corpinfoId}
|
||||
</if>
|
||||
<if test="portArea != null">
|
||||
AND cp.port_area = #{portArea}
|
||||
</if>
|
||||
ORDER BY kp.apply_status ASC, kp.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="largeScreenProjectStatistics" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenProjectStatisticsDO">
|
||||
SELECT
|
||||
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, 6) THEN kp.id END) AS startCount
|
||||
FROM key_project kp
|
||||
LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id
|
||||
WHERE kp.delete_enum = 'FALSE'
|
||||
<if test="corpinfoId != null">
|
||||
AND kp.corpinfo_id = #{corpinfoId}
|
||||
</if>
|
||||
<if test="portArea != null">
|
||||
AND cp.port_area = #{portArea}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue