From fdfe6d221030d9e6f19cca3fdad7fb88815e78af Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期二, 10 三月 2026 16:37:13 +0800
Subject: [PATCH] fix(service): 修复异步查询未全部等待完成问题
---
src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java b/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java
index 6856bb6..fd5f028 100644
--- a/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java
+++ b/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java
@@ -21,10 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@@ -72,11 +69,15 @@
}
// 鍒犻櫎澶氫綑鑺傜偣
- List<PlanNode> needDeleteNode = planNodeMapper.selectList(new LambdaQueryWrapper<PlanNode>()
+ List<Long> existNodeIds = savePlanNodeVos.stream().map(SavePlanNodeVo::getId).filter(Objects::nonNull).collect(Collectors.toList());
+ LambdaQueryWrapper<PlanNode> planNodeLambdaQueryWrapper = new LambdaQueryWrapper<PlanNode>()
.select(PlanNode::getId)
- .eq(PlanNode::getProjectManagementPlanId, planId)
- .ne(PlanNode::getId, savePlanNodeVos.get(0).getId())
- .notIn(PlanNode::getId, savePlanNodeVos.stream().map(SavePlanNodeVo::getId).collect(Collectors.toList())));
+ .eq(PlanNode::getProjectManagementPlanId, planId);
+ if(CollUtil.isNotEmpty(existNodeIds)){
+ planNodeLambdaQueryWrapper.notIn(PlanNode::getId, existNodeIds);
+ }
+ List<PlanNode> needDeleteNode = planNodeMapper.selectList(planNodeLambdaQueryWrapper);
+
deletePlanNode(needDeleteNode.stream().map(PlanNode::getId).collect(Collectors.toList()));
List<PlanNode> planNodes = BeanUtil.copyToList(savePlanNodeVos, PlanNode.class);
@@ -92,16 +93,17 @@
});
}
- private List<PlanNode> getPlanNodeByPlanId(Long planId) {
+ @Override
+ public List<PlanNode> getPlanNodeByPlanId(Long planId) {
return planNodeMapper.selectList(new LambdaQueryWrapper<PlanNode>()
.eq(PlanNode::getIsDelete, 0)
- .eq(PlanNode::getProjectManagementPlanId, planId));
+ .eq(PlanNode::getProjectManagementPlanId, planId).orderByAsc(PlanNode::getSort));
}
private List<PlanNode> getPlanNodeByPlanIds(List<Long> planIds) {
return planNodeMapper.selectList(new LambdaQueryWrapper<PlanNode>()
.eq(PlanNode::getIsDelete, 0)
- .in(PlanNode::getProjectManagementPlanId, planIds));
+ .in(PlanNode::getProjectManagementPlanId, planIds).orderByAsc(PlanNode::getSort));
}
--
Gitblit v1.9.3