fix: 80949 80943 立项变更流程节点名称特殊处理
This commit is contained in:
+34
-3
@@ -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<ProcessNodeMapper, ProcessNode> {
|
||||
@Resource
|
||||
private ProcessModelNodeMapper processModelNodeMapper;
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeMapper processNodeMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessEsInitChangeService esInitChangeService;
|
||||
|
||||
public void copyNodeFromModel(String modelId, String processDefinitionId) {
|
||||
LambdaQueryWrapper<ProcessModelNode> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessModelNode::getNodeType, "userTask");
|
||||
@@ -120,7 +126,7 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
|
||||
YesOrNoEnum.NO.getValue().equals(v.getIsSkip())
|
||||
|| (YesOrNoEnum.YES.getValue().equals(v.getIsSkip()) && StringUtils.isNotBlank(v.getLinkUserIds())))
|
||||
.collect(Collectors.toList());
|
||||
// 制修订流程特殊处理
|
||||
// 制修订流程特殊后处理
|
||||
if (processDefinitionId.contains(ProcessType.ES_REVISION.getProcessKey())) {
|
||||
specialProcessEsRevisionEnd(processNodeList);
|
||||
}
|
||||
@@ -130,9 +136,34 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
|
||||
processDefinitionId.contains(ProcessType.ES_ABOLISH.getProcessKey())) {
|
||||
specialProcessEsMiniProcessEnd(processNodeList);
|
||||
}
|
||||
// 立项变更流程特殊后处理
|
||||
if (processDefinitionId.contains(ProcessType.ES_INIT_CHANGE.getProcessKey())) {
|
||||
specialProcessEsInitChange(processNodeList, processInstanceId);
|
||||
}
|
||||
return processNodeList;
|
||||
}
|
||||
|
||||
private void specialProcessEsInitChange(List<ProcessNode> processNodeList, String processInstanceId) {
|
||||
// 如果是变更分支 则需要删掉专家审批节点 并将两个节点改名
|
||||
LambdaQueryWrapper<ProcessEsInitChange> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId);
|
||||
List<ProcessEsInitChange> 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<ProcessNode> processNodeList) {
|
||||
// 如果第三个节点有选人信息,则判断相关人员会签节点是否有人,如果没人,则删除相关人员会签节点
|
||||
if (processNodeList.size() >= 3) {
|
||||
|
||||
Reference in New Issue
Block a user