From 18280487ce46fcb8f60c46d1443a0bcaff586392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sat, 19 Feb 2022 02:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xm/core/ctrl/XmProjectPhaseController.java | 1 + .../xm/core/service/XmProjectPhaseService.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java index 1367831d..84c2f3c7 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java @@ -577,6 +577,7 @@ public class XmProjectPhaseController { Tips judgetTips=xmProjectPhaseService.judgetBudget(projectId, phaseBudgetCost,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,phaseBudgetNouserAt,excludePhaseIds); if(judgetTips.isOk()) { + xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases.stream().map(i->(XmProjectPhase)i).collect(Collectors.toList())); xmProjectPhaseService.batchInsertOrUpdate(xmProjectPhases); for (XmProjectPhase phase : xmProjectPhases) { xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-计划-修改计划预算", "修改计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java index 9706f231..29a4f4fe 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java @@ -205,15 +205,21 @@ public class XmProjectPhaseService extends BaseService { } if(addList.size()>0) { this.batchInsert(addList); - List list= xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); - list=list.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())).collect(Collectors.toList()); - if(list.size()>0){ - this.updateChildrenCntByIds(list.stream().map(i->i.getParentPhaseId()).collect(Collectors.toSet()).stream().collect(Collectors.toList())); - } + } + if(editList.size()>0) { this.batchUpdate(editList); } + + List ids=new ArrayList<>(); + List list= xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); + list=list.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())).collect(Collectors.toList()); + ids=list.stream().map(i->i.getParentPhaseId()).collect(Collectors.toList()); + ids=ids.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList()); + if(list.size()>0){ + this.updateChildrenCntByIds(ids); + } } public void calcKeyPaths(String projectId) {