From 61ba14e25d6fcb1671d45ad51c6acbab9f35748b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Fri, 26 Jan 2024 14:10:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=2081059=20=E4=BC=81=E6=A0=87=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E7=AB=8B=E9=A1=B9/=E5=8F=98=E6=9B=B4=E6=B5=81?= =?UTF-8?q?=E7=A8=8B--=E4=B8=A4=E4=B8=AA=E9=A2=86=E5=AF=BC=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E7=9A=84=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=90=8D=E7=A7=B0=E4=B8=8E=E8=8A=82=E7=82=B9=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ProcessApprovalRecordService.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) 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);