mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-19 17:56:41 +08:00
update 优化 支持在监听器设置流程变量
This commit is contained in:
parent
90fef1bb17
commit
868bc492a2
@ -47,6 +47,11 @@ public class ProcessTaskEvent implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private Long taskId;
|
private Long taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实例id
|
||||||
|
*/
|
||||||
|
private Long instanceId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务id
|
* 业务id
|
||||||
*/
|
*/
|
||||||
|
@ -64,6 +64,7 @@ public class FlowProcessEventHandler {
|
|||||||
ProcessTaskEvent processTaskEvent = new ProcessTaskEvent();
|
ProcessTaskEvent processTaskEvent = new ProcessTaskEvent();
|
||||||
processTaskEvent.setTenantId(tenantId);
|
processTaskEvent.setTenantId(tenantId);
|
||||||
processTaskEvent.setFlowCode(flowCode);
|
processTaskEvent.setFlowCode(flowCode);
|
||||||
|
processTaskEvent.setInstanceId(instance.getId());
|
||||||
processTaskEvent.setBusinessId(instance.getBusinessId());
|
processTaskEvent.setBusinessId(instance.getBusinessId());
|
||||||
processTaskEvent.setNodeType(instance.getNodeType());
|
processTaskEvent.setNodeType(instance.getNodeType());
|
||||||
processTaskEvent.setNodeCode(instance.getNodeCode());
|
processTaskEvent.setNodeCode(instance.getNodeCode());
|
||||||
|
@ -8,7 +8,6 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.warm.flow.core.FlowEngine;
|
|
||||||
import org.dromara.warm.flow.core.dto.FlowParams;
|
import org.dromara.warm.flow.core.dto.FlowParams;
|
||||||
import org.dromara.warm.flow.core.entity.Definition;
|
import org.dromara.warm.flow.core.entity.Definition;
|
||||||
import org.dromara.warm.flow.core.entity.Instance;
|
import org.dromara.warm.flow.core.entity.Instance;
|
||||||
@ -16,7 +15,6 @@ import org.dromara.warm.flow.core.entity.Task;
|
|||||||
import org.dromara.warm.flow.core.listener.GlobalListener;
|
import org.dromara.warm.flow.core.listener.GlobalListener;
|
||||||
import org.dromara.warm.flow.core.listener.ListenerVariable;
|
import org.dromara.warm.flow.core.listener.ListenerVariable;
|
||||||
import org.dromara.warm.flow.core.service.InsService;
|
import org.dromara.warm.flow.core.service.InsService;
|
||||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
|
||||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||||
import org.dromara.workflow.common.constant.FlowConstant;
|
import org.dromara.workflow.common.constant.FlowConstant;
|
||||||
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
||||||
@ -165,15 +163,12 @@ public class WorkflowGlobalListener implements GlobalListener {
|
|||||||
flwCommonService.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice);
|
flwCommonService.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FlowInstance ins = new FlowInstance();
|
insService.removeVariables(instance.getId(),
|
||||||
Map<String, Object> variableMap = instance.getVariableMap();
|
FlowConstant.FLOW_COPY_LIST,
|
||||||
variableMap.remove(FlowConstant.FLOW_COPY_LIST);
|
FlowConstant.MESSAGE_TYPE,
|
||||||
variableMap.remove(FlowConstant.MESSAGE_TYPE);
|
FlowConstant.MESSAGE_NOTICE,
|
||||||
variableMap.remove(FlowConstant.MESSAGE_NOTICE);
|
FlowConstant.SUBMIT
|
||||||
variableMap.remove(FlowConstant.SUBMIT);
|
);
|
||||||
ins.setId(instance.getId());
|
|
||||||
ins.setVariable(FlowEngine.jsonConvert.objToStr(variableMap));
|
|
||||||
insService.updateById(ins);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user