gongchunyi
4 天以前 965cd9cc87ee705eb8d6ce259ee33d26291fe0d3
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));
    }