|
|
|
|
@ -6,6 +6,7 @@ import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
|
|
|
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
|
|
|
|
import org.dromara.common.core.utils.SpringUtils;
|
|
|
|
|
import org.dromara.common.tenant.helper.TenantHelper;
|
|
|
|
|
import org.dromara.warm.flow.core.entity.Instance;
|
|
|
|
|
import org.dromara.workflow.common.ConditionalOnEnable;
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
@ -26,28 +27,25 @@ public class FlowProcessEventHandler {
|
|
|
|
|
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
|
|
|
|
*
|
|
|
|
|
* @param flowCode 流程定义编码
|
|
|
|
|
* @param businessId 业务id
|
|
|
|
|
* @param nodeType 节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
|
|
|
|
|
* @param nodeCode 流程节点编码
|
|
|
|
|
* @param nodeName 流程节点名称
|
|
|
|
|
* @param instance 实例数据
|
|
|
|
|
* @param status 流程状态
|
|
|
|
|
* @param params 办理参数
|
|
|
|
|
* @param submit 当为true时为申请人节点办理
|
|
|
|
|
*/
|
|
|
|
|
public void processHandler(String flowCode, String businessId, Integer nodeType, String nodeCode, String nodeName,
|
|
|
|
|
public void processHandler(String flowCode, Instance instance,
|
|
|
|
|
String status, Map<String, Object> params, boolean submit) {
|
|
|
|
|
|
|
|
|
|
String tenantId = TenantHelper.getTenantId();
|
|
|
|
|
log.info("【流程事件发布】租户ID: {}, 流程编码: {}, 业务ID: {}, 状态: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 是否申请人节点: {}, 参数: {}",
|
|
|
|
|
tenantId, flowCode, businessId, status, nodeType, nodeCode, nodeName, submit, params);
|
|
|
|
|
tenantId, flowCode, instance.getBusinessId(), status, instance.getNodeType(), instance.getNodeCode(), instance.getNodeName(), submit, params);
|
|
|
|
|
|
|
|
|
|
ProcessEvent processEvent = new ProcessEvent();
|
|
|
|
|
processEvent.setTenantId(tenantId);
|
|
|
|
|
processEvent.setFlowCode(flowCode);
|
|
|
|
|
processEvent.setBusinessId(businessId);
|
|
|
|
|
processEvent.setNodeType(nodeType);
|
|
|
|
|
processEvent.setNodeCode(nodeCode);
|
|
|
|
|
processEvent.setNodeName(nodeName);
|
|
|
|
|
processEvent.setBusinessId(instance.getBusinessId());
|
|
|
|
|
processEvent.setNodeType(instance.getNodeType());
|
|
|
|
|
processEvent.setNodeCode(instance.getNodeCode());
|
|
|
|
|
processEvent.setNodeName(instance.getNodeName());
|
|
|
|
|
processEvent.setStatus(status);
|
|
|
|
|
processEvent.setParams(params);
|
|
|
|
|
processEvent.setSubmit(submit);
|
|
|
|
|
@ -58,24 +56,21 @@ public class FlowProcessEventHandler {
|
|
|
|
|
* 执行创建任务监听
|
|
|
|
|
*
|
|
|
|
|
* @param flowCode 流程定义编码
|
|
|
|
|
* @param nodeType 节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
|
|
|
|
|
* @param nodeCode 流程节点编码
|
|
|
|
|
* @param nodeName 流程节点名称
|
|
|
|
|
* @param instance 实例数据
|
|
|
|
|
* @param taskId 任务id
|
|
|
|
|
* @param businessId 业务id
|
|
|
|
|
*/
|
|
|
|
|
public void processCreateTaskHandler(String flowCode, Integer nodeType, String nodeCode, String nodeName, Long taskId, String businessId) {
|
|
|
|
|
public void processCreateTaskHandler(String flowCode, Instance instance, Long taskId) {
|
|
|
|
|
String tenantId = TenantHelper.getTenantId();
|
|
|
|
|
log.info("发布流程任务事件, 租户ID: {}, 流程编码: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}, 业务ID: {}",
|
|
|
|
|
tenantId, flowCode, nodeType, nodeCode, nodeName, taskId, businessId);
|
|
|
|
|
log.info("发布流程任务事件, 租户ID: {}, 流程编码: {}, 业务ID: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}",
|
|
|
|
|
tenantId, flowCode, instance.getBusinessId(), instance.getNodeType(), instance.getNodeCode(), instance.getNodeName(), taskId);
|
|
|
|
|
ProcessCreateTaskEvent processCreateTaskEvent = new ProcessCreateTaskEvent();
|
|
|
|
|
processCreateTaskEvent.setTenantId(tenantId);
|
|
|
|
|
processCreateTaskEvent.setFlowCode(flowCode);
|
|
|
|
|
processCreateTaskEvent.setNodeType(nodeType);
|
|
|
|
|
processCreateTaskEvent.setNodeCode(nodeCode);
|
|
|
|
|
processCreateTaskEvent.setNodeName(nodeName);
|
|
|
|
|
processCreateTaskEvent.setBusinessId(instance.getBusinessId());
|
|
|
|
|
processCreateTaskEvent.setNodeType(instance.getNodeType());
|
|
|
|
|
processCreateTaskEvent.setNodeCode(instance.getNodeCode());
|
|
|
|
|
processCreateTaskEvent.setNodeName(instance.getNodeName());
|
|
|
|
|
processCreateTaskEvent.setTaskId(taskId);
|
|
|
|
|
processCreateTaskEvent.setBusinessId(businessId);
|
|
|
|
|
SpringUtils.context().publishEvent(processCreateTaskEvent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|