feat - 新增前后加签的分支
This commit is contained in:
parent
dc11b8c994
commit
fb790b724f
@ -22,6 +22,7 @@ import org.flowable.task.api.TaskInfo;
|
||||
import org.flowable.task.api.history.HistoricTaskInstance;
|
||||
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
|
||||
import org.flowable.task.service.impl.persistence.entity.TaskEntity;
|
||||
import org.flowable.task.service.impl.persistence.entity.TaskEntityImpl;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -35,6 +36,7 @@ import java.util.stream.Collectors;
|
||||
import static cn.axzo.workflow.common.code.OtherRespCode.ASSIGNEE_NODE_ID_NOT_EXISTS;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.COUNTERSIGN_ASSIGNER_SHOW_NUMBER;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT;
|
||||
import static cn.axzo.workflow.common.enums.BpmnCountersignTypeEnum.FORWARD_COUNTERSIGN;
|
||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.COUNTERSIGN;
|
||||
import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getCategoryVersion;
|
||||
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.batchAddAttachment;
|
||||
@ -130,9 +132,11 @@ public class CustomCountersignUserTaskCmd extends AbstractCommand<Void> implemen
|
||||
switch (countersignType) {
|
||||
case FORWARD_COUNTERSIGN:
|
||||
// 加签的一种方式:前加签,具体定义由后续产品需求来定
|
||||
forwardCountSign(commandContext, task, valuTargetAssigneeList);
|
||||
break;
|
||||
case BACK_COUNTERSIGN:
|
||||
// 加签的另一种方式
|
||||
backCountSign(commandContext, task, valuTargetAssigneeList);
|
||||
break;
|
||||
default:
|
||||
// 共享签,不区分顺序
|
||||
@ -143,6 +147,42 @@ public class CustomCountersignUserTaskCmd extends AbstractCommand<Void> implemen
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 前加签
|
||||
*
|
||||
* @param commandContext
|
||||
* @param task
|
||||
* @param valuTargetAssigneeList
|
||||
*/
|
||||
private void forwardCountSign(CommandContext commandContext, TaskEntity task, List<BpmnTaskDelegateAssigner> valuTargetAssigneeList) {
|
||||
ProcessEngineConfigurationImpl processEngineConfiguration =
|
||||
CommandContextUtil.getProcessEngineConfiguration(commandContext);
|
||||
TaskService taskService = processEngineConfiguration.getTaskService();
|
||||
if (task instanceof TaskEntityImpl) {
|
||||
TaskEntityImpl taskEntity = (TaskEntityImpl) task;
|
||||
taskEntity.setCountEnabled(true);
|
||||
taskEntity.setOwner(task.getAssignee());
|
||||
taskEntity.setAssignee(null);
|
||||
taskEntity.setScopeType(FORWARD_COUNTERSIGN.getType());
|
||||
taskService.saveTask(taskEntity);
|
||||
|
||||
valuTargetAssigneeList.forEach(e -> {
|
||||
// TODO 创建新的任务
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 后加签
|
||||
*
|
||||
* @param commandContext
|
||||
* @param task
|
||||
* @param valuTargetAssigneeList
|
||||
*/
|
||||
private void backCountSign(CommandContext commandContext, TaskEntity task, List<BpmnTaskDelegateAssigner> valuTargetAssigneeList) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 共享签
|
||||
*
|
||||
@ -167,8 +207,19 @@ public class CustomCountersignUserTaskCmd extends AbstractCommand<Void> implemen
|
||||
|
||||
private void resolveOriginTask(CommandContext commandContext, ExtAxHiTaskInstService extAxHiTaskInstService,
|
||||
TaskService taskService, TaskEntity task) {
|
||||
// 构建评论内容
|
||||
StringBuilder message = new StringBuilder("添加");
|
||||
StringBuilder message = new StringBuilder();
|
||||
switch (countersignType) {
|
||||
case FORWARD_COUNTERSIGN:
|
||||
message.append("向前加签,添加");
|
||||
break;
|
||||
case BACK_COUNTERSIGN:
|
||||
message.append("向后加签,添加");
|
||||
break;
|
||||
default:
|
||||
// 构建评论内容
|
||||
message.append("添加");
|
||||
break;
|
||||
}
|
||||
int end = Math.min(targetTaskAssigneeList.size(), COUNTERSIGN_ASSIGNER_SHOW_NUMBER);
|
||||
//加签人员数量显示指定个数
|
||||
for (int i = 0; i < end; i++) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user