diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowTaskDto.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowTaskDto.java index f581fe1a..0ef86c04 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowTaskDto.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowTaskDto.java @@ -47,6 +47,9 @@ public class FlowTaskDto implements Serializable { @ApiModelProperty("任务执行人名称") private String assigneeName; + @ApiModelProperty("任务执行人部门") + private String assigneeDeptName;; + @ApiModelProperty("流程发起人Id") private String startUserId; diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowDefinitionServiceImpl.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowDefinitionServiceImpl.java index d10e16b7..7d0df97e 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowDefinitionServiceImpl.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowDefinitionServiceImpl.java @@ -195,17 +195,17 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl if (Objects.nonNull(processDefinition) && processDefinition.isSuspended()) { return AjaxResult.error("流程已被挂起,请先激活流程"); } -// // 加入多实例用户到流程变量中 -// variables.put("userList", sysUserService.selectUserList(null)); // 设置流程发起人Id到流程中 SysUser sysUser = SecurityUtils.getLoginUser().getUser(); identityService.setAuthenticatedUserId(sysUser.getUserId().toString()); variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId()); runtimeService.startProcessInstanceById(procDefId, variables); -// variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId()); - // variables.put("skip", true); -// variables.put(ProcessConstants.FLOWABLE_SKIP_EXPRESSION_ENABLED, true); -// // 给第一步申请人节点设置任务执行人和意见 todo:第一个节点不设置为申请人节点有点问题? + // 流程发起时 跳过发起人节点 +// SysUser sysUser = SecurityUtils.getLoginUser().getUser(); +// identityService.setAuthenticatedUserId(sysUser.getUserId().toString()); +// variables.put(ProcessConstants.PROCESS_INITIATOR, ""); +// ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables); +// // 给第一步申请人节点设置任务执行人和意见 // Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult(); // if (Objects.nonNull(task)) { // taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), sysUser.getNickName() + "发起流程申请"); diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java index 0823cb14..bb3fd257 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java @@ -544,15 +544,29 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask flowTask.setProcDefVersion(pd.getVersion()); flowTask.setCategory(pd.getCategory()); flowTask.setProcDefVersion(pd.getVersion()); - // 当前所处流程 todo: 本地启动放开以下注释 + // 当前所处流程 List taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).list(); if (CollectionUtils.isNotEmpty(taskList)) { flowTask.setTaskId(taskList.get(0).getId()); flowTask.setTaskName(taskList.get(0).getName()); + // 当前任务节点办理人信息 + SysUser sysUser = sysUserService.selectUserById(Long.parseLong(taskList.get(0).getAssignee())); + if (Objects.nonNull(sysUser)) { + flowTask.setAssigneeId(sysUser.getUserId()); + flowTask.setAssigneeName(sysUser.getNickName()); + flowTask.setAssigneeDeptName(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptName() : ""); + } } else { List historicTaskInstance = historyService.createHistoricTaskInstanceQuery().processInstanceId(hisIns.getId()).orderByHistoricTaskInstanceEndTime().desc().list(); flowTask.setTaskId(historicTaskInstance.get(0).getId()); flowTask.setTaskName(historicTaskInstance.get(0).getName()); + // 当前任务节点办理人信息 + SysUser sysUser = sysUserService.selectUserById(Long.parseLong(historicTaskInstance.get(0).getAssignee())); + if (Objects.nonNull(sysUser)) { + flowTask.setAssigneeId(sysUser.getUserId()); + flowTask.setAssigneeName(sysUser.getNickName()); + flowTask.setAssigneeDeptName(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptName() : ""); + } } flowList.add(flowTask); } @@ -1239,4 +1253,4 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask return 0 + "秒"; } } -} \ No newline at end of file +} diff --git a/ruoyi-ui/src/views/flowable/task/myProcess/index.vue b/ruoyi-ui/src/views/flowable/task/myProcess/index.vue index 091c2ca1..7c00d543 100644 --- a/ruoyi-ui/src/views/flowable/task/myProcess/index.vue +++ b/ruoyi-ui/src/views/flowable/task/myProcess/index.vue @@ -68,10 +68,10 @@ - +