update - 调整审批日志中 operationDesc 的生成规则, 识别新需求

This commit is contained in:
wangli 2024-01-10 16:09:00 +08:00
parent c88e2cdf6f
commit 9b8f3675b0
8 changed files with 12 additions and 22 deletions

View File

@ -90,9 +90,9 @@ public class CustomAbortProcessInstanceCmd implements Command<Void>, Serializabl
// 添加自定义的节点,用于展示最后的操作
Task task = createVirtualTask(commandContext, extAxHiTaskInstService, processInstanceId,
"系统终止", NODE_ABORT.getType(), reason, BpmnTaskDelegateAssigner.buildDummyAssigner("system",
"系统终止", NODE_ABORT.getType(), null, BpmnTaskDelegateAssigner.buildDummyAssigner("system",
TASK_ASSIGNEE_SKIP_FLAT, "系统"), ABORTED.getStatus());
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, "系统终止");
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, reason);
runtimeService.setVariable(task.getProcessInstanceId(), TASK_COMPLETE_OPERATION_TYPE + task.getId(), ABORTED);
return null;
}

View File

@ -70,7 +70,7 @@ public class CustomApproveTaskCmd implements Command<Void>, Serializable {
}
Authentication.setAuthenticatedUserId(approver.buildAssigneeId());
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, approver.getAssignerName() + "已通过");
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, "已通过");
Authentication.setAuthenticatedUserId(null);
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();

View File

@ -133,7 +133,7 @@ public class CustomCountersignUserTaskCmd implements Command<Void>, Serializable
taskService.saveTask(task);
// 构建评论内容
StringBuilder message = new StringBuilder(originTaskAssignee.getAssignerName() + "添加");
StringBuilder message = new StringBuilder("添加");
for (int i = 0; i < targetTaskAssigneeList.size(); i++) {
message.append(targetTaskAssigneeList.get(i).getAssignerName());
if (i < targetTaskAssigneeList.size() - 1) {

View File

@ -63,7 +63,7 @@ public class CustomRejectionTaskCmd implements Command<Void>, Serializable {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
validTask((TaskEntity) task, approver);
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, approver.getAssignerName() + "已驳回");
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, "已驳回");
((TaskEntity) task).setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + task.getId(), REJECTED.getStatus());
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();

View File

@ -93,8 +93,7 @@ public class CustomTransferUserTaskCmd implements Command<Void>, Serializable {
taskService.saveTask(task);
Authentication.setAuthenticatedUserId(originTaskAssignee.buildAssigneeId());
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC,
originTaskAssignee.getAssignerName() + "转交给" + targetTaskAssignee.getAssignerName());
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, "转交给" + targetTaskAssignee.getAssignerName());
if (StringUtils.hasLength(advice)) {
addComment(commandContext, task, COMMENT_TYPE_ADVICE, advice);
}

View File

@ -265,9 +265,11 @@ public class CustomTaskHelper {
}
private static void addAdvice(CommandContext commandContext, Task task, String comment, String userId) {
Authentication.setAuthenticatedUserId(userId);
addComment(commandContext, task, COMMENT_TYPE_ADVICE, comment);
Authentication.setAuthenticatedUserId(null);
if (StringUtils.hasLength(comment)) {
Authentication.setAuthenticatedUserId(userId);
addComment(commandContext, task, COMMENT_TYPE_ADVICE, comment);
Authentication.setAuthenticatedUserId(null);
}
}
public static void createExtTaskInst(ExtAxHiTaskInstService extAxHiTaskInstService, String processInstanceId,

View File

@ -1,6 +1,5 @@
package cn.axzo.workflow.core.service.impl;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.request.bpmn.BpmnNoticeConf;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCompleteDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCreateDTO;
@ -340,14 +339,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
Map<String, ExtAxHiTaskInst> extTaskInstMap = extAxHiTaskInstService.queryList(searchDTO).stream()
.collect(Collectors.toMap(ExtAxHiTaskInst::getTaskId, Function.identity(), (s, t) -> s));
BpmnProcessInstanceResultEnum processBusinessStatus = valueOfStatus(instance.getBusinessStatus());
for (BpmnHistoricTaskInstanceVO vo : vos) {
// vo.setResult(processBusinessStatus);
// if (Objects.nonNull(vo.getEndTime())) {
// // 只有驳回和终止时, 为指定的 taskId 设置过变量
// vo.setResult((BpmnProcessInstanceResultEnum) instance.getProcessVariables()
// .getOrDefault(TASK_COMPLETE_OPERATION_TYPE + vo.getTaskId(), APPROVED));
// }
ExtAxHiTaskInst taskInst = extTaskInstMap.getOrDefault(vo.getTaskId(), new ExtAxHiTaskInst());
vo.setResult(valueOfStatus(taskInst.getStatus()));
List<Comment> taskComments = commentByTaskIdMap.getOrDefault(vo.getTaskId(), Collections.emptyList());

View File

@ -16,7 +16,6 @@ import org.springframework.stereotype.Component;
import java.util.Objects;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_INITIATOR;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_INFO;
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_COMPLETE_OPERATION_TYPE;
@ -37,6 +36,7 @@ public class StartNodeAutoCompleteEventListener implements BpmnTaskEventListener
public int getOrder() {
return Integer.MIN_VALUE + 102;
}
private final TaskService taskService;
private final RuntimeService runtimeService;
private final RepositoryService repositoryService;
@ -59,9 +59,6 @@ public class StartNodeAutoCompleteEventListener implements BpmnTaskEventListener
initiator);
delegateTask.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + delegateTask.getId(),
APPROVED.getStatus());
taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(),
COMMENT_TYPE_OPERATION_DESC,
initiator.getAssignerName());
// 直接完成
taskService.complete(delegateTask.getId(), runtimeService.getVariables(delegateTask.getExecutionId()));
}