mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-30 07:06:39 +08:00
add 添加转办任务
This commit is contained in:
parent
f494d0f3f0
commit
91c10d31a4
@ -136,4 +136,15 @@ public class ActTaskController extends BaseController {
|
|||||||
return toAjax(iActTaskService.terminationTask(terminationBo));
|
return toAjax(iActTaskService.terminationTask(terminationBo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转办任务
|
||||||
|
*
|
||||||
|
* @param transmitBo 参数
|
||||||
|
*/
|
||||||
|
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||||
|
@PostMapping("/transferTask")
|
||||||
|
public R<Void> transferTask(@Validated({AddGroup.class}) @RequestBody TransmitBo transmitBo) {
|
||||||
|
return toAjax(iActTaskService.transferTask(transmitBo));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
package org.dromara.workflow.domain.bo;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 终转办务请求对象
|
||||||
|
*
|
||||||
|
* @author may
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TransmitBo implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务id
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "任务id为空", groups = AddGroup.class)
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转办人id
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "转办人不能为空", groups = AddGroup.class)
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批意见
|
||||||
|
*/
|
||||||
|
private String comment;
|
||||||
|
}
|
@ -60,4 +60,12 @@ public interface IActTaskService {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
boolean terminationTask(TerminationBo terminationBo);
|
boolean terminationTask(TerminationBo terminationBo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转办任务
|
||||||
|
*
|
||||||
|
* @param transmitBo 参数
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
boolean transferTask(TransmitBo transmitBo);
|
||||||
}
|
}
|
||||||
|
@ -243,4 +243,32 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
throw new ServiceException(e.getMessage());
|
throw new ServiceException(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转办任务
|
||||||
|
*
|
||||||
|
* @param transmitBo 参数
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean transferTask(TransmitBo transmitBo) {
|
||||||
|
Task task = taskService.createTaskQuery().taskId(transmitBo.getTaskId()).taskTenantId(TenantHelper.getTenantId())
|
||||||
|
.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
||||||
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
|
}
|
||||||
|
if (task.isSuspended()) {
|
||||||
|
throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
TaskEntity newTask = WorkflowUtils.createNewTask(task);
|
||||||
|
taskService.addComment(newTask.getId(), task.getProcessInstanceId(),
|
||||||
|
StringUtils.isNotBlank(transmitBo.getComment()) ? transmitBo.getComment() : LoginHelper.getUsername() + "转办了任务");
|
||||||
|
taskService.complete(newTask.getId());
|
||||||
|
taskService.setAssignee(task.getId(), transmitBo.getUserId());
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new ServiceException(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user