From 6aefbac5202a1ecfc9eecba7b0667167c0ff13c5 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Mon, 16 Dec 2024 09:34:20 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlwTaskServiceImpl.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index a39455421..34cfa9865 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -2,6 +2,7 @@ package org.dromara.workflow.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; @@ -26,7 +27,6 @@ import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.entity.*; import org.dromara.warm.flow.core.enums.NodeType; import org.dromara.warm.flow.core.enums.SkipType; -import org.dromara.warm.flow.core.enums.UserType; import org.dromara.warm.flow.core.service.*; import org.dromara.warm.flow.orm.entity.*; import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper; @@ -36,9 +36,9 @@ import org.dromara.warm.flow.orm.mapper.FlowTaskMapper; import org.dromara.workflow.common.enums.TaskAssigneeType; import org.dromara.workflow.common.enums.TaskStatusEnum; import org.dromara.workflow.domain.bo.*; +import org.dromara.workflow.domain.vo.FlowCopy; import org.dromara.workflow.domain.vo.FlowHisTaskVo; import org.dromara.workflow.domain.vo.FlowTaskVo; -import org.dromara.workflow.domain.vo.FlowCopy; import org.dromara.workflow.handler.FlowProcessEventHandler; import org.dromara.workflow.handler.WorkflowPermissionHandler; import org.dromara.workflow.mapper.FlwTaskMapper; @@ -97,7 +97,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { variables.put(BUSINESS_KEY, businessKey); FlowInstance flowInstance = flowInstanceMapper.selectOne(new LambdaQueryWrapper<>(FlowInstance.class) .eq(FlowInstance::getBusinessId, businessKey)); - if (flowInstance != null) { + if (ObjectUtil.isNotNull(flowInstance)) { BusinessStatusEnum.checkStartStatus(flowInstance.getFlowStatus()); List taskList = taskService.list(new FlowTask().setInstanceId(flowInstance.getId())); return Map.of(PROCESS_INSTANCE_ID, taskList.get(0).getInstanceId(), TASK_ID, taskList.get(0).getId()); @@ -152,7 +152,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService { flowParams.hisTaskExt(completeTaskBo.getFileId()); // 执行任务跳转,并根据返回的处理人设置下一步处理人 - setHandler(taskService.skip(taskId, flowParams), flowTask, flowCopyList); + Instance instance = taskService.skip(taskId, flowParams); + this.setHandler(instance, flowTask, flowCopyList); // 消息通知 WorkflowUtils.sendMessage(definition.getFlowName(), ins.getId(), messageType, notice); return true; @@ -170,13 +171,13 @@ public class FlwTaskServiceImpl implements IFlwTaskService { * @param flowCopyList 抄送人 */ private void setHandler(Instance instance, FlowTask task, List flowCopyList) { - if (instance == null) { + if (ObjectUtil.isNull(instance)) { return; } //添加抄送人 - setCopy(task, flowCopyList); + this.setCopy(task, flowCopyList); // 根据流程实例ID查询所有关联的任务 - List flowTasks = selectByInstId(instance.getId()); + List flowTasks = this.selectByInstId(instance.getId()); List userList = new ArrayList<>(); // 遍历任务列表,处理每个任务的办理人 for (FlowTask flowTask : flowTasks) { @@ -368,7 +369,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { WorkflowUtils.backTask(message, inst.getId(), bo.getNodeCode(), TaskStatusEnum.WAITING.getStatus(), TaskStatusEnum.BACK.getStatus()); } Instance instance = insService.getById(inst.getId()); - setHandler(instance, flowTasks.get(0), null); + this.setHandler(instance, flowTasks.get(0), null); //消息通知 WorkflowUtils.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice); return true; @@ -419,7 +420,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { throw new ServiceException("任务不存在!"); } Instance instance = insService.getById(task.getInstanceId()); - if (instance != null) { + if (ObjectUtil.isNotNull(instance)) { BusinessStatusEnum.checkInvalidStatus(instance.getFlowStatus()); } FlowParams flowParams = new FlowParams(); @@ -453,7 +454,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { @Override public FlowTaskVo selectById(Long taskId) { Task task = taskService.getById(taskId); - if (task == null) { + if (ObjectUtil.isNull(task)) { return null; } FlowTaskVo flowTaskVo = BeanUtil.toBean(task, FlowTaskVo.class); @@ -602,14 +603,14 @@ public class FlwTaskServiceImpl implements IFlwTaskService { return false; } try { - List flowTasks = selectByIdList(taskIdList); + List flowTasks = this.selectByIdList(taskIdList); // 批量删除现有任务的办理人记录 if (CollUtil.isNotEmpty(flowTasks)) { WorkflowUtils.getFlowUserService().deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId)); List userList = flowTasks.stream() .map(flowTask -> { FlowUser flowUser = new FlowUser(); - flowUser.setType(UserType.APPROVAL.getKey()); + flowUser.setType(TaskAssigneeType.APPROVER.getCode()); flowUser.setProcessedBy(userId); flowUser.setAssociated(flowTask.getId()); return flowUser;