refactor(flowable): 审批节点增加任务转办按钮

This commit is contained in:
冷冷 committed 2024-12-01 15:01:56 +08:00
1 parent 4f8a78661b
commit 2999ed8e3a
3 files changed
+64 -37

No files matched your search

@@ -154,4 +154,28 @@ public class EngineTaskController {
return R.ok();
}
/**
* 设置执行人 (转办)
*
* @param taskParamDto 任务参数DTO
* @return 操作结果
*/
@PostMapping("/transferTask")
public R transferTask(@RequestBody TaskParamDto taskParamDto) {
Map<String, Object> taskLocalParamMap = taskParamDto.getTaskLocalParamMap();
if (CollUtil.isNotEmpty(taskLocalParamMap)) {
taskService.setVariablesLocal(taskParamDto.getTaskId(), taskLocalParamMap);
}
// 设置任务的 owner 为当前任务的 assignee
Task task = taskService.createTaskQuery().taskId(taskParamDto.getTaskId()).includeTaskLocalVariables().singleResult();
taskService.setOwner(taskParamDto.getTaskId(), task.getAssignee());
// 设置任务的 assignee 为目标用户 (转办用户)
for (Long targetUserId : taskParamDto.getTargetUserIdList()) {
taskService.setAssignee(taskParamDto.getTaskId(), targetUserId.toString());
}
return R.ok();
}
}
@@ -82,8 +82,8 @@ public interface RemoteFlowEngineService {
* @param taskParamDto 任务参数
* @return 设置负责人结果
*/
@PostMapping("/task/setAssignee")
R<String> setAssignee(@RequestBody TaskParamDto taskParamDto);
@PostMapping("/task/transferTask")
R<String> transferTask(@RequestBody TaskParamDto taskParamDto);
/**
* 停止流程实例
@@ -7,53 +7,56 @@ import java.util.Map;
/**
* 任务完成参数对象
*
*/
@Data
public class TaskParamDto {
private String processInstanceId;
private String processInstanceId;
private List<String> processInstanceIdList;
private List<String> processInstanceIdList;
/**
* 节点id
*/
private String nodeId;
/**
* 节点id
*/
private String nodeId;
/**
* 添加子流程发起人
*/
private Boolean appendChildProcessRootId;
/**
* 添加子流程发起人
*/
private Boolean appendChildProcessRootId;
/**
* 任务id
*/
private String taskId;
/**
* 任务id
*/
private String taskId;
/**
* 用户id
*/
private String userId;
/**
* 用户id
*/
private String userId;
/**
* 模板用户id
*/
private String targetUserId;
/**
* 模板用户id
*/
private String targetUserId;
/**
* 参数
*/
private Map<String, Object> paramMap;
/**
* 参数
*/
private Map<String, Object> paramMap;
/**
* 任务本地变量
*/
private Map<String, Object> taskLocalParamMap;
/**
* 任务本地变量
*/
private Map<String, Object> taskLocalParamMap;
/**
* 模板节点
*/
private String targetNodeId;
/**
* 模板节点
*/
private String targetNodeId;
/**
* 转办目标用户 ID 列表
*/
private List<Long> targetUserIdList;
}