From 159d610051a1e3a6423d8a191637fdff78baca0f Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Wed, 1 Apr 2026 11:11:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BB=BF=E7=9C=9F=E6=B1=87=E6=80=BB?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF-=E9=A1=B9=E7=9B=AE=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=BE=BE=E6=88=90=E7=BB=9F=E8=AE=A1=EF=BC=8C=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E6=96=B0=E6=8E=A5=E5=8F=A3=EF=BC=8C=E7=BB=9F=E8=AE=A1=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=B8=8B=E6=89=80=E6=9C=89=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E6=8C=89=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E7=AD=9B?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SimulationNodeController.java | 10 +++ .../com/sdm/project/service/INodeService.java | 2 + .../project/service/impl/NodeServiceImpl.java | 67 +++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java b/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java index 6d8081a9..5aca9e9d 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java @@ -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 标签 diff --git a/project/src/main/java/com/sdm/project/service/INodeService.java b/project/src/main/java/com/sdm/project/service/INodeService.java index 9c5c06f8..e6dece7d 100644 --- a/project/src/main/java/com/sdm/project/service/INodeService.java +++ b/project/src/main/java/com/sdm/project/service/INodeService.java @@ -59,6 +59,8 @@ public interface INodeService extends IService { SdmResponse getTaskCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req); + SdmResponse getTaskAchieveStatisticsByDiscipline(CommonGetCompleteStatisticsReq req); + SdmResponse getPerformanceCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req); // 工位评审通过统计查询 diff --git a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java index 1bddf3f0..5bd63663 100644 --- a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java @@ -3135,6 +3135,73 @@ public class NodeServiceImpl extends ServiceImpl simulationTasks = query.list(); + + // 按学科 (discipline) 分组统计任务完成状态 + Set allExeStatus = new HashSet<>(); + Map statisticsMap = buildCommonStatistics( + simulationTasks, + SimulationTask::getDiscipline, + SimulationTask::getAchieveStatus, + allExeStatus + ); + + return buildStatisticsResponse(statisticsMap, allExeStatus, "allExeStatus"); + } + public SdmResponse getPerformanceCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req){ List performanceList = this.baseMapper.getPerformanceCompleteStatisticsByDiscipline(req); // 按学科(discipline)分组统计指标完成状态