From b3f4cc9eddb07921fec539317c1a9064699fc711 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 01 六月 2026 14:58:01 +0800
Subject: [PATCH] 采购审批增加仓库

---
 src/main/java/com/ruoyi/approve/pojo/ApprovalInstance.java                    |    3 +++
 docs/大罗素.sql                                                                  |    2 ++
 src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java |   10 +++++++++-
 src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java               |   13 ++++++++++++-
 4 files changed, 26 insertions(+), 2 deletions(-)

diff --git "a/docs/\345\244\247\347\275\227\347\264\240.sql" "b/docs/\345\244\247\347\275\227\347\264\240.sql"
index 12af2f4..f9e36e5 100644
--- "a/docs/\345\244\247\347\275\227\347\264\240.sql"
+++ "b/docs/\345\244\247\347\275\227\347\264\240.sql"
@@ -5,3 +5,5 @@
     add warehouse varchar(255)  null comment '浠撳簱';
 alter table stock_in_record
     add warehouse varchar(255)  null comment '浠撳簱';
+alter table approval_instance
+    add warehouse varchar(255)  null comment '浠撳簱';
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApprovalInstance.java b/src/main/java/com/ruoyi/approve/pojo/ApprovalInstance.java
index 5bac3a9..7ab5530 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApprovalInstance.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApprovalInstance.java
@@ -148,4 +148,7 @@
 
     @Schema(description = "琛ㄥ崟鏁版嵁")
     private String formConfig;
+
+    @Schema(description = "浠撳簱")
+    private String warehouse;
 }
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
index 5da3984..5ef52dd 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -255,6 +255,12 @@
             return R.fail("瀹℃壒瀹炰緥涓嶅瓨鍦�");
         }
 
+        // 濡傛灉鍓嶇浼犻�掍簡浠撳簱淇℃伅锛屾洿鏂板鎵瑰疄渚嬬殑浠撳簱瀛楁
+        if (StringUtils.hasText(approvalInstanceDto.getWarehouse())) {
+            instance.setWarehouse(approvalInstanceDto.getWarehouse());
+            this.updateById(instance);
+        }
+
         ApprovalInstanceNode currentNode = approveProcessConfigNodeUtils.getCurrentNode(instance.getId());
         if (currentNode == null) {
             return R.fail("褰撳墠娌℃湁寰呭鐞嗙殑瀹℃壒鑺傜偣");
@@ -647,7 +653,9 @@
                             salesLedgerProduct.getQuantity(),
                             StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(),
                             purchaseLedger.getId(),
-                            purchaseLedger.getPurchaseContractNumber() + "-" + salesLedgerProduct.getId()
+                            purchaseLedger.getPurchaseContractNumber() + "-" + salesLedgerProduct.getId(),
+                            null,
+                            instance.getWarehouse()
                     );
                 }
             }
diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index 9b8735f..5fc752a 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -115,7 +115,7 @@
      * @param recordId
      */
     public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo) {
-        addStockWithBatchNo(productModelId, quantity, recordType, recordId, batchNo, null);
+        addStockWithBatchNo(productModelId, quantity, recordType, recordId, batchNo, null, null);
     }
 
     /**
@@ -124,6 +124,16 @@
      * @param recordId
      */
     public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo, LocalDateTime createTime) {
+        addStockWithBatchNo(productModelId, quantity, recordType, recordId, batchNo, createTime, null);
+    }
+
+    /**
+     * 鍚堟牸鍏ュ簱甯︽壒娆″彿锛堝惈浠撳簱锛�
+     * @param recordType
+     * @param recordId
+     * @param warehouse
+     */
+    public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo, LocalDateTime createTime, String warehouse) {
         StockInventoryDto stockInventoryDto = new StockInventoryDto();
         stockInventoryDto.setRecordId(recordId);
         stockInventoryDto.setRecordType(String.valueOf(recordType));
@@ -131,6 +141,7 @@
         stockInventoryDto.setProductModelId(productModelId);
         stockInventoryDto.setBatchNo(batchNo);
         stockInventoryDto.setCreateTime(createTime);
+        stockInventoryDto.setWarehouse(warehouse);
         stockInventoryService.addStockInRecordOnly(stockInventoryDto);
     }
 

--
Gitblit v1.9.3