Commit ab7d9fdf72f96135efcdc21205d8eee1ba1a9149
1 parent
e07fb6c8
fix:【bpm 工作流】委派、转办时,owner 不重复设置
Showing
1 changed file
with
8 additions
and
2 deletions
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
| ... | ... | @@ -947,7 +947,10 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 947 | 947 | BpmCommentTypeEnum.DELEGATE_START.formatComment(currentUser.getNickname(), delegateUser.getNickname(), reqVO.getReason())); |
| 948 | 948 | |
| 949 | 949 | // 3.1 设置任务所有人 (owner) 为原任务的处理人 (assignee) |
| 950 | - taskService.setOwner(taskId, task.getAssignee()); | |
| 950 | + // 特殊:如果已经被委派(owner 非空),则不需要更新 owner:https://gitee.com/zhijiantianya/yudao-cloud/issues/ICJ153 | |
| 951 | + if (StrUtil.isEmpty(task.getOwner())) { | |
| 952 | + taskService.setOwner(taskId, task.getAssignee()); | |
| 953 | + } | |
| 951 | 954 | // 3.2 执行委派,将任务委派给 delegateUser |
| 952 | 955 | taskService.delegateTask(taskId, reqVO.getDelegateUserId().toString()); |
| 953 | 956 | // 补充说明:委托不单独设置状态。如果需要,可通过 Task 的 DelegationState 字段,判断是否为 DelegationState.PENDING 委托中 |
| ... | ... | @@ -973,7 +976,10 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 973 | 976 | BpmCommentTypeEnum.TRANSFER.formatComment(currentUser.getNickname(), assigneeUser.getNickname(), reqVO.getReason())); |
| 974 | 977 | |
| 975 | 978 | // 3.1 设置任务所有人 (owner) 为原任务的处理人 (assignee) |
| 976 | - taskService.setOwner(taskId, task.getAssignee()); | |
| 979 | + // 特殊:如果已经被转派(owner 非空),则不需要更新 owner:https://gitee.com/zhijiantianya/yudao-cloud/issues/ICJ153 | |
| 980 | + if (StrUtil.isEmpty(task.getOwner())) { | |
| 981 | + taskService.setOwner(taskId, task.getAssignee()); | |
| 982 | + } | |
| 977 | 983 | // 3.2 执行转派(审批人),将任务转派给 assigneeUser |
| 978 | 984 | // 委托( delegate)和转派(transfer)的差别,就在这块的调用!!!! |
| 979 | 985 | taskService.setAssignee(taskId, reqVO.getAssigneeUserId().toString()); | ... | ... |