diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java index 2d481e09..d358a16b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java @@ -10,6 +10,10 @@ import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.mapper.ProcessModelNodeMapper; import com.jero.modules.activiti.mapper.ProcessNodeMapper; import com.jero.modules.activiti.process.common.enums.ProcessType; +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.service.ProcessEsInitChangeService; import com.jero.modules.activiti.process.esRevision.entity.RevisionTaskNodeIdConstant; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -33,11 +37,13 @@ import java.util.stream.Collectors; public class ProcessNodeService extends ServiceImpl { @Resource private ProcessModelNodeMapper processModelNodeMapper; - @Resource - private ProcessNodeLinkService processNodeLinkService; + @Resource private ProcessNodeMapper processNodeMapper; + @Resource + private ProcessEsInitChangeService esInitChangeService; + public void copyNodeFromModel(String modelId, String processDefinitionId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessModelNode::getNodeType, "userTask"); @@ -120,7 +126,7 @@ public class ProcessNodeService extends ServiceImpl processNodeList, String processInstanceId) { + // 如果是变更分支 则需要删掉专家审批节点 并将两个节点改名 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId); + List processEsInitChanges = esInitChangeService.list(wrapper); + if (CollectionUtils.isNotEmpty(processEsInitChanges)) { + ProcessEsInitChange processEsInitChange = processEsInitChanges.get(0); + if (Objects.equals(processEsInitChange.getApplicationCategory(), ESPApplicationCategoryEnum.CHANGE.getValue())) { + processNodeList.removeIf(processNode -> Objects.equals(processNode.getNodeName(), EsInitChangeConstant.EXPERT_CHECK)); + processNodeList.forEach(processNode -> { + if (Objects.equals(processNode.getNodeName(), EsInitChangeConstant.MAIN_DRAFT_USER_LEADER)) { + processNode.setNodeName("发起人主管级领导审批"); + } + if (Objects.equals(processNode.getNodeName(), EsInitChangeConstant.MAIN_DRAFT_USER_LEADER_LEADER)) { + processNode.setNodeName("发起人主管级上一级领导审批"); + } + }); + } + } + } + private void specialProcessEsMiniProcessEnd(List processNodeList) { // 如果第三个节点有选人信息,则判断相关人员会签节点是否有人,如果没人,则删除相关人员会签节点 if (processNodeList.size() >= 3) {