add - 添加日志打印
This commit is contained in:
parent
53beddda3e
commit
3676d9170a
@ -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());
|
||||
//该父任务加签时,会创建子任务用于分配给其他人加签
|
||||
//目前多个子任务时,会按照加签人的顺序依次进行加签操作,
|
||||
//例如 加签按顺序依次分配给A、B、C三人,需A任务进行完成后,进行B任务、再进行C任务
|
||||
|
||||
Loading…
Reference in New Issue
Block a user