Browse Source

feat:

1. 待办进度统计、信创符合性申请之后项目状态变更;
tags/25012001
WendyYang 1 month ago
parent
commit
03d09d4216
2 changed files with 21 additions and 20 deletions
  1. +19
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java
  2. +2
    -19
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java

+ 19
- 1
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java View File

@@ -604,7 +604,11 @@ public class ConstructionManage {


@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public synchronized void submitXcfhxApply(XcfhxApplyReq req) { public synchronized void submitXcfhxApply(XcfhxApplyReq req) {
Purchase purchase = purchaseService.getById(req.getBidId());
List<Purchase> purchases = purchaseService.list(Wrappers.lambdaQuery(Purchase.class)
.eq(Purchase::getProjectId, req.getProjectId())
.eq(Purchase::getBidType, BidTypeEnum.BUILD_APP.getCode()));
Map<Long, Purchase> purchaseMap = CollUtils.listToMap(purchases, Purchase::getId);
Purchase purchase = purchaseMap.get(req.getBidId());
if (!TenderXcfhxApplyStatus.TO_BE_SUBMIT_XCFHX_APPLY.eq(purchase.getXcfhxApplyStatus()) if (!TenderXcfhxApplyStatus.TO_BE_SUBMIT_XCFHX_APPLY.eq(purchase.getXcfhxApplyStatus())
&& !TenderXcfhxApplyStatus.XCFHX_APPLY_FAILED.eq(purchase.getXcfhxApplyStatus())) { && !TenderXcfhxApplyStatus.XCFHX_APPLY_FAILED.eq(purchase.getXcfhxApplyStatus())) {
throw BizException.wrap("该标段不支持提交信创符合性申请"); throw BizException.wrap("该标段不支持提交信创符合性申请");
@@ -653,6 +657,20 @@ public class ConstructionManage {
purchaseInst.setInstType(ProjectProcessType.XC_APPROVAL_PROCESS.getCode()); purchaseInst.setInstType(ProjectProcessType.XC_APPROVAL_PROCESS.getCode());
purchaseInst.setProjectId(req.getProjectId()); purchaseInst.setProjectId(req.getProjectId());
purchaseInstService.save(purchaseInst); purchaseInstService.save(purchaseInst);

if (ProjectStatus.ON_PILOT_RUNNING.eq(project.getStatus())) {
// 判断是否所有标段已经进行过终验申报 无论是否通过
Wrapper<PurchaseInst> purchaseInstQuery = Wrappers.lambdaQuery(PurchaseInst.class)
.select(PurchaseInst::getBidId)
.eq(PurchaseInst::getInstType, ProjectProcessType.XC_APPROVAL_PROCESS.getCode())
.in(PurchaseInst::getBidId, purchaseMap.keySet());
List<PurchaseInst> currPurchaseInstList = purchaseInstService.list(purchaseInstQuery);
Set<Long> xcfhxAppliedBidIds = CollUtils.fieldSet(currPurchaseInstList, PurchaseInst::getBidId);
if (xcfhxAppliedBidIds.size() == purchaseMap.size()) {
projectStateMachineUtil.pass(project);
projectService.updateById(project);
}
}
} }


@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)


+ 2
- 19
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java View File

@@ -317,13 +317,11 @@ public class FinalAcceptanceManage {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public synchronized String startProcess(SubmitFinallyInspectedReq req) { public synchronized String startProcess(SubmitFinallyInspectedReq req) {
UserInfoDetails user = LoginUserUtil.userDetail();
UserInfoDetails user = LoginUserUtil.userDetailNotNull();
ProjectProcessType instType = ProjectProcessType.ACCEPTANCE_DECLARATION_APPROVAL_PROCESS; ProjectProcessType instType = ProjectProcessType.ACCEPTANCE_DECLARATION_APPROVAL_PROCESS;
WflowModels model = processModelManage.getWflowModelsNoNull(instType, user.getMhUnitId()); WflowModels model = processModelManage.getWflowModelsNoNull(instType, user.getMhUnitId());


List<Purchase> purchases = purchaseService.listByProjectId(req.getProjectId());
Map<Long, Purchase> purchaseMap = CollUtils.listToMap(purchases, Purchase::getId);
Purchase purchase = purchaseMap.get(req.getBidId());
Purchase purchase = purchaseService.getById(req.getBidId());
Assert.notNull(purchase, "当前标段不存在"); Assert.notNull(purchase, "当前标段不存在");
if (!TenderMainStatus.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY.eq(purchase.getStatus()) if (!TenderMainStatus.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY.eq(purchase.getStatus())
&& !TenderMainStatus.FINALLY_INSPECTED_FAILED.eq(purchase.getStatus())) { && !TenderMainStatus.FINALLY_INSPECTED_FAILED.eq(purchase.getStatus())) {
@@ -360,21 +358,6 @@ public class FinalAcceptanceManage {
projectInst.setInstCode(instanceId); projectInst.setInstCode(instanceId);
projectInst.setProjectId(req.getProjectId()); projectInst.setProjectId(req.getProjectId());
projectInstService.save(projectInst); projectInstService.save(projectInst);

if (ProjectStatus.ON_PILOT_RUNNING.eq(project.getStatus())) {
// 判断是否所有标段已经进行过终验申报 无论是否通过
LambdaQueryWrapper<PurchaseInst> purchaseInstQuery = Wrappers.lambdaQuery(PurchaseInst.class)
.select(PurchaseInst::getBidId)
.eq(PurchaseInst::getInstType, ProjectProcessType.ACCEPTANCE_DECLARATION_APPROVAL_PROCESS.getCode())
.in(PurchaseInst::getBidId, purchaseMap.keySet());
List<PurchaseInst> currPurchaseInstList = purchaseInstService.list(purchaseInstQuery);
Set<Long> 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())); SpringUtil.publishEvent(MhTodoHandedEvent.of(MHTodoTypeEnum.FINAL_INSPECT_APPLY, req.getBidId()));
return instanceId; return instanceId;


Loading…
Cancel
Save