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 08bc23ac..6de6dc72 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 @@ -30,6 +30,8 @@ import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants; import com.jero.modules.activiti.process.standardinterpret.common.StandardInterpretCommon; +import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret; +import com.jero.modules.activiti.process.standardinterpret.service.ProcessStandardInterpretService; import com.jero.modules.activiti.util.ActivityCountersign; import com.jero.modules.activiti.util.SpringContextUtil; import com.jero.modules.activiti.vo.DelegateTaskParam; @@ -91,6 +93,8 @@ public class ProcessAllService extends ServiceImpl private ProcessNodeLinkService processNodeLinkService; @Resource private ManagementService managementService; + @Resource + private ProcessStandardInterpretService processStandardInterpretService; private static final List INSPECT_PROCESS = Arrays.asList(); public ProcessAll getByProcessInstanceId(String processInstanceId){ @@ -318,6 +322,7 @@ public class ProcessAllService extends ServiceImpl String taskId = param.getTaskId(); String userId = param.getUserId(); Integer prcType = param.getPrcType(); + String projectId = param.getProjectId(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); String processInstanceId = task.getProcessInstanceId(); @@ -335,6 +340,17 @@ public class ProcessAllService extends ServiceImpl throw new JeroBootException("数据不存在"); } String xmlNodeId = record.getNodeId(); + // 解读流程特殊处理 + if (ProcessTypeEnum.STANDARD_INTERPRET.getValue().equals(prcType)){ + ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne( + new LambdaQueryWrapper() + .eq(ProcessStandardInterpret::getProjectId, param.getProjectId()), false); + if (Objects.nonNull(processStandardInterpret) + && StandardInterpretCommon.IS_DISTRIBUTE_2.equals(processStandardInterpret.getDistribute())){ + // 未分发 + xmlNodeId = xmlNodeId.replace("2", "1"); + } + } LambdaQueryWrapper queryProcessNode = new LambdaQueryWrapper<>(); queryProcessNode.eq(ProcessNode::getProcessDefinitionId,processDefinitionId); queryProcessNode.eq(ProcessNode::getXmlNodeId,xmlNodeId);