TaskService taskService = processEngine.getTaskService();
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 处理抄送任务
if ("copy".equals(task.getCategory())) {
new DeleteTaskWithCommentCmd(taskId, "已阅").execute(commandContext);
return null;
}
// 先保存草稿
new SaveDraftOperation().execute(getParameters());
// 先设置登录用户
IdentityService identityService = processEngine.getIdentityService();
identityService.setAuthenticatedUserId(SpringSecurityUtils
.getCurrentUsername());
if (task == null) {
throw new IllegalStateException("任务不存在");
}
logger.info("{}", task.getDelegationState());
// 处理委办任务
if (DelegationState.PENDING == task.getDelegationState()) {
taskService.resolveTask(taskId);
return null;
}
// 处理子任务
if ("subtask".equals(task.getCategory())) {
new DeleteTaskWithCommentCmd(taskId, "完成").execute(commandContext);
int count = getJdbcTemplate().queryForObject(
"select count(*) from ACT_RU_TASK where PARENT_TASK_ID_=?",
Integer.class, task.getParentTaskId());