diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java index 12b30746..8a269fb7 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java @@ -25,11 +25,16 @@ import com.jero.modules.activiti.mapper.ProcessAllMapper; import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; +import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus; +import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision; +import com.jero.modules.activiti.process.esRevision.service.EsRevisionService; import com.jero.modules.activiti.util.SpringContextUtil; import com.jero.modules.activiti.vo.DelegateTaskParam; import com.jero.modules.activiti.vo.ResolveTaskParam; import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon; import com.jero.modules.laws.common.util.CurrentUserUtil; +import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; +import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.HistoryService; import org.activiti.engine.RuntimeService; @@ -68,6 +73,11 @@ public class ProcessAllService extends ServiceImpl private SendMessageAPI sendMessageAPI; @Resource private ProcessDraftService processDraftService; + @Resource + private EsRevisionService revisionService; + + @Resource + private EnterpriseStandardPlanService espService; private static final List INSPECT_PROCESS = Arrays.asList( ProcessTypeEnum.FB_ENTRY_CHANGE.getValue(), @@ -175,9 +185,26 @@ public class ProcessAllService extends ServiceImpl processApprovalRecord.setFinishFlag(FinishFlagEnum.WITHDRAWN.getValue()); processApprovalRecord.setCreateTime(null); approvalRecordService.save(processApprovalRecord); + + // 制修订流程强制撤回后需要更改企标计划的项目状态为未开始 + if (Objects.equals(prcType, ProcessTypeEnum.ES_REVISION.getValue())) { + this.revisionForcedWithdrawalProcess(processInstanceId); + } //todo 同步删除操作到统一待办 } + private void revisionForcedWithdrawalProcess(String processInstanceId) { + ProcessEsRevision revision = revisionService.getOne(new LambdaQueryWrapper() + .eq(ProcessEsRevision::getProcessInstanceId, processInstanceId)); + String espId = revision.getEspId(); + if (StringUtils.isNotBlank(espId)) { + throw new JeroBootException("强制撤回企标制修订流程失败,找不到对应的企标计划"); + } + espService.update(new LambdaUpdateWrapper() + .eq(EnterpriseStandardPlan::getId, espId) + .set(EnterpriseStandardPlan::getProjectStatus, ESPProjectStatus.NOT_STARTED.getValue())); + } + public void delegateTask(DelegateTaskParam param) { String taskId = param.getTaskId(); String userId = param.getUserId();