diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java index 44f0956f..7d38586d 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java @@ -8,13 +8,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.jero.common.api.vo.Result; import com.jero.common.util.MessageUtils; import com.jero.modules.activiti.entity.ProcessModelNode; -import com.jero.modules.activiti.listener.CompleteListener; -import com.jero.modules.activiti.listener.CreateListener; -import com.jero.modules.activiti.listener.EndListener; -import com.jero.modules.activiti.listener.StartListener; import com.jero.modules.activiti.service.ProcessNodeService; import com.jero.modules.activiti.service.ProcessModelNodeService; -import com.jero.modules.activiti.util.CreatedTools; import com.jero.modules.activiti.vo.AddTaskVO; import com.jero.common.api.vo.ResultCommon; import io.swagger.annotations.Api; @@ -28,8 +23,6 @@ import org.activiti.bpmn.model.Process; import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.editor.language.json.converter.BpmnJsonConverter; import org.activiti.engine.*; -import org.activiti.engine.delegate.BaseExecutionListener; -import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.repository.*; import org.activiti.engine.runtime.ProcessInstance; import org.apache.commons.lang3.StringUtils; 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 7471cfda..8609fc58 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 @@ -1,15 +1,17 @@ package com.jero.modules.activiti.service; import cn.hutool.core.collection.CollStreamUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.modules.activiti.common.ActivitiCommon; +import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.entity.ProcessModelNode; import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.mapper.ProcessModelNodeMapper; import com.jero.modules.activiti.mapper.ProcessNodeMapper; import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.RuntimeService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -21,6 +23,9 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import static com.jero.modules.activiti.common.ActivitiCommon.*; +import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.*; + /** * @author liJiaRao * @date 2023-09-26 15:12 @@ -34,6 +39,12 @@ public class ProcessNodeService extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessModelNode::getNodeType, "userTask"); @@ -114,30 +125,25 @@ public class ProcessNodeService extends ServiceImpl !"123".equals(v.getVariableName())) .collect(Collectors.toList()); + specialProcessScc(processNodeList, processInstanceId); return processNodeList; } - private void specialProcessEsRecheck(List processNodeList, String processInstanceId) { - // 如果有标准化发起节点,但是没有人员,则删除标准化发起节点 - ProcessNode firstNode = processNodeList.get(0); - ProcessNode secondNode = processNodeList.get(1); - if (StrUtil.isNotBlank(secondNode.getLinkUserIds())) { - if (StrUtil.isBlank(firstNode.getLinkUserIds())) { - processNodeList.remove(0); - } + private void specialProcessScc(List processNodeList, String processInstanceId) { + // 如果没分发 则不显示 主排查人单线审核 主排查人汇总节点 + String mainInstanceId = (String) runtimeService.getVariable(processInstanceId, ActivitiCommon.MAIN_INSTANCE_ID); + boolean distribute = (boolean) runtimeService.getVariable(mainInstanceId, DISTRIBUTE); + if (!distribute) { + processNodeList.removeIf( v -> v.getXmlNodeId().equals(MAIN_CHECK_USER_APPROVAL) + || v.getXmlNodeId().equals(MAIN_CHECK_USER_COLLECT)); } - } - - private void specialProcessEsMiniProcessEnd(List processNodeList) { - // 如果第三个节点有选人信息,则判断相关人员会签节点是否有人,如果没人,则删除相关人员会签节点 - if (processNodeList.size() >= 3) { - ProcessNode processNode = processNodeList.get(2); - if (StrUtil.isNotBlank(processNode.getLinkUserIds())) { - ProcessNode processNode1 = processNodeList.get(1); - if (StrUtil.isBlank(processNode1.getLinkUserIds())) { - processNodeList.remove(1); - } - } + // 判断有没有 主排查人重新分批下发 节点 + LambdaQueryWrapper parWrapper = new LambdaQueryWrapper<>(); + parWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, processInstanceId); + parWrapper.eq(ProcessApprovalRecord::getNodeId, MAIN_CHECK_USER_REDISTRIBUTE); + List list = parService.list(parWrapper); + if (CollectionUtils.isEmpty(list)) { + processNodeList.removeIf( v -> v.getXmlNodeId().equals(MAIN_CHECK_USER_REDISTRIBUTE)); } } }