diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java index cc6c465c..d597caa9 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java @@ -1,13 +1,17 @@ package com.jero.modules.activiti.service; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.system.api.ISysBaseAPI; +import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.FinishFlagEnum; +import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper; +import com.jero.modules.activiti.process.esInitChange.entity.EsInitChangeConstant; import com.jero.modules.laws.common.util.CurrentUserUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -27,6 +31,10 @@ import java.util.Objects; public class ProcessApprovalRecordService extends ServiceImpl { @Resource private ISysBaseAPI sysBaseAPI; + + @Resource + private ProcessAllService processAllService; + public ProcessApprovalRecord getToDoByTaskId(String taskId){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessApprovalRecord::getTaskId,taskId); @@ -64,9 +72,48 @@ public class ProcessApprovalRecordService extends ServiceImpl().eq(ProcessAll::getProcessInstanceId, processInstanceId)); + if (Objects.equals(processAll.getPrcType(), ProcessTypeEnum.ES_INIT_CHANGE.getValue())){ + specialProcessInitChangeTaskName(records); + } + } return pageList; } + private void specialProcessInitChangeTaskName(List records) { + boolean hasExpertCheckNode = false; + // 遍历审批记录,将任务节点名称特殊处理 + for (ProcessApprovalRecord record : records) { + String nodeName = record.getTaskName(); + if (StrUtil.isNotBlank(nodeName)){ + if (nodeName.equals(EsInitChangeConstant.EXPERT_CHECK)) { + hasExpertCheckNode = true; + } + } + } + + for (ProcessApprovalRecord record : records) { + String nodeName = record.getTaskName(); + if (StrUtil.isNotBlank(nodeName)){ + if (Objects.equals(nodeName, EsInitChangeConstant.MAIN_DRAFT_USER_LEADER) && hasExpertCheckNode) { + record.setTaskName("发起人主管级领导审批"); + } + if (Objects.equals(nodeName, EsInitChangeConstant.MAIN_DRAFT_USER_LEADER_LEADER) && hasExpertCheckNode) { + record.setTaskName("发起人主管级上一级领导审批"); + } + if (Objects.equals(nodeName, EsInitChangeConstant.MAIN_DRAFT_USER_LEADER) && !hasExpertCheckNode) { + record.setTaskName("主起草人主管级领导审批"); + } + if (Objects.equals(nodeName, EsInitChangeConstant.MAIN_DRAFT_USER_LEADER_LEADER) && !hasExpertCheckNode) { + record.setTaskName("主起草人主管级上一级领导审批"); + } + } + } + } + public ProcessApprovalRecord getMyLastComplete(String processInstanceId, String nodeId, String userId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);