Commit 7d4b124f by 赵剑炜

调整监听事件

parent 286b6e39
...@@ -69,7 +69,7 @@ public class BpmnController { ...@@ -69,7 +69,7 @@ public class BpmnController {
/** /**
* 转交 * 转交
*/ */
@ApiOperation("交") @ApiOperation("交")
@PutMapping("turn") @PutMapping("turn")
public ApiRes<Boolean> turn(@RequestBody TurnVo turns) { public ApiRes<Boolean> turn(@RequestBody TurnVo turns) {
if (WorkProcessService.turn(turns)) if (WorkProcessService.turn(turns))
......
...@@ -16,39 +16,48 @@ import org.slf4j.Logger; ...@@ -16,39 +16,48 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component @Component
public class GlobalEndListener extends AbstractFlowableEngineEventListener { public class GlobalEndListener extends AbstractFlowableEngineEventListener {
protected Logger logger = LoggerFactory.getLogger(this.getClass()); protected Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* @Author: Zhaojw
* @Description: 流程结束监听
* @DateTime: 2023/6/27 13:21
* @Params:
* @Return
*/
@SneakyThrows @SneakyThrows
@Override @Override
protected void processCompleted(FlowableEngineEntityEvent event) { protected void processCompleted(FlowableEngineEntityEvent event) {
//流程结束后工作在这里写 if (event.getType() == FlowableEngineEventType.PROCESS_COMPLETED) {
//得到流程定义id // 获取流程实例ID
String processInstanceId = event.getProcessInstanceId();
// 获取流程定义ID
String processDefinitionId = event.getProcessDefinitionId(); String processDefinitionId = event.getProcessDefinitionId();
//得到流程实例id // 获取流程实例关联的变量
String processInstanceId = event.getProcessInstanceId(); Map<String, Object> processVariables = getProcessVariables(processInstanceId);
/**
* 生产者不需要绑定队列和交换机,只有生产者才需要 // 获取单据类型
* String documentType = (String) processVariables.get("documentType");
* 建立连接
* 建立通道 // 根据单据类型执行不同的操作
* 推送消息 if ("equipment".equals(documentType)) {
*/ // 执行装备相关操作
// ...
Connection connection = RabbitMQUtils2.getConnection(); } else if ("personnel".equals(documentType)) {
Channel channel = connection.createChannel(); // 执行人员相关操作
channel.queueDeclare("info",false,false,false,null); // ...
channel.basicPublish("", "info", MessageProperties.PERSISTENT_TEXT_PLAIN,("publish").getBytes()); }
RabbitMQUtils2.closeChannelAndConnection(connection,channel); }
}
// 获取流程实例关联的变量
private Map<String, Object> getProcessVariables(String processInstanceId) {
// 根据 processInstanceId 获取流程实例关联的变量
// 这里需要根据你的业务逻辑来实现获取变量的方法
// 返回一个包含流程变量的 Map
return null;
}
} }
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论