Commit 7d4b124f by 赵剑炜

调整监听事件

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