From 03d09d4216220992b6a80173aa9500fb2caa117f Mon Sep 17 00:00:00 2001 From: WendyYang Date: Wed, 15 Jan 2025 17:37:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=201.=20=E5=BE=85=E5=8A=9E=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E7=BB=9F=E8=AE=A1=E3=80=81=E4=BF=A1=E5=88=9B=E7=AC=A6?= =?UTF-8?q?=E5=90=88=E6=80=A7=E7=94=B3=E8=AF=B7=E4=B9=8B=E5=90=8E=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=8A=B6=E6=80=81=E5=8F=98=E6=9B=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectdeclared/manage/ConstructionManage.java | 20 +++++++++++++++++++- .../manage/FinalAcceptanceManage.java | 21 ++------------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java index cb4ce0a..fc25082 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java @@ -604,7 +604,11 @@ public class ConstructionManage { @Transactional(rollbackFor = Exception.class) public synchronized void submitXcfhxApply(XcfhxApplyReq req) { - Purchase purchase = purchaseService.getById(req.getBidId()); + List purchases = purchaseService.list(Wrappers.lambdaQuery(Purchase.class) + .eq(Purchase::getProjectId, req.getProjectId()) + .eq(Purchase::getBidType, BidTypeEnum.BUILD_APP.getCode())); + Map purchaseMap = CollUtils.listToMap(purchases, Purchase::getId); + Purchase purchase = purchaseMap.get(req.getBidId()); if (!TenderXcfhxApplyStatus.TO_BE_SUBMIT_XCFHX_APPLY.eq(purchase.getXcfhxApplyStatus()) && !TenderXcfhxApplyStatus.XCFHX_APPLY_FAILED.eq(purchase.getXcfhxApplyStatus())) { throw BizException.wrap("该标段不支持提交信创符合性申请"); @@ -653,6 +657,20 @@ public class ConstructionManage { purchaseInst.setInstType(ProjectProcessType.XC_APPROVAL_PROCESS.getCode()); purchaseInst.setProjectId(req.getProjectId()); purchaseInstService.save(purchaseInst); + + if (ProjectStatus.ON_PILOT_RUNNING.eq(project.getStatus())) { + // 判断是否所有标段已经进行过终验申报 无论是否通过 + Wrapper purchaseInstQuery = Wrappers.lambdaQuery(PurchaseInst.class) + .select(PurchaseInst::getBidId) + .eq(PurchaseInst::getInstType, ProjectProcessType.XC_APPROVAL_PROCESS.getCode()) + .in(PurchaseInst::getBidId, purchaseMap.keySet()); + List currPurchaseInstList = purchaseInstService.list(purchaseInstQuery); + Set xcfhxAppliedBidIds = CollUtils.fieldSet(currPurchaseInstList, PurchaseInst::getBidId); + if (xcfhxAppliedBidIds.size() == purchaseMap.size()) { + projectStateMachineUtil.pass(project); + projectService.updateById(project); + } + } } @Transactional(rollbackFor = Exception.class) diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java index 81c1299..326724d 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java @@ -317,13 +317,11 @@ public class FinalAcceptanceManage { */ @Transactional(rollbackFor = Exception.class) public synchronized String startProcess(SubmitFinallyInspectedReq req) { - UserInfoDetails user = LoginUserUtil.userDetail(); + UserInfoDetails user = LoginUserUtil.userDetailNotNull(); ProjectProcessType instType = ProjectProcessType.ACCEPTANCE_DECLARATION_APPROVAL_PROCESS; WflowModels model = processModelManage.getWflowModelsNoNull(instType, user.getMhUnitId()); - List purchases = purchaseService.listByProjectId(req.getProjectId()); - Map purchaseMap = CollUtils.listToMap(purchases, Purchase::getId); - Purchase purchase = purchaseMap.get(req.getBidId()); + Purchase purchase = purchaseService.getById(req.getBidId()); Assert.notNull(purchase, "当前标段不存在"); if (!TenderMainStatus.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY.eq(purchase.getStatus()) && !TenderMainStatus.FINALLY_INSPECTED_FAILED.eq(purchase.getStatus())) { @@ -360,21 +358,6 @@ public class FinalAcceptanceManage { projectInst.setInstCode(instanceId); projectInst.setProjectId(req.getProjectId()); projectInstService.save(projectInst); - - if (ProjectStatus.ON_PILOT_RUNNING.eq(project.getStatus())) { - // 判断是否所有标段已经进行过终验申报 无论是否通过 - LambdaQueryWrapper purchaseInstQuery = Wrappers.lambdaQuery(PurchaseInst.class) - .select(PurchaseInst::getBidId) - .eq(PurchaseInst::getInstType, ProjectProcessType.ACCEPTANCE_DECLARATION_APPROVAL_PROCESS.getCode()) - .in(PurchaseInst::getBidId, purchaseMap.keySet()); - List currPurchaseInstList = purchaseInstService.list(purchaseInstQuery); - Set finalInspectedBidIds = CollUtils.fieldSet(currPurchaseInstList, PurchaseInst::getBidId); - int needFinalAcceptCount = CollUtil.count(purchases, w -> BidTypeEnum.BUILD_APP.eq(w.getBidType())); - if (finalInspectedBidIds.size() == needFinalAcceptCount) { - projectStateMachineUtil.pass(project); - projectService.updateById(project); - } - } //发送给第一个审批人消息 SpringUtil.publishEvent(MhTodoHandedEvent.of(MHTodoTypeEnum.FINAL_INSPECT_APPLY, req.getBidId())); return instanceId;