add - 添加审批任务的审批人转办功能
This commit is contained in:
parent
13112303a6
commit
1405dab2c4
@ -1,5 +1,6 @@
|
||||
package cn.axzo.workflow.core.service;
|
||||
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAssigneeDTO;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAuditDTO;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoPageSearchDTO;
|
||||
import cn.axzo.workflow.core.service.dto.response.BpmPageResult;
|
||||
@ -21,17 +22,18 @@ public interface BpmTaskService {
|
||||
/**
|
||||
* 已完成的审批列表
|
||||
*
|
||||
* @return*/
|
||||
* @return
|
||||
*/
|
||||
BpmPageResult<BpmTaskDonePageItemVO> getDoneTaskPage(BpmTaskTodoPageSearchDTO dto);
|
||||
|
||||
/**
|
||||
* 同意
|
||||
* */
|
||||
*/
|
||||
void approveTask(BpmTaskAuditDTO taskAuditDTO);
|
||||
|
||||
/**
|
||||
* 拒绝
|
||||
* */
|
||||
*/
|
||||
void rejectTask(BpmTaskAuditDTO taskAuditDTO);
|
||||
|
||||
/**
|
||||
@ -41,14 +43,15 @@ public interface BpmTaskService {
|
||||
|
||||
/**
|
||||
* 获取实例正在审核的人列表
|
||||
*
|
||||
* <p>
|
||||
* FIXME 该接口 web 不能正常响应
|
||||
* */
|
||||
*/
|
||||
List<Task> getActiveTasksByProcessInstanceId(String processInstanceId);
|
||||
|
||||
/**
|
||||
* 获得流程任务列表
|
||||
* FIXME 该接口 web 不能正常响应
|
||||
*
|
||||
* @param processInstanceIds 流程实例的编号数组
|
||||
* @return 流程任务列表
|
||||
*/
|
||||
@ -56,4 +59,13 @@ public interface BpmTaskService {
|
||||
|
||||
|
||||
FormInfo getTaskFormModel(String taskId);
|
||||
|
||||
/**
|
||||
* 修改审批任务审批人
|
||||
* <p>
|
||||
* 注意:不是委派给其他人
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
void assigneeTask(BpmTaskAssigneeDTO dto);
|
||||
}
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.workflow.core.service.dto.request.task;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2023/7/27 11:50
|
||||
*/
|
||||
@Data
|
||||
public class BpmTaskAssigneeDTO {
|
||||
|
||||
@ApiModelProperty(value = "审批任务 ID")
|
||||
private String taskId;
|
||||
|
||||
@ApiModelProperty(value = "审批任务原审批人")
|
||||
private String originUserId;
|
||||
|
||||
@ApiModelProperty(value = "审批任务转发给谁")
|
||||
private String newUserId;
|
||||
|
||||
@ApiModelProperty(value = "租户 ID")
|
||||
private String tenantId;
|
||||
}
|
||||
@ -7,6 +7,7 @@ import cn.axzo.workflow.core.common.utils.BpmCollectionUtils;
|
||||
import cn.axzo.workflow.core.service.BpmTaskService;
|
||||
import cn.axzo.workflow.core.service.converter.BpmTaskDonePageItemConverter;
|
||||
import cn.axzo.workflow.core.service.converter.BpmTaskTodoPageItemConverter;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAssigneeDTO;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAuditDTO;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoPageSearchDTO;
|
||||
import cn.axzo.workflow.core.service.dto.response.BpmPageResult;
|
||||
@ -351,4 +352,17 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void assigneeTask(BpmTaskAssigneeDTO dto) {
|
||||
Task task = taskService.createTaskQuery()
|
||||
.taskId(dto.getTaskId())
|
||||
.taskAssignee(dto.getOriginUserId())
|
||||
.taskTenantId(dto.getTenantId())
|
||||
.singleResult();
|
||||
if (Objects.isNull(task)) {
|
||||
throw new WorkflowEngineException("任务不存在,或者不属于你");
|
||||
}
|
||||
taskService.setAssignee(task.getId(), dto.getNewUserId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
package cn.axzo.workflow.server.controller.web;
|
||||
|
||||
import cn.axzo.workflow.core.service.BpmTaskService;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAssigneeDTO;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAuditDTO;
|
||||
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoPageSearchDTO;
|
||||
import cn.axzo.workflow.core.service.dto.response.BpmPageResult;
|
||||
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskDonePageItemVO;
|
||||
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemVO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.form.api.FormInfo;
|
||||
import org.flowable.task.api.Task;
|
||||
@ -49,7 +51,7 @@ public class BpmTaskController {
|
||||
/**
|
||||
* 同意
|
||||
*/
|
||||
@PostMapping("/approve")
|
||||
@PutMapping("/approve")
|
||||
public CommonResponse<Boolean> approveTask(@RequestBody BpmTaskAuditDTO dto) {
|
||||
log.info("同意 approveTask===>>>参数:{}", dto);
|
||||
bpmTaskService.approveTask(dto);
|
||||
@ -59,13 +61,20 @@ public class BpmTaskController {
|
||||
/**
|
||||
* 拒绝
|
||||
*/
|
||||
@PostMapping("/reject")
|
||||
@PutMapping("/reject")
|
||||
public CommonResponse<Boolean> rejectTask(@Valid @RequestBody BpmTaskAuditDTO dto) {
|
||||
log.info("拒绝 rejectTask===>>>参数:{}", dto);
|
||||
bpmTaskService.rejectTask(dto);
|
||||
return CommonResponse.success(true);
|
||||
}
|
||||
|
||||
@Operation(summary = "直接修改审批任务的审批人")
|
||||
@PutMapping("/assignee")
|
||||
public CommonResponse<Boolean> assigneeTask(@RequestBody BpmTaskAssigneeDTO dto) {
|
||||
bpmTaskService.assigneeTask(dto);
|
||||
return CommonResponse.success(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取历史已审批的列表详情
|
||||
|
||||
Loading…
Reference in New Issue
Block a user