update - 审批日志中新增扩展评论信息

This commit is contained in:
wangli 2024-01-09 18:04:17 +08:00
parent 32728d49cb
commit b35632e4af
6 changed files with 19 additions and 20 deletions

View File

@ -75,10 +75,6 @@ public interface BpmnConstants {
String START_EVENT_ID = "startEventNode";
String SEQUENCE_FLOW_ID = "SequenceFlowId";
String END_EVENT_ID = "endEventNode";
String COMMENT_ID = "commentNode";
String DUMMY_ID = "dummyNode";
String ABORT_ID = "abortNode";
String CANCEL_ID = "cancelNode";
String BPM_MODEL_CATEGORY = "bpm_model_category";
String BPM_ALLOW_SKIP_USER_TASK = "_INTERNAL_SKIP_USER_TASK_";
/**
@ -90,11 +86,6 @@ public interface BpmnConstants {
String COMMENT_TYPE_OPERATION_DESC = "operationDesc";
// 评论扩展信息, 例如评分等
String COMMENT_TYPE_COMMENT_EXT = "commentExt";
// String COMMENT_TYPE_AUTO_PASSED = "operation-autoPassed";
// String COMMENT_TYPE_AUTO_REJECTED = "operation-autoRejected";
// String COMMENT_TYPE_OPERATION_COUNTERSIGN = "operation-countersign";
// String COMMENT_TYPE_OPERATION_TRANSFER = "operation-transfer";
// String COMMENT_TYPE_OPERATION_DUMMY_OPERATION_DESC = "operation-dummy-desc";
String NUMBER_OF_INSTANCES = "nrOfInstances";
String MULTI_INSTANCE_LOOP_COUNTER = "loopCounter";
String TASK_COMPLETE_OPERATION_TYPE = "_TASK_COMPLETE_TYPE";

View File

@ -56,6 +56,9 @@ public class BpmnHistoricTaskInstanceVO {
@ApiModelProperty(value = "任务审批意见")
private String advice;
@ApiModelProperty(value = "审批意见的扩展信息")
private String commentExt;
@ApiModelProperty(value = "当前任务关联评论信息", notes = "暂时不用", hidden = true)
@Deprecated
private List<BpmnHistoricCommentVO> comments;

View File

@ -28,10 +28,10 @@ import java.util.Date;
import java.util.List;
import java.util.Objects;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_ID;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_ADVICE;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_COMMENT_EXT;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_INFO;
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_COMMENT;
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.COMMENTED;
import static org.flowable.task.api.Task.DEFAULT_PRIORITY;
@ -81,7 +81,7 @@ public class CustomCommentTaskCmd implements Command<Void>, Serializable {
task.setName("评论");
task.setProcessDefinitionId(processInstance.getProcessDefinitionId());
task.setProcessInstanceId(processInstance.getId());
task.setTaskDefinitionKey(COMMENT_ID);
task.setTaskDefinitionKey(NODE_COMMENT.getType());
task.setPriority(DEFAULT_PRIORITY);
task.setCreateTime(new Date());
// 创建临时节点

View File

@ -18,7 +18,7 @@ import java.util.List;
import java.util.Objects;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC;
import static cn.axzo.workflow.common.constant.BpmnConstants.DUMMY_ID;
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_ROBOT;
import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_NOT_EXISTS;
/**
@ -78,7 +78,7 @@ public class CustomCompleteDummyTaskCmd implements Command<Void>, Serializable {
if (CollectionUtils.isEmpty(taskList)) {
return;
}
taskList.stream().filter(i -> !Objects.equals(i.getTaskDefinitionKey(), DUMMY_ID))
taskList.stream().filter(i -> !Objects.equals(i.getTaskDefinitionKey(), NODE_ROBOT.getType()))
.filter(i -> Objects.nonNull(i.getOwner()))
.forEach(i -> {
taskService.setAssignee(i.getId(), i.getOwner());

View File

@ -26,9 +26,9 @@ import java.util.Objects;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC;
import static cn.axzo.workflow.common.constant.BpmnConstants.DUMMY_ASSIGNEE_ID;
import static cn.axzo.workflow.common.constant.BpmnConstants.DUMMY_ID;
import static cn.axzo.workflow.common.constant.BpmnConstants.HIDDEN_ASSIGNEE_ID;
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_ASSIGNEE_SKIP_FLAT;
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_ROBOT;
import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_CREATED;
import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_REPEAT_CREATE;
import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_NOT_SUPPORT;
@ -82,7 +82,7 @@ public class CustomCreateDummyTaskCmd implements Command<String>, Serializable {
activeTaskList.stream().filter(task -> Objects.equals(task.getAssignee(), DUMMY_ASSIGNEE_ID)).findAny().ifPresent(task -> {
throw new WorkflowEngineException(DUMMY_TASK_CANT_CREATED, processInstanceId);
});
activeTaskList.stream().filter(task -> Objects.equals(task.getTaskDefinitionKey(), DUMMY_ID)).findAny().ifPresent(task -> {
activeTaskList.stream().filter(task -> Objects.equals(task.getTaskDefinitionKey(), NODE_ROBOT.getType())).findAny().ifPresent(task -> {
throw new WorkflowEngineException(DUMMY_TASK_CANT_REPEAT_CREATE);
});
@ -97,7 +97,7 @@ public class CustomCreateDummyTaskCmd implements Command<String>, Serializable {
task.setName(flowNodeName);
task.setProcessDefinitionId(processInstance.getProcessDefinitionId());
task.setProcessInstanceId(processInstance.getId());
task.setTaskDefinitionKey(DUMMY_ID);
task.setTaskDefinitionKey(NODE_ROBOT.getType());
task.setPriority(DEFAULT_PRIORITY);
task.setCreateTime(new Date());
// 创建临时节点
@ -115,7 +115,8 @@ public class CustomCreateDummyTaskCmd implements Command<String>, Serializable {
completeProcessingTask(commandContext);
CustomTaskHelper.createExtTaskInst(extAxHiTaskInstService, processInstanceId, task.getId(), DUMMY_ID,
CustomTaskHelper.createExtTaskInst(extAxHiTaskInstService, processInstanceId, task.getId(),
NODE_ROBOT.getType(),
Objects.isNull(operator) ? BpmnTaskDelegateAssigner.buildDummyAssigner("system",
TASK_ASSIGNEE_SKIP_FLAT, "系统") : operator,
BpmnProcessInstanceResultEnum.PROCESSING.getStatus());

View File

@ -85,6 +85,7 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_ADVICE;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_COMMENT_EXT;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_INFO;
@ -360,9 +361,12 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
taskComments.stream().filter(i -> Objects.equals(i.getTaskId(), vo.getTaskId()))
.filter(i -> Objects.equals(COMMENT_TYPE_OPERATION_DESC, i.getType()))
.max(Comparator.comparing(Comment::getTime))
.ifPresent(i -> {
vo.setOperationDesc(i.getFullMessage());
});
.ifPresent(i -> vo.setOperationDesc(i.getFullMessage()));
// 处理 CommentExt
taskComments.stream().filter(i -> Objects.equals(i.getTaskId(), vo.getTaskId()))
.filter(i -> Objects.equals(i.getTaskId(), COMMENT_TYPE_COMMENT_EXT)).findFirst()
.ifPresent(i -> vo.setCommentExt(i.getFullMessage()));
List<Attachment> attachments = attachmentByTaskIdMap.getOrDefault(vo.getTaskId(), Collections.emptyList());
vo.setAttachments(attachmentConverter.toVos(attachments));