update - 处理日志查询时 advice 未正确匹配的问题

This commit is contained in:
wangli 2024-01-05 17:07:18 +08:00
parent d4dd01ff7e
commit d1ceb80431
3 changed files with 9 additions and 9 deletions

View File

@ -95,7 +95,6 @@ public class CustomCountersignUserTaskCmd implements Command<Void>, Serializable
break;
}
((TaskEntity) task).setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + task.getId(), COUNTERSIGN.getStatus());
deleteMultiTask(commandContext, (TaskEntity) task);
return null;
@ -134,14 +133,14 @@ public class CustomCountersignUserTaskCmd implements Command<Void>, Serializable
taskService.saveTask(task);
// 构建评论内容
StringBuilder message = new StringBuilder("添加 ");
StringBuilder message = new StringBuilder(originTaskAssignee.getAssignerName() + "添加");
for (int i = 0; i < targetTaskAssigneeList.size(); i++) {
message.append(targetTaskAssigneeList.get(i).getAssignerName());
if (i < targetTaskAssigneeList.size() - 1) {
message.append("");
}
}
message.append(" ").append(targetTaskAssigneeList.size()).append(" 人进行审批");
message.append("").append(targetTaskAssigneeList.size()).append("人进行审批");
// 新增评论
Authentication.setAuthenticatedUserId(originTaskAssignee.buildAssigneeId());

View File

@ -29,6 +29,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_COMPLETE_OPERA
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.TRANSFER;
import static cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner.buildDummyAssigner;
import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.ASSIGNEE_HAS_BEEN_EXISTS;
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.addComment;
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.addMultiTask;
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.batchAddAttachment;
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.deleteMultiTask;
@ -71,7 +72,7 @@ public class CustomTransferUserTaskCmd implements Command<Void>, Serializable {
processAssignee(processEngineConfiguration, task);
resolveOriginTask(taskService, task);
resolveOriginTask(commandContext, taskService, task);
if (!CollectionUtils.isEmpty(attachmentList)) {
batchAddAttachment(commandContext, task.getProcessInstanceId(), task.getId(), attachmentList,
@ -85,17 +86,17 @@ public class CustomTransferUserTaskCmd implements Command<Void>, Serializable {
return null;
}
private void resolveOriginTask(TaskService taskService, Task task) {
private void resolveOriginTask(CommandContext commandContext, TaskService taskService, Task task) {
BpmnTaskDelegateAssigner assigner = buildDummyAssigner("transfer", TASK_ASSIGNEE_SKIP_FLAT, "dummyApprover");
task.setAssignee(assigner.buildAssigneeId());
((TaskEntity) task).setScopeType("TRANSFER");
taskService.saveTask(task);
Authentication.setAuthenticatedUserId(originTaskAssignee.buildAssigneeId());
taskService.addComment(task.getId(), task.getProcessInstanceId(), COMMENT_TYPE_OPERATION_DESC,
"转交给 " + targetTaskAssignee.getAssignerName());
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC,
originTaskAssignee.getAssignerName() + "转交给" + targetTaskAssignee.getAssignerName());
if (StringUtils.hasLength(advice)) {
taskService.addComment(task.getId(), task.getProcessInstanceId(), COMMENT_TYPE_ADVICE, advice);
addComment(commandContext, task, COMMENT_TYPE_ADVICE, advice);
}
Authentication.setAuthenticatedUserId(null);
}

View File

@ -349,7 +349,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
List<Comment> taskComments = commentByTaskIdMap.getOrDefault(vo.getTaskId(), Collections.emptyList());
// 处理 advice
taskComments.stream().filter(i -> Objects.equals(i.getUserId(), vo.getAssignee()))
taskComments.stream().filter(i -> Objects.equals(i.getTaskId(), vo.getTaskId()))
.filter(i -> Objects.equals(i.getType(), COMMENT_TYPE_ADVICE)).findFirst()
.ifPresent(i -> vo.setAdvice(i.getFullMessage()));