From 5421b8af862890dcf187c2ad5ece55423959ba85 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 19:27:14 +0800
Subject: [PATCH] feat(bpm): 全部业务审批流改回 BPM,审批统一进入协同办公
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/listener/ErpPurchaseOrderStatusListener.java | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/listener/ErpPurchaseOrderStatusListener.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/listener/ErpPurchaseOrderStatusListener.java
index 21b8109..337d4f2 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/listener/ErpPurchaseOrderStatusListener.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/listener/ErpPurchaseOrderStatusListener.java
@@ -3,29 +3,50 @@
import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEvent;
import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEventListener;
import cn.iocoder.yudao.module.erp.service.purchase.ErpPurchaseOrderService;
-import cn.iocoder.yudao.module.erp.service.purchase.ErpPurchaseOrderServiceImpl;
import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
- * 閲囪喘璁㈠崟瀹℃壒鐨勭粨鏋滅殑鐩戝惉鍣ㄥ疄鐜扮被
+ * 閲囪喘璁㈠崟瀹℃壒鐘舵�佺洃鍚櫒
*
- * @author 鑺嬮亾婧愮爜
+ * 鐩戝惉 BPM 瀹℃壒缁撴灉锛屽洖鍐欓噰璐鍗曠姸鎬侊紝浣块噰璐鍗曞鎵圭粺涓�鍦ㄣ�屽崗鍚屽姙鍏� - 鎴戠殑娴佺▼銆嶄腑娴佽浆銆�
*/
@Component
+@Slf4j
public class ErpPurchaseOrderStatusListener extends BpmProcessInstanceStatusEventListener {
+
+ /**
+ * 閲囪喘璁㈠崟瀹℃壒娴佺▼瀹氫箟 Key
+ */
+ private static final String PROCESS_DEFINITION_KEY = "purchase_approve";
@Resource
private ErpPurchaseOrderService purchaseOrderService;
@Override
- public String getProcessDefinitionKey() {
- return ErpPurchaseOrderServiceImpl.BPM_PROCESS_DEFINITION_KEY;
+ protected String getProcessDefinitionKey() {
+ return PROCESS_DEFINITION_KEY;
}
@Override
protected void onEvent(BpmProcessInstanceStatusEvent event) {
- purchaseOrderService.updatePurchaseOrderAuditStatus(Long.parseLong(event.getBusinessKey()), event.getStatus());
+ Long orderId;
+ try {
+ orderId = Long.parseLong(event.getBusinessKey());
+ } catch (NumberFormatException e) {
+ log.warn("[onEvent] businessKey({}) 涓嶆槸鏈夋晥鐨勯噰璐鍗曠紪鍙�", event.getBusinessKey());
+ return;
+ }
+
+ log.info("[onEvent] 鏀跺埌BPM瀹℃壒浜嬩欢锛宱rderId={}, status={}", orderId, event.getStatus());
+
+ try {
+ purchaseOrderService.updatePurchaseOrderAuditStatus(orderId, event.getStatus(), event.getReason());
+ log.info("[onEvent] 閲囪喘璁㈠崟({}) 瀹℃壒鐘舵�佹洿鏂板畬鎴�", orderId);
+ } catch (Exception e) {
+ log.error("[onEvent] 鏇存柊閲囪喘璁㈠崟瀹℃壒鐘舵�佸け璐ワ紝orderId={}", orderId, e);
+ }
}
}
--
Gitblit v1.9.3