fix(88103): 不分发分支会签节点处理

This commit is contained in:
yjz
2024-08-06 11:18:16 +08:00
parent c1d5a9a6e9
commit 6f94da52de
@@ -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<ProcessAllMapper, ProcessAll>
private ProcessNodeLinkService processNodeLinkService;
@Resource
private ManagementService managementService;
@Resource
private ProcessStandardInterpretService processStandardInterpretService;
private static final List<Integer> INSPECT_PROCESS = Arrays.asList();
public ProcessAll getByProcessInstanceId(String processInstanceId){
@@ -318,6 +322,7 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
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<ProcessAllMapper, ProcessAll>
throw new JeroBootException("数据不存在");
}
String xmlNodeId = record.getNodeId();
// 解读流程特殊处理
if (ProcessTypeEnum.STANDARD_INTERPRET.getValue().equals(prcType)){
ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne(
new LambdaQueryWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getProjectId, param.getProjectId()), false);
if (Objects.nonNull(processStandardInterpret)
&& StandardInterpretCommon.IS_DISTRIBUTE_2.equals(processStandardInterpret.getDistribute())){
// 未分发
xmlNodeId = xmlNodeId.replace("2", "1");
}
}
LambdaQueryWrapper<ProcessNode> queryProcessNode = new LambdaQueryWrapper<>();
queryProcessNode.eq(ProcessNode::getProcessDefinitionId,processDefinitionId);
queryProcessNode.eq(ProcessNode::getXmlNodeId,xmlNodeId);