fix:仿真汇总看板-项目任务达成统计,提供新接口,统计项目下所有任务,不按当前用户筛选
This commit is contained in:
@@ -283,6 +283,16 @@ public class SimulationNodeController implements ISimulationNodeFeignClient {
|
||||
return nodeService.getTaskCompleteStatisticsByDiscipline(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 基于 学科(学科不是节点,是task的一个属性)查询(任务)达成统计
|
||||
*/
|
||||
@PostMapping("/getTaskAchieveStatisticsByDiscipline")
|
||||
@Operation(summary = "基于 学科(学科不是节点,是task的一个属性)查询(任务)达成统计", description = "仿真任务达成统计")
|
||||
public SdmResponse getTaskAchieveStatisticsByDiscipline(@RequestBody @Validated CommonGetCompleteStatisticsReq req) {
|
||||
req.setTenantId(ThreadLocalContext.getTenantId());
|
||||
return nodeService.getTaskAchieveStatisticsByDiscipline(req);
|
||||
}
|
||||
|
||||
/** 基于 学科(学科不是节点,是task的一个属性)查询(指标)完成统计
|
||||
* 需要传:
|
||||
* tag1-tag10 标签
|
||||
|
||||
@@ -59,6 +59,8 @@ public interface INodeService extends IService<SimulationNode> {
|
||||
|
||||
SdmResponse getTaskCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req);
|
||||
|
||||
SdmResponse getTaskAchieveStatisticsByDiscipline(CommonGetCompleteStatisticsReq req);
|
||||
|
||||
SdmResponse getPerformanceCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req);
|
||||
|
||||
// 工位评审通过统计查询
|
||||
|
||||
@@ -3135,6 +3135,73 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
return buildStatisticsResponse(statisticsMap, allExeStatus, "allExeStatus");
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse getTaskAchieveStatisticsByDiscipline(CommonGetCompleteStatisticsReq req) {
|
||||
// 构建查询条件
|
||||
var query = simulationTaskService.lambdaQuery()
|
||||
.eq(SimulationTask::getTenantId, ThreadLocalContext.getTenantId())
|
||||
.isNotNull(SimulationTask::getDiscipline)
|
||||
.ne(SimulationTask::getDiscipline, "")
|
||||
.isNotNull(SimulationTask::getExeStatus);
|
||||
|
||||
// 处理 discipline 字段,支持逗号分隔的多个值
|
||||
if (StringUtils.isNotBlank(req.getDiscipline())) {
|
||||
String[] disciplines = req.getDiscipline().split(",");
|
||||
query.in(SimulationTask::getDiscipline, Arrays.asList(disciplines));
|
||||
}
|
||||
|
||||
// 处理 tag1-tag10,支持逗号分隔的多个 ID
|
||||
if (StringUtils.isNotBlank(req.getTag1())) {
|
||||
String[] tag1Values = req.getTag1().split(",");
|
||||
query.in(SimulationTask::getTag1, Arrays.asList(tag1Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag2())) {
|
||||
String[] tag2Values = req.getTag2().split(",");
|
||||
query.in(SimulationTask::getTag2, Arrays.asList(tag2Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag3())) {
|
||||
String[] tag3Values = req.getTag3().split(",");
|
||||
query.in(SimulationTask::getTag3, Arrays.asList(tag3Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag4())) {
|
||||
String[] tag4Values = req.getTag4().split(",");
|
||||
query.in(SimulationTask::getTag4, Arrays.asList(tag4Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag5())) {
|
||||
String[] tag5Values = req.getTag5().split(",");
|
||||
query.in(SimulationTask::getTag5, Arrays.asList(tag5Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag6())) {
|
||||
String[] tag6Values = req.getTag6().split(",");
|
||||
query.in(SimulationTask::getTag6, Arrays.asList(tag6Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag7())) {
|
||||
String[] tag7Values = req.getTag7().split(",");
|
||||
query.in(SimulationTask::getTag7, Arrays.asList(tag7Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag9())) {
|
||||
String[] tag9Values = req.getTag9().split(",");
|
||||
query.in(SimulationTask::getTag9, Arrays.asList(tag9Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag10())) {
|
||||
String[] tag10Values = req.getTag10().split(",");
|
||||
query.in(SimulationTask::getTag10, Arrays.asList(tag10Values));
|
||||
}
|
||||
|
||||
List<SimulationTask> simulationTasks = query.list();
|
||||
|
||||
// 按学科 (discipline) 分组统计任务完成状态
|
||||
Set<String> allExeStatus = new HashSet<>();
|
||||
Map<String, CommonStatisticsVo> statisticsMap = buildCommonStatistics(
|
||||
simulationTasks,
|
||||
SimulationTask::getDiscipline,
|
||||
SimulationTask::getAchieveStatus,
|
||||
allExeStatus
|
||||
);
|
||||
|
||||
return buildStatisticsResponse(statisticsMap, allExeStatus, "allExeStatus");
|
||||
}
|
||||
|
||||
public SdmResponse getPerformanceCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req){
|
||||
List<PerformanceCompleteFromDisciplineVo> performanceList = this.baseMapper.getPerformanceCompleteStatisticsByDiscipline(req);
|
||||
// 按学科(discipline)分组统计指标完成状态
|
||||
|
||||
Reference in New Issue
Block a user