From 25834a4531240cfeee882ea2d2138b183e8dc30b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 15 Jan 2024 09:52:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=98=E6=9B=B4=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E5=90=8E=E8=87=AA=E5=8A=A8=E6=92=A4=E5=9B=9E?= =?UTF-8?q?=E5=88=B6=E4=BF=AE=E8=AE=A2=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProcessEsInitChangeServiceImpl.java | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java index 9912b5cb..b2094913 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; @@ -14,13 +15,17 @@ import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; import com.jero.modules.activiti.process.esInitChange.entity.EsInitChangeConstant; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; +import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPApplicationCategoryEnum; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType; import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService; import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper; +import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision; +import com.jero.modules.activiti.process.esRevision.service.EsRevisionService; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; +import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider; import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil; @@ -34,6 +39,7 @@ import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestBody; import javax.annotation.Resource; import java.util.*; @@ -72,8 +78,16 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl esInitChangeList = initChangeData.getDataList(); // 校验企标编号是否冲突 ProcessEsInitChange initChange = esInitChangeList.get(0); @@ -282,6 +296,28 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl esInitChangeList = initChangeData.getDataList(); + // 校验企标编号是否冲突 + ProcessEsInitChange initChange = esInitChangeList.get(0); + // 如果是变更流程,则需要撤回制修订流程 + if (ESPApplicationCategoryEnum.CHANGE.getValue().equals(initChange.getApplicationCategory())) { + List espIdList = initChangeData.getDataList().stream().map(ProcessEsInitChange::getEspId).collect(Collectors.toList()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(ProcessEsRevision::getEspId, espIdList); + lambdaQueryWrapper.eq(ProcessEsRevision::getDelFlag, YesOrNoEnum.NO.getValue()); + List enactList = revisionService.list(lambdaQueryWrapper); + if (enactList == null || enactList.isEmpty()) { + return; + } + for (ProcessEsRevision esRevision : enactList) { + String processInstanceId = esRevision.getProcessInstanceId(); + processAllService.forcedWithdrawal(processInstanceId); + processAllService.updateDraftStatusByProjectId(esRevision.getId()); + } + } + } + @Override public List getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) { // 已经存在的标准