add - 添加日志打印

This commit is contained in:
wangli 2023-12-13 23:35:07 +08:00
parent 53beddda3e
commit 3676d9170a

View File

@ -1,6 +1,5 @@
package cn.axzo.workflow.core.service.impl;
import cn.axzo.framework.core.util.StringUtil;
import cn.axzo.workflow.common.enums.BpmnCountersignType;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.request.bpmn.BpmnNoticeConf;
@ -33,7 +32,6 @@ import cn.axzo.workflow.core.service.converter.BpmnTaskDonePageItemConverter;
import cn.axzo.workflow.core.service.converter.BpmnTaskTodoPageItemConverter;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.flowable.bpmn.model.Activity;
@ -90,7 +88,6 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_ADVICE
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_AUTO_PASSED;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_COUNTERSIGN;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_TRANSFER;
import static cn.axzo.workflow.common.constant.BpmnConstants.COUNTERSIGN_ORIGIN_ASSIGNER;
import static cn.axzo.workflow.common.constant.BpmnConstants.COUNTERSIGN_REMAIN_ASSIGNER_LIST;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT;
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_DELETE_PROCESS_FLAG;
@ -329,34 +326,34 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
saveAttachment(dto.getAttachmentList(), instance.getId(), task.getId());
//add by zuoqinbo 处理加签[分为向前加签和向后加签]或转交的任务
String parentTaskId = task.getParentTaskId();
if (StringUtils.hasLength(parentTaskId)) {
List<Task> subTasks = taskService.getSubTasks(parentTaskId);
long subTaskCount = subTasks.size();
TaskEntity taskEntity = (TaskEntity) taskService.createTaskQuery().taskId(parentTaskId).singleResult();
//当前任务是加签任务,parentTask下没有其他子任务 subTaskCount == 0
//目前子任务是依次顺序审批, taskService.complete(task.getId()) 已经把当前任务完成,则subTaskCount == 0
log.info("加签父任务:{},子任务:{},subTaskCount:{},正在进行审批!", parentTaskId, task.getId(), subTaskCount);
if (subTaskCount == 0) {
//让剩余加签人进行处理
List<BpmnTaskDelegateAssigner> remainAssignerList =
(List<BpmnTaskDelegateAssigner>) taskService.getVariable(parentTaskId,
COUNTERSIGN_REMAIN_ASSIGNER_LIST, List.class);
log.info("加签列表: {}", JSON.toJSONString(remainAssignerList));
//如果加签流程还未流转完还有剩余加签人
if (!CollectionUtils.isEmpty(remainAssignerList)) {
BpmnTaskDelegateAssigner remainAssigner = remainAssignerList.remove(0);
log.info("加签父任务:{},下一级流程处理人:{},", parentTaskId,
JSONUtil.toJsonStr(Lists.newArrayList(remainAssigner)));
taskService.setVariable(taskEntity.getId(), COUNTERSIGN_REMAIN_ASSIGNER_LIST, remainAssignerList);
this.createSubTask(taskEntity, parentTaskId, remainAssigner);
} else {
// 递归上去直到没有 parentId
log.info("加签人与被加签人都审批完毕");
recursionCompleteParentTask(parentTaskId);
}
}
}
// String parentTaskId = task.getParentTaskId();
// if (StringUtils.hasLength(parentTaskId)) {
// List<Task> subTasks = taskService.getSubTasks(parentTaskId);
// long subTaskCount = subTasks.size();
// TaskEntity taskEntity = (TaskEntity) taskService.createTaskQuery().taskId(parentTaskId).singleResult();
// //当前任务是加签任务,parentTask下没有其他子任务 subTaskCount == 0
// //目前子任务是依次顺序审批, taskService.complete(task.getId()) 已经把当前任务完成,则subTaskCount == 0
// log.info("加签父任务:{},子任务:{},subTaskCount:{},正在进行审批!", parentTaskId, task.getId(), subTaskCount);
// if (subTaskCount == 0) {
// //让剩余加签人进行处理
// List<BpmnTaskDelegateAssigner> remainAssignerList =
// (List<BpmnTaskDelegateAssigner>) taskService.getVariable(parentTaskId,
// COUNTERSIGN_REMAIN_ASSIGNER_LIST, List.class);
// log.info("加签列表: {}", JSON.toJSONString(remainAssignerList));
// //如果加签流程还未流转完还有剩余加签人
// if (!CollectionUtils.isEmpty(remainAssignerList)) {
// BpmnTaskDelegateAssigner remainAssigner = remainAssignerList.remove(0);
// log.info("加签父任务:{},下一级流程处理人:{},", parentTaskId,
// JSONUtil.toJsonStr(Lists.newArrayList(remainAssigner)));
// taskService.setVariable(taskEntity.getId(), COUNTERSIGN_REMAIN_ASSIGNER_LIST, remainAssignerList);
// this.createSubTask(taskEntity, parentTaskId, remainAssigner);
// } else {
// // 递归上去直到没有 parentId
// log.info("加签人与被加签人都审批完毕");
// recursionCompleteParentTask(parentTaskId);
// }
// }
// }
// 完成任务审批通过
taskService.complete(task.getId(), runtimeService.getVariables(task.getExecutionId()));
}
@ -847,14 +844,9 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
}
if (BpmnCountersignType.isValidAppType(dto.getCountersignType()) != null) {
//加签不能改变BPMN2.0原流程定义因为下一个流程实例不需要加签
String parentTaskId = task.getParentTaskId();
BpmnTaskDelegateAssigner originAssigner = dto.getOriginAssigner();
//更新当前父任务信息如果该父任务被加签后当前任务用户将看不到该代办信息
//或者其他方式隐藏
if (StringUtil.isEmpty(parentTaskId)) {
task.setAssignee(TASK_ASSIGNEE_SKIP_FLAT);
}
task.setAssignee(TASK_ASSIGNEE_SKIP_FLAT);
((TaskEntity) task).setScopeType(dto.getCountersignType());
taskService.saveTask(task);
// 设置评论
@ -866,6 +858,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
}
}
message.append("").append(dto.getTargetAssignerList().size()).append(" 人会签");
BpmnTaskDelegateAssigner originAssigner = dto.getOriginAssigner();
Authentication.setAuthenticatedUserId(originAssigner.buildAssigneeId());
taskService.addComment(task.getId(), task.getProcessInstanceId(), COMMENT_TYPE_OPERATION_COUNTERSIGN,
message.toString());
@ -875,7 +868,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
}
Authentication.setAuthenticatedUserId(null);
//更新父任务待加签人列表
taskService.setVariable(task.getId(), COUNTERSIGN_ORIGIN_ASSIGNER, originAssigner.buildAssigneeId());
// taskService.setVariable(task.getId(), COUNTERSIGN_ORIGIN_ASSIGNER, originAssigner.buildAssigneeId());
//该父任务加签时会创建子任务用于分配给其他人加签
//目前多个子任务时会按照加签人的顺序依次进行加签操作
//例如 加签按顺序依次分配给ABC三人,需A任务进行完成后进行B任务再进行C任务