From 44840942aba889088a86d2b3d93856530bb2dc25 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期二, 25 八月 2026 16:51:29 +0800
Subject: [PATCH] Merge branch 'dev_business' into fix/hsy/20260811

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java
index e04714b..8809791 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java
@@ -41,12 +41,13 @@
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.*;
 
 /**
  * ERP 閲囪喘璁㈠崟 Service 瀹炵幇绫�
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Service
 @Validated
@@ -56,7 +57,11 @@
     /**
      * BPM 閲囪喘璁㈠崟瀹℃壒鍒嗙被缂栫爜
      */
-    private static final String PURCHASE_ORDER_APPROVE_CATEGORY_CODE = "purchase_request_approve";
+    private static final String PURCHASE_ORDER_APPROVE_CATEGORY_CODE = "purchase_order_approve";
+    /**
+     * BPM 閲囪喘璁㈠崟瀹℃壒娴佺▼瀹氫箟 Key锛堝垱寤鸿鍗曞悗鑷姩鎻愪氦鍒板崗鍚屽姙鍏鎵癸級
+     */
+    private static final String PURCHASE_ORDER_APPROVE_PROCESS_DEFINITION_KEY = "purchase_order_approve";
 
     @Resource
     private ErpPurchaseOrderMapper purchaseOrderMapper;
@@ -119,6 +124,10 @@
         // 2.3 缁戝畾闄勪欢
         storageAttachmentApi.bindAttachments("file", "erp_purchase_order",
                 purchaseOrder.getId(), createReqVO.getBlobIds());
+
+        // 3. 鍒涘缓鍚庤嚜鍔ㄦ彁浜ゅ鎵瑰埌鍗忓悓鍔炲叕锛堝鎵瑰湪鍗忓悓鍔炲叕瀹屾垚锛屼笉鍦ㄦ湰椤甸潰瀹℃壒锛�
+        submitPurchaseOrder(purchaseOrder.getId(), PURCHASE_ORDER_APPROVE_PROCESS_DEFINITION_KEY, getLoginUserId());
+
         return purchaseOrder.getId();
     }
 
@@ -288,7 +297,7 @@
         if (BpmTaskStatusEnum.APPROVE.getStatus().equals(bpmResult)) {
             return ErpAuditStatus.APPROVE.getStatus();
         } else if (BpmTaskStatusEnum.REJECT.getStatus().equals(bpmResult)) {
-            return ErpAuditStatus.PROCESS.getStatus();
+            return ErpAuditStatus.REJECT.getStatus();
         } else if (BpmTaskStatusEnum.CANCEL.getStatus().equals(bpmResult)) {
             return ErpAuditStatus.CANCEL.getStatus();
         }
@@ -406,6 +415,11 @@
     }
 
     @Override
+    public ErpPurchaseOrderDO getPurchaseOrderByProcessInstanceId(String processInstanceId) {
+        return purchaseOrderMapper.selectByProcessInstanceId(processInstanceId);
+    }
+
+    @Override
     public ErpPurchaseOrderDO validatePurchaseOrder(Long id) {
         ErpPurchaseOrderDO purchaseOrder = validatePurchaseOrderExists(id);
         if (ObjectUtil.notEqual(purchaseOrder.getStatus(), ErpAuditStatus.APPROVE.getStatus())) {

--
Gitblit v1.9.3