fix(87365): 标准解读流程--部分可跳过节点都展示了

This commit is contained in:
yjz
2024-07-24 16:28:09 +08:00
parent c4a725a76b
commit 18a4b14862
@@ -7,12 +7,17 @@ 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.ProcessAll;
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.enums.ProcessStatusEnum;
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.standardinterpret.common.StandardInterpretCommon;
import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret;
import com.jero.modules.activiti.process.standardinterpret.service.ProcessStandardInterpretService;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RuntimeService;
@@ -55,6 +60,12 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
@Resource
private HistoryService historyService;
@Resource
private ProcessAllService processAllService;
@Resource
private ProcessStandardInterpretService processStandardInterpretService;
public void copyNodeFromModel(String modelId, String processDefinitionId) {
LambdaQueryWrapper<ProcessModelNode> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessModelNode::getNodeType, "userTask");
@@ -139,6 +150,20 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
if (processDefinitionId.contains(ProcessType.STANDARD_COMPLIANCE_CHECK.getProcessKey())) {
specialProcessScc(processNodeList, processInstanceId);
}
// 制修订流程特殊处理
if (processDefinitionId.contains(ProcessType.STANDARD_INTERPRET.getProcessKey())) {
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
.eq(ProcessAll::getProcessInstanceId, processInstanceId)
.ne(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue()), false);
ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne(
new LambdaQueryWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getProjectId, processAll.getProjectId()));
if (!String.valueOf(StandardInterpretCommon.IS_DISTRIBUTE_1)
.equals(processStandardInterpret.getDistribute())){
processNodeList.removeIf(v ->
StandardInterpretCommon.MASTER_INTERPRET_SUMMARY.equals(v.getXmlNodeId()));
}
}
return processNodeList;
}