Merge branch 'feature/REQ-5965' into test
This commit is contained in:
commit
dffb17fae6
@ -40,6 +40,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.CLOSE_PROCESS_ASSIG
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_ADVICE;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_SPECIFY_NEXT_APPROVER;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.PENDING_TEMPLATE_VARIABLE;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.SIGNATURE_COLLECTION;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_COMPLETE_OPERATION_TYPE;
|
||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED;
|
||||
@ -161,8 +162,20 @@ public class CustomApproveTaskCmd extends AbstractCommand<Void> implements Seria
|
||||
}
|
||||
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, APPROVED.getStatus());
|
||||
|
||||
// 更新流程内的变量
|
||||
runtimeService.setVariables(task.getProcessInstanceId(), variables);
|
||||
if (!CollectionUtils.isEmpty(variables)) {
|
||||
Map<String, Object> pendingVariables = runtimeService.getVariable(task.getProcessInstanceId(), PENDING_TEMPLATE_VARIABLE, Map.class);
|
||||
if (!CollectionUtils.isEmpty(pendingVariables)) {
|
||||
variables.forEach((k, v) -> {
|
||||
if (pendingVariables.containsKey(k)) {
|
||||
pendingVariables.put(k, v);
|
||||
}
|
||||
});
|
||||
}
|
||||
// 如果有待办模板变量,则更新待办模板变量
|
||||
variables.put(PENDING_TEMPLATE_VARIABLE, pendingVariables);
|
||||
// 更新流程内的变量
|
||||
runtimeService.setVariables(task.getProcessInstanceId(), variables);
|
||||
}
|
||||
// 记录电子签名的图片
|
||||
recordSignature(task, runtimeService, attachmentList, advice, approver);
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.bpmn.model.Process;
|
||||
import org.flowable.engine.HistoryService;
|
||||
import org.flowable.engine.RuntimeService;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.engine.impl.util.CommandContextUtil;
|
||||
import org.flowable.engine.impl.util.ProcessDefinitionUtil;
|
||||
@ -44,7 +45,6 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.BIZ_ORG_RELATION;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT;
|
||||
@ -108,6 +108,8 @@ public class RocketMqMessagePushEventListener extends AbstractBpmnEventListener<
|
||||
@Resource
|
||||
private HistoryService historyService;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Value("${sendMq:true}")
|
||||
private Boolean sendMQ;
|
||||
@ -364,11 +366,11 @@ public class RocketMqMessagePushEventListener extends AbstractBpmnEventListener<
|
||||
private Map<String, Object> collectionVariable(MessagePushEvent event) {
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
|
||||
Map<String, Object> originVariables = runtimeService.getVariables(event.getProcessInstanceId());
|
||||
BpmnProcessInstanceVO processInstance = getContext().getInstanceVO(() -> getBpmnProcessInstanceVO(event));
|
||||
Map<String, Object> originVariables = processInstance.getVariables().entrySet().stream()
|
||||
.filter(e -> Objects.nonNull(e.getKey()) && Objects.nonNull(e.getValue()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
|
||||
originVariables.forEach((k, v) -> {
|
||||
log.info("流程实例变量 key: {}, value: {}", k, JSONUtil.toJsonStr(v));
|
||||
});
|
||||
BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(originVariables.get(INTERNAL_INITIATOR));
|
||||
if (Objects.isNull(initiator)) {
|
||||
initiator = new BpmnTaskDelegateAssigner();
|
||||
|
||||
@ -97,13 +97,29 @@
|
||||
</head>
|
||||
<body class="bg-gray-50 font-inter min-h-screen flex flex-col">
|
||||
<!-- 顶部导航 -->
|
||||
<header class="bg-white shadow-sm">
|
||||
<header class="bg-white shadow-sm sticky top-0 z-40">
|
||||
<div class="container mx-auto px-4 py-4 flex justify-between items-center">
|
||||
<h1 class="text-xl font-bold text-primary flex items-center">
|
||||
<h1 class="text-xl font-bold text-primary flex items-center shrink-0">
|
||||
<i class="fa fa-cogs mr-2"></i>审批流程后台操作系统
|
||||
</h1>
|
||||
<div class="text-gray-600">
|
||||
<i class="fa fa-user-circle-o mr-1"></i>管理员操作
|
||||
|
||||
<div class="flex items-center gap-6">
|
||||
<nav class="hidden md:flex items-center gap-5 text-sm font-medium text-gray-600">
|
||||
<a href="https://api.axzo.cn/workflow-engine/web/process/form"
|
||||
class="hover:text-primary transition-colors">生产环境</a>
|
||||
<a href="https://pre-api.axzo.cn/workflow-engine/web/process/form"
|
||||
class="hover:text-primary transition-colors">预发环境</a>
|
||||
<a href="https://test-api.axzo.cn/workflow-engine/web/process/form"
|
||||
class="hover:text-primary transition-colors">测试环境</a>
|
||||
<a href="https://dev-app.axzo.cn/workflow-engine/web/process/form"
|
||||
class="hover:text-primary transition-colors">开发环境</a>
|
||||
</nav>
|
||||
|
||||
<div class="hidden md:block h-4 w-px bg-gray-300"></div>
|
||||
|
||||
<div class="text-gray-600 shrink-0 text-sm">
|
||||
<i class="fa fa-user-circle-o mr-1"></i>管理员操作
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user