From f935bec5febc15074063c20e7f836d101e4b57b0 Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Sun, 9 Oct 2022 23:27:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B5=81=E7=A8=8B=E8=AE=BE=E8=AE=A1):=20?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E7=AC=AC=E4=B8=80=E4=B8=AA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=BF=85=E9=A1=BB=E4=B8=BA=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E4=BA=BA=E7=9A=84=E9=99=90=E5=88=B6=E3=80=82=EF=BC=88=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E4=BB=BB=E5=8A=A1=E8=8A=82=E7=82=B9=E4=B8=BA?= =?UTF-8?q?=E5=8F=91=E8=B5=B7=E4=BA=BA=E8=87=AA=E5=8A=A8=E5=AE=8C=E6=88=90?= =?UTF-8?q?=EF=BC=8C=E5=90=A6=E5=88=99=E4=B8=8D=E5=A4=84=E7=90=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/service/impl/WfProcessServiceImpl.java | 2 +- .../workflow/service/impl/WfTaskServiceImpl.java | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java index f237b00c..ddc69191 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java @@ -157,7 +157,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce // 设置流程发起人Id到流程中 this.buildProcessVariables(variables); ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables); - // 给第一步申请人节点设置任务执行人和意见 todo:第一个节点不设置为申请人节点有点问题? + // 第一个用户任务为发起人,则自动完成任务 wfTaskService.startFirstTask(processInstance, variables); } catch (Exception e) { e.printStackTrace(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java index fac417ca..657b71a2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java @@ -673,16 +673,15 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ */ @Override public void startFirstTask(ProcessInstance processInstance, Map variables) { - // 给第一步申请人节点设置任务执行人和意见 todo:第一个节点不设置为申请人节点有点问题? + // 若第一个用户任务为发起人,则自动完成任务 Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult(); - if (Objects.nonNull(task)) { + if (ObjectUtil.isNotEmpty(task)) { String userIdStr = (String) variables.get(TaskConstants.PROCESS_INITIATOR); - if (!StrUtil.equalsAny(task.getAssignee(), userIdStr)) { - throw new ServiceException("数据验证失败,该工作流第一个用户任务的指派人并非当前用户,不能执行该操作!"); + if (StrUtil.equals(task.getAssignee(), userIdStr)) { + taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), LoginHelper.getNickName() + "发起流程申请"); + // taskService.setAssignee(task.getId(), userIdStr); + taskService.complete(task.getId(), variables); } - taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), LoginHelper.getNickName() + "发起流程申请"); - // taskService.setAssignee(task.getId(), userIdStr); - taskService.complete(task.getId(), variables); } } }