chore(build): 新增可视化大屏统计
parent
9ad010d166
commit
642d0ac164
|
|
@ -81,10 +81,10 @@ public class ProjectTaskController {
|
||||||
projectTaskService.edit(projectTaskUpdateCmd);
|
projectTaskService.edit(projectTaskUpdateCmd);
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
@ApiOperation("可视化大屏-课题评分企业统计")
|
@ApiOperation("可视化大屏-课题评分领域统计")
|
||||||
@GetMapping("/scoreCount")
|
@GetMapping("/scoreCount")
|
||||||
public MultiResponse<ProjectTaskScoreCountCO> countScoreByCorp() {
|
public MultiResponse<ProjectTaskScoreCountCO> countScoreByDomain() {
|
||||||
return MultiResponse.of(projectTaskService.countScoreByCorp());
|
return MultiResponse.of(projectTaskService.countScoreByDomain());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,9 @@ import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
|
||||||
import com.zcloud.domain.persistence.repository.*;
|
import com.zcloud.domain.persistence.repository.*;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -44,6 +42,13 @@ public class ProjectTaskQueryExe {
|
||||||
private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
|
private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
|
||||||
private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
|
private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
|
||||||
private final CorpInfoRepository corpInfoRepository;
|
private final CorpInfoRepository corpInfoRepository;
|
||||||
|
private static final List<ProjectTaskScoreCountCO> SCORE_COUNT_DOMAIN_LIST = java.util.Arrays.asList(
|
||||||
|
buildScoreCount("equipment_safety", "设备、工具具安全专项领域"),
|
||||||
|
buildScoreCount("facility_safety", "设施安全专项领域"),
|
||||||
|
buildScoreCount("Labor_related_parties", "劳务相关方安全专项领域"),
|
||||||
|
buildScoreCount("traffic_safety", "交通、消防、口门安全专项领域"),
|
||||||
|
buildScoreCount("production_safety", "生产作业、船舶靠离泊安全专项领域")
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页
|
* 分页
|
||||||
|
|
@ -134,19 +139,29 @@ public class ProjectTaskQueryExe {
|
||||||
return projectTaskDetailsCO;
|
return projectTaskDetailsCO;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ProjectTaskScoreCountCO> countScoreByCorp() {
|
public List<ProjectTaskScoreCountCO> countScoreByDomain() {
|
||||||
List<ProjectTaskScoreCountDO> countList = projectTaskRepository.countScoreByCorp();
|
Map<String, ProjectTaskScoreCountDO> countMap = projectTaskRepository.countScoreByDomain()
|
||||||
if(CollUtil.isEmpty(countList)){
|
.stream()
|
||||||
return null;
|
.collect(java.util.stream.Collectors.toMap(ProjectTaskScoreCountDO::getDomainType, item -> item, (first, second) -> first));
|
||||||
|
return SCORE_COUNT_DOMAIN_LIST.stream().map(item -> {
|
||||||
|
ProjectTaskScoreCountDO countDO = countMap.get(item.getDomainType());
|
||||||
|
ProjectTaskScoreCountCO countCO = buildScoreCount(item.getDomainType(), item.getDomainTypeName());
|
||||||
|
if (countDO != null) {
|
||||||
|
countCO.setNoScoreCount(countDO.getNoScoreCount());
|
||||||
|
countCO.setScoredCount(countDO.getScoredCount());
|
||||||
}
|
}
|
||||||
return countList.stream().map(item -> {
|
|
||||||
ProjectTaskScoreCountCO countCO = new ProjectTaskScoreCountCO();
|
|
||||||
countCO.setCorpinfoId(item.getCorpinfoId());
|
|
||||||
countCO.setCorpinfoName(item.getCorpinfoName());
|
|
||||||
countCO.setNoScoreCount(item.getNoScoreCount());
|
|
||||||
countCO.setScoredCount(item.getScoredCount());
|
|
||||||
return countCO;
|
return countCO;
|
||||||
}).collect(java.util.stream.Collectors.toList());
|
}).sorted(java.util.Comparator.comparing(ProjectTaskScoreCountCO::getNoScoreCount).reversed())
|
||||||
|
.collect(java.util.stream.Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ProjectTaskScoreCountCO buildScoreCount(String domainType, String domainTypeName) {
|
||||||
|
ProjectTaskScoreCountCO countCO = new ProjectTaskScoreCountCO();
|
||||||
|
countCO.setDomainType(domainType);
|
||||||
|
countCO.setDomainTypeName(domainTypeName);
|
||||||
|
countCO.setNoScoreCount(0L);
|
||||||
|
countCO.setScoredCount(0L);
|
||||||
|
return countCO;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkScorePermission(ProjectTaskScoreInfoCO scoreInfo) {
|
private boolean checkScorePermission(ProjectTaskScoreInfoCO scoreInfo) {
|
||||||
|
|
|
||||||
|
|
@ -66,8 +66,8 @@ public class ProjectTaskServiceImpl implements ProjectTaskServiceI {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProjectTaskScoreCountCO> countScoreByCorp() {
|
public List<ProjectTaskScoreCountCO> countScoreByDomain() {
|
||||||
return projectTaskQueryExe.countScoreByCorp();
|
return projectTaskQueryExe.countScoreByDomain();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public interface ProjectTaskServiceI {
|
||||||
|
|
||||||
ProjectTaskDetailsCO getInfoById(Long id);
|
ProjectTaskDetailsCO getInfoById(Long id);
|
||||||
|
|
||||||
List<ProjectTaskScoreCountCO> countScoreByCorp();
|
List<ProjectTaskScoreCountCO> countScoreByDomain();
|
||||||
|
|
||||||
void updatExecuteStatusJob();
|
void updatExecuteStatusJob();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,11 @@ import java.io.Serializable;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class ProjectTaskScoreCountCO implements Serializable {
|
public class ProjectTaskScoreCountCO implements Serializable {
|
||||||
@ApiModelProperty(value = "企业id")
|
@ApiModelProperty(value = "领域类型")
|
||||||
private Long corpinfoId;
|
private String domainType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业名称")
|
@ApiModelProperty(value = "领域类型名称")
|
||||||
private String corpinfoName;
|
private String domainTypeName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "未评分数")
|
@ApiModelProperty(value = "未评分数")
|
||||||
private Long noScoreCount;
|
private Long noScoreCount;
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,9 @@ import lombok.Data;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class ProjectTaskScoreCountDO {
|
public class ProjectTaskScoreCountDO {
|
||||||
private Long corpinfoId;
|
private String domainType;
|
||||||
|
|
||||||
private String corpinfoName;
|
private String domainTypeName;
|
||||||
|
|
||||||
private Long noScoreCount;
|
private Long noScoreCount;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,6 @@ public interface ProjectTaskMapper extends BaseMapper<ProjectTaskDO> {
|
||||||
|
|
||||||
void updateExecuteStatusBatchById(Integer code, List<Long> idList);
|
void updateExecuteStatusBatchById(Integer code, List<Long> idList);
|
||||||
|
|
||||||
List<ProjectTaskScoreCountDO> countScoreByCorp();
|
List<ProjectTaskScoreCountDO> countScoreByDomain();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public interface ProjectTaskRepository extends BaseRepository<ProjectTaskDO> {
|
||||||
|
|
||||||
ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);
|
ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);
|
||||||
|
|
||||||
List<ProjectTaskScoreCountDO> countScoreByCorp();
|
List<ProjectTaskScoreCountDO> countScoreByDomain();
|
||||||
|
|
||||||
List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds);
|
List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -99,8 +99,8 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProjectTaskScoreCountDO> countScoreByCorp() {
|
public List<ProjectTaskScoreCountDO> countScoreByDomain() {
|
||||||
return projectTaskMapper.countScoreByCorp();
|
return projectTaskMapper.countScoreByDomain();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -54,17 +54,16 @@
|
||||||
left join department d on d.id = dd.master_department_id
|
left join department d on d.id = dd.master_department_id
|
||||||
where pt.delete_enum = 'false' and pt.id=#{id}
|
where pt.delete_enum = 'false' and pt.id=#{id}
|
||||||
</select>
|
</select>
|
||||||
<select id="countScoreByCorp" resultType="com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO">
|
<select id="countScoreByDomain" resultType="com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO">
|
||||||
select
|
select
|
||||||
pt.execute_corpinfo_id as corpinfoId,
|
pt.domain_type as domainType,
|
||||||
c.corp_name as corpinfoName,
|
pt.domain_type_name as domainTypeName,
|
||||||
sum(case when pt.score_status in (0, 1) then 1 else 0 end) as noScoreCount,
|
sum(case when pt.score_status in (0, 1) then 1 else 0 end) as noScoreCount,
|
||||||
sum(case when pt.score_status = 2 then 1 else 0 end) as scoredCount
|
sum(case when pt.score_status = 2 then 1 else 0 end) as scoredCount
|
||||||
from project_task pt
|
from project_task pt
|
||||||
inner join corp_info c on c.id = pt.execute_corpinfo_id
|
|
||||||
where pt.delete_enum = 'false'
|
where pt.delete_enum = 'false'
|
||||||
group by pt.execute_corpinfo_id, c.corp_name
|
and pt.domain_type in ('equipment_safety', 'facility_safety', 'Labor_related_parties', 'traffic_safety', 'production_safety')
|
||||||
order by c.corp_name
|
group by pt.domain_type, pt.domain_type_name
|
||||||
</select>
|
</select>
|
||||||
<update id="updateScoreStatus">
|
<update id="updateScoreStatus">
|
||||||
update project_task set score_status = #{code}
|
update project_task set score_status = #{code}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue