Merge branch 'dev_visual_page' into dev
commit
ebfcec4419
|
|
@ -157,5 +157,11 @@ public class KeyProjectController {
|
||||||
return keyProjectService.largeScreenProjectStatistics(qry);
|
return keyProjectService.largeScreenProjectStatistics(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("可视化大屏-部门统计")
|
||||||
|
@PostMapping("/largeScreenDepartmentStatistics")
|
||||||
|
public MultiResponse<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(@RequestBody KeyProjectLargeScreenDepartmentStatisticsQry qry) {
|
||||||
|
return MultiResponse.of(keyProjectService.largeScreenDepartmentStatistics(qry));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -290,17 +290,21 @@ public class KeyProjectQueryExe {
|
||||||
}
|
}
|
||||||
result.setMorePeopleStartCount(data.getMorePeopleStartCount());
|
result.setMorePeopleStartCount(data.getMorePeopleStartCount());
|
||||||
result.setMorePeopleApplyCount(data.getMorePeopleApplyCount());
|
result.setMorePeopleApplyCount(data.getMorePeopleApplyCount());
|
||||||
|
result.setMorePeopleDoingCount(data.getMorePeopleDoingCount());
|
||||||
|
result.setMorePeopleArchiveCount(data.getMorePeopleArchiveCount());
|
||||||
result.setNightWorkStartCount(data.getNightWorkStartCount());
|
result.setNightWorkStartCount(data.getNightWorkStartCount());
|
||||||
result.setNightWorkApplyCount(data.getNightWorkApplyCount());
|
result.setNightWorkApplyCount(data.getNightWorkApplyCount());
|
||||||
|
result.setNightWorkDoingCount(data.getNightWorkDoingCount());
|
||||||
|
result.setNightWorkArchiveCount(data.getNightWorkArchiveCount());
|
||||||
result.setFourNewHomeworkStartCount(data.getFourNewHomeworkStartCount());
|
result.setFourNewHomeworkStartCount(data.getFourNewHomeworkStartCount());
|
||||||
result.setFourNewHomeworkApplyCount(data.getFourNewHomeworkApplyCount());
|
result.setFourNewHomeworkApplyCount(data.getFourNewHomeworkApplyCount());
|
||||||
|
result.setFourNewHomeworkDoingCount(data.getFourNewHomeworkDoingCount());
|
||||||
|
result.setFourNewHomeworkArchiveCount(data.getFourNewHomeworkArchiveCount());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PageResponse<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry) {
|
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);
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
PageResponse<KeyProjectLargeScreenDO> pageResponse = keyProjectRepository.largeScreenPage(params);
|
PageResponse<KeyProjectLargeScreenDO> pageResponse = keyProjectRepository.largeScreenPage(params);
|
||||||
List<KeyProjectLargeScreenCO> result = keyProjectCoConvertor.converLargeScreenDOsToCOs(pageResponse.getData());
|
List<KeyProjectLargeScreenCO> result = keyProjectCoConvertor.converLargeScreenDOsToCOs(pageResponse.getData());
|
||||||
|
|
@ -308,9 +312,7 @@ public class KeyProjectQueryExe {
|
||||||
}
|
}
|
||||||
|
|
||||||
public KeyProjectLargeScreenProjectStatisticsCO largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) {
|
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);
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
KeyProjectLargeScreenProjectStatisticsDO data = keyProjectRepository.largeScreenProjectStatistics(params);
|
KeyProjectLargeScreenProjectStatisticsDO data = keyProjectRepository.largeScreenProjectStatistics(params);
|
||||||
KeyProjectLargeScreenProjectStatisticsCO result = new KeyProjectLargeScreenProjectStatisticsCO();
|
KeyProjectLargeScreenProjectStatisticsCO result = new KeyProjectLargeScreenProjectStatisticsCO();
|
||||||
|
|
@ -321,5 +323,22 @@ public class KeyProjectQueryExe {
|
||||||
result.setStartCount(data.getStartCount());
|
result.setStartCount(data.getStartCount());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry) {
|
||||||
|
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
List<KeyProjectLargeScreenDepartmentStatisticsDO> dataList = keyProjectRepository.largeScreenDepartmentStatistics(params);
|
||||||
|
if (CollUtil.isEmpty(dataList)) {
|
||||||
|
return java.util.Collections.emptyList();
|
||||||
|
}
|
||||||
|
return dataList.stream().map(data -> {
|
||||||
|
KeyProjectLargeScreenDepartmentStatisticsCO result = new KeyProjectLargeScreenDepartmentStatisticsCO();
|
||||||
|
result.setDepartmentId(data.getDepartmentId());
|
||||||
|
result.setDepartmentName(data.getDepartmentName());
|
||||||
|
result.setFourNewHomeworkCount(data.getFourNewHomeworkCount());
|
||||||
|
result.setMorePeopleCount(data.getMorePeopleCount());
|
||||||
|
return result;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -123,5 +123,10 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI {
|
||||||
public SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) {
|
public SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) {
|
||||||
return SingleResponse.of(keyProjectQueryExe.largeScreenProjectStatistics(qry));
|
return SingleResponse.of(keyProjectQueryExe.largeScreenProjectStatistics(qry));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry) {
|
||||||
|
return keyProjectQueryExe.largeScreenDepartmentStatistics(qry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,5 +51,7 @@ public interface KeyProjectServiceI {
|
||||||
PageResponse<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry);
|
PageResponse<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry);
|
||||||
|
|
||||||
SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry);
|
SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry);
|
||||||
|
|
||||||
|
List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
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 KeyProjectLargeScreenDepartmentStatisticsCO implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "部门id")
|
||||||
|
private Long departmentId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "部门名称")
|
||||||
|
private String departmentName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "四新作业数")
|
||||||
|
private Integer fourNewHomeworkCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "三人及以上作业数")
|
||||||
|
private Integer morePeopleCount;
|
||||||
|
}
|
||||||
|
|
@ -20,15 +20,33 @@ public class KeyProjectLargeScreenStatisticsCO implements Serializable {
|
||||||
@ApiModelProperty(value = "三人及以上作业申请数")
|
@ApiModelProperty(value = "三人及以上作业申请数")
|
||||||
private Integer morePeopleApplyCount;
|
private Integer morePeopleApplyCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "三人及以上作业进行中数")
|
||||||
|
private Integer morePeopleDoingCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "三人及以上作业归档数")
|
||||||
|
private Integer morePeopleArchiveCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "夜间作业当前作业数")
|
@ApiModelProperty(value = "夜间作业当前作业数")
|
||||||
private Integer nightWorkStartCount;
|
private Integer nightWorkStartCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "夜间作业申请数")
|
@ApiModelProperty(value = "夜间作业申请数")
|
||||||
private Integer nightWorkApplyCount;
|
private Integer nightWorkApplyCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "夜间作业进行中数")
|
||||||
|
private Integer nightWorkDoingCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "夜间作业归档数")
|
||||||
|
private Integer nightWorkArchiveCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "四新作业当前作业数")
|
@ApiModelProperty(value = "四新作业当前作业数")
|
||||||
private Integer fourNewHomeworkStartCount;
|
private Integer fourNewHomeworkStartCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "四新作业申请数")
|
@ApiModelProperty(value = "四新作业申请数")
|
||||||
private Integer fourNewHomeworkApplyCount;
|
private Integer fourNewHomeworkApplyCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "四新作业进行中数")
|
||||||
|
private Integer fourNewHomeworkDoingCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "四新作业归档数")
|
||||||
|
private Integer fourNewHomeworkArchiveCount;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 KeyProjectLargeScreenDepartmentStatisticsQry implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业id", name = "corpinfoId")
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
|
||||||
|
private Integer portArea;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.zcloud.key.project.persistence.dataobject.project;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏部门统计数据
|
||||||
|
*
|
||||||
|
* @Author zhaokai
|
||||||
|
* @Date 2026-07-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class KeyProjectLargeScreenDepartmentStatisticsDO implements Serializable {
|
||||||
|
|
||||||
|
private Long departmentId;
|
||||||
|
|
||||||
|
private String departmentName;
|
||||||
|
|
||||||
|
private Integer fourNewHomeworkCount;
|
||||||
|
|
||||||
|
private Integer morePeopleCount;
|
||||||
|
}
|
||||||
|
|
@ -17,11 +17,23 @@ public class KeyProjectLargeScreenStatisticsDO implements Serializable {
|
||||||
|
|
||||||
private Integer morePeopleApplyCount;
|
private Integer morePeopleApplyCount;
|
||||||
|
|
||||||
|
private Integer morePeopleDoingCount;
|
||||||
|
|
||||||
|
private Integer morePeopleArchiveCount;
|
||||||
|
|
||||||
private Integer nightWorkStartCount;
|
private Integer nightWorkStartCount;
|
||||||
|
|
||||||
private Integer nightWorkApplyCount;
|
private Integer nightWorkApplyCount;
|
||||||
|
|
||||||
|
private Integer nightWorkDoingCount;
|
||||||
|
|
||||||
|
private Integer nightWorkArchiveCount;
|
||||||
|
|
||||||
private Integer fourNewHomeworkStartCount;
|
private Integer fourNewHomeworkStartCount;
|
||||||
|
|
||||||
private Integer fourNewHomeworkApplyCount;
|
private Integer fourNewHomeworkApplyCount;
|
||||||
|
|
||||||
|
private Integer fourNewHomeworkDoingCount;
|
||||||
|
|
||||||
|
private Integer fourNewHomeworkArchiveCount;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,7 @@ public interface KeyProjectMapper extends BaseMapper<KeyProjectDO> {
|
||||||
IPage<KeyProjectLargeScreenDO> largeScreenPage(IPage<KeyProjectLargeScreenDO> iPage, Map<String, Object> params);
|
IPage<KeyProjectLargeScreenDO> largeScreenPage(IPage<KeyProjectLargeScreenDO> iPage, Map<String, Object> params);
|
||||||
|
|
||||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,5 +109,10 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl<KeyProjectMappe
|
||||||
public KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params) {
|
public KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params) {
|
||||||
return keyProjectMapper.largeScreenProjectStatistics(params);
|
return keyProjectMapper.largeScreenProjectStatistics(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params) {
|
||||||
|
return keyProjectMapper.largeScreenDepartmentStatistics(params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,5 +37,7 @@ public interface KeyProjectRepository extends BaseRepository<KeyProjectDO> {
|
||||||
PageResponse<KeyProjectLargeScreenDO> largeScreenPage(Map<String, Object> params);
|
PageResponse<KeyProjectLargeScreenDO> largeScreenPage(Map<String, Object> params);
|
||||||
|
|
||||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -625,12 +625,18 @@
|
||||||
|
|
||||||
<select id="largeScreenStatistics" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenStatisticsDO">
|
<select id="largeScreenStatistics" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenStatisticsDO">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' AND kp.apply_status = 4 THEN kp.id END) AS morePeopleStartCount,
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' AND kp.apply_status IN (1,2, 3,4, 5, 7) THEN kp.id END) AS morePeopleStartCount,
|
||||||
COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' AND kp.apply_status != 0 THEN kp.id END) AS morePeopleApplyCount,
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' AND kp.apply_status != 0 THEN kp.id END) AS morePeopleApplyCount,
|
||||||
COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' AND kp.apply_status = 4 THEN kp.id END) AS nightWorkStartCount,
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' AND kp.apply_status = 4 THEN kp.id END) AS morePeopleDoingCount,
|
||||||
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'more_people' AND kp.apply_status = 6 THEN kp.id END) AS morePeopleArchiveCount,
|
||||||
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' AND kp.apply_status IN (1,2, 3,4, 5, 7) THEN kp.id END) AS nightWorkStartCount,
|
||||||
COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' AND kp.apply_status != 0 THEN kp.id END) AS nightWorkApplyCount,
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' AND kp.apply_status != 0 THEN kp.id END) AS nightWorkApplyCount,
|
||||||
COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' AND kp.apply_status = 4 THEN kp.id END) AS fourNewHomeworkStartCount,
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' AND kp.apply_status = 4 THEN kp.id END) AS nightWorkDoingCount,
|
||||||
COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' AND kp.apply_status != 0 THEN kp.id END) AS fourNewHomeworkApplyCount
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'night_work' AND kp.apply_status = 6 THEN kp.id END) AS nightWorkArchiveCount,
|
||||||
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' AND kp.apply_status IN (1,2, 3,4, 5, 7) THEN kp.id END) AS fourNewHomeworkStartCount,
|
||||||
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' AND kp.apply_status != 0 THEN kp.id END) AS fourNewHomeworkApplyCount,
|
||||||
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' AND kp.apply_status = 4 THEN kp.id END) AS fourNewHomeworkDoingCount,
|
||||||
|
COUNT(DISTINCT CASE WHEN kp.project_type = 'four_new_homework' AND kp.apply_status = 6 THEN kp.id END) AS fourNewHomeworkArchiveCount
|
||||||
FROM key_project kp
|
FROM key_project kp
|
||||||
WHERE kp.delete_enum = 'FALSE'
|
WHERE kp.delete_enum = 'FALSE'
|
||||||
<if test="corpinfoId != null">
|
<if test="corpinfoId != null">
|
||||||
|
|
@ -671,5 +677,27 @@
|
||||||
AND cp.port_area = #{portArea}
|
AND cp.port_area = #{portArea}
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="largeScreenDepartmentStatistics" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenDepartmentStatisticsDO">
|
||||||
|
SELECT
|
||||||
|
kp.master_department_id AS departmentId,
|
||||||
|
d.name AS departmentName,
|
||||||
|
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 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')
|
||||||
|
<if test="corpinfoId != null">
|
||||||
|
AND kp.corpinfo_id = #{corpinfoId}
|
||||||
|
</if>
|
||||||
|
<if test="portArea != null">
|
||||||
|
AND cp.port_area = #{portArea}
|
||||||
|
</if>
|
||||||
|
GROUP BY kp.master_department_id, d.name
|
||||||
|
ORDER BY kp.master_department_id ASC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue