Merge branch 'dev_visual_page' into dev
commit
77e65e3af6
|
|
@ -163,5 +163,11 @@ public class KeyProjectController {
|
||||||
return MultiResponse.of(keyProjectService.largeScreenDepartmentStatistics(qry));
|
return MultiResponse.of(keyProjectService.largeScreenDepartmentStatistics(qry));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("可视化大屏-项目进行情况")
|
||||||
|
@PostMapping("/largeScreenProjectProgress")
|
||||||
|
public MultiResponse<KeyProjectLargeScreenProjectProgressCO> largeScreenProjectProgress(@RequestBody KeyProjectLargeScreenProjectProgressQry qry) {
|
||||||
|
return MultiResponse.of(keyProjectService.largeScreenProjectProgress(qry));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -340,5 +340,23 @@ public class KeyProjectQueryExe {
|
||||||
return result;
|
return result;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<KeyProjectLargeScreenProjectProgressCO> largeScreenProjectProgress(KeyProjectLargeScreenProjectProgressQry qry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
List<KeyProjectLargeScreenProjectProgressDO> dataList = keyProjectRepository.largeScreenProjectProgress(params);
|
||||||
|
if (CollUtil.isEmpty(dataList)) {
|
||||||
|
return java.util.Collections.emptyList();
|
||||||
|
}
|
||||||
|
return dataList.stream().map(data -> {
|
||||||
|
KeyProjectLargeScreenProjectProgressCO result = new KeyProjectLargeScreenProjectProgressCO();
|
||||||
|
result.setProjectId(data.getProjectId());
|
||||||
|
result.setProjectName(data.getProjectName());
|
||||||
|
result.setCorpinfoName(data.getCorpinfoName());
|
||||||
|
result.setInspectCount(data.getInspectCount());
|
||||||
|
result.setHiddenCount(data.getHiddenCount());
|
||||||
|
result.setPenaltyAmount(data.getPenaltyAmount());
|
||||||
|
return result;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -128,5 +128,10 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI {
|
||||||
public List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry) {
|
public List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry) {
|
||||||
return keyProjectQueryExe.largeScreenDepartmentStatistics(qry);
|
return keyProjectQueryExe.largeScreenDepartmentStatistics(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<KeyProjectLargeScreenProjectProgressCO> largeScreenProjectProgress(KeyProjectLargeScreenProjectProgressQry qry) {
|
||||||
|
return keyProjectQueryExe.largeScreenProjectProgress(qry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,5 +53,7 @@ public interface KeyProjectServiceI {
|
||||||
SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry);
|
SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry);
|
||||||
|
|
||||||
List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry);
|
List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry);
|
||||||
|
|
||||||
|
List<KeyProjectLargeScreenProjectProgressCO> largeScreenProjectProgress(KeyProjectLargeScreenProjectProgressQry qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.zcloud.key.project.dto.clientobject.project;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏项目进行情况返回
|
||||||
|
*
|
||||||
|
* @Author zhaokai
|
||||||
|
* @Date 2026-07-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class KeyProjectLargeScreenProjectProgressCO implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目id")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目名称")
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "承包单位")
|
||||||
|
private String corpinfoName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "被检查数")
|
||||||
|
private Integer inspectCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "检查发现隐患数")
|
||||||
|
private Integer hiddenCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "被处罚金额")
|
||||||
|
private BigDecimal penaltyAmount;
|
||||||
|
}
|
||||||
|
|
@ -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-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class KeyProjectLargeScreenProjectProgressQry implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业id", name = "corpinfoId")
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
|
||||||
|
private Integer portArea;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.zcloud.key.project.persistence.dataobject.project;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏项目进行情况数据
|
||||||
|
*
|
||||||
|
* @Author zhaokai
|
||||||
|
* @Date 2026-07-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class KeyProjectLargeScreenProjectProgressDO implements Serializable {
|
||||||
|
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
private String corpinfoName;
|
||||||
|
|
||||||
|
private Integer inspectCount;
|
||||||
|
|
||||||
|
private Integer hiddenCount;
|
||||||
|
|
||||||
|
private BigDecimal penaltyAmount;
|
||||||
|
}
|
||||||
|
|
@ -48,5 +48,7 @@ public interface KeyProjectMapper extends BaseMapper<KeyProjectDO> {
|
||||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<KeyProjectLargeScreenProjectProgressDO> largeScreenProjectProgress(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,5 +114,10 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl<KeyProjectMappe
|
||||||
public List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params) {
|
public List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params) {
|
||||||
return keyProjectMapper.largeScreenDepartmentStatistics(params);
|
return keyProjectMapper.largeScreenDepartmentStatistics(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<KeyProjectLargeScreenProjectProgressDO> largeScreenProjectProgress(Map<String, Object> params) {
|
||||||
|
return keyProjectMapper.largeScreenProjectProgress(params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,5 +39,7 @@ public interface KeyProjectRepository extends BaseRepository<KeyProjectDO> {
|
||||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<KeyProjectLargeScreenProjectProgressDO> largeScreenProjectProgress(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -699,5 +699,65 @@
|
||||||
GROUP BY kp.master_department_id, d.name
|
GROUP BY kp.master_department_id, d.name
|
||||||
ORDER BY kp.master_department_id ASC
|
ORDER BY kp.master_department_id ASC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="largeScreenProjectProgress" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenProjectProgressDO">
|
||||||
|
SELECT
|
||||||
|
p.id AS projectId,
|
||||||
|
p.project_name AS projectName,
|
||||||
|
p.corpinfo_name AS corpinfoName,
|
||||||
|
COALESCE(sei_stat.inspectCount, 0) AS inspectCount,
|
||||||
|
COALESCE(hidden_stat.hiddenCount, 0) AS hiddenCount,
|
||||||
|
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 (
|
||||||
|
SELECT
|
||||||
|
k.project_id,
|
||||||
|
COUNT(DISTINCT sei.id) AS inspectCount
|
||||||
|
FROM key_project k
|
||||||
|
INNER JOIN safety_environmental_inspection sei ON sei.key_project_id = k.key_project_id
|
||||||
|
AND sei.delete_enum = 'FALSE'
|
||||||
|
AND sei.status != 0
|
||||||
|
WHERE k.delete_enum = 'FALSE'
|
||||||
|
GROUP BY k.project_id
|
||||||
|
) sei_stat ON sei_stat.project_id = p.id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
k.project_id,
|
||||||
|
COUNT(DISTINCT h.id) AS hiddenCount
|
||||||
|
FROM key_project k
|
||||||
|
INNER JOIN safety_environmental_inspection sei ON sei.key_project_id = k.key_project_id
|
||||||
|
AND sei.delete_enum = 'FALSE'
|
||||||
|
AND sei.status != 0
|
||||||
|
INNER JOIN hidden h ON h.foreign_key = sei.inspection_id
|
||||||
|
AND h.delete_enum = 'FALSE'
|
||||||
|
WHERE k.delete_enum = 'FALSE'
|
||||||
|
GROUP BY k.project_id
|
||||||
|
) hidden_stat ON hidden_stat.project_id = p.id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
k.project_id,
|
||||||
|
SUM(COALESCE(hp.penalty_amount, 0)) AS penaltyAmount
|
||||||
|
FROM key_project k
|
||||||
|
INNER JOIN hidden_penalty hp ON hp.key_project_id = k.key_project_id
|
||||||
|
AND hp.delete_enum = 'FALSE'
|
||||||
|
WHERE k.delete_enum = 'FALSE'
|
||||||
|
GROUP BY k.project_id
|
||||||
|
) penalty_stat ON penalty_stat.project_id = p.id
|
||||||
|
WHERE paf.delete_enum = 'FALSE'
|
||||||
|
AND paf.audit_type = 2
|
||||||
|
AND p.delete_enum = 'FALSE'
|
||||||
|
AND p.project_status = 4
|
||||||
|
<if test="corpinfoId != null">
|
||||||
|
AND paf.corpinfo_id = #{corpinfoId}
|
||||||
|
</if>
|
||||||
|
<if test="portArea != null">
|
||||||
|
AND cp.port_area = #{portArea}
|
||||||
|
</if>
|
||||||
|
GROUP BY p.id
|
||||||
|
|
||||||
|
ORDER BY p.initiation_time DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue