From ce1b42869e62c32dd8eb609678fc833750363d85 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 25 三月 2026 09:44:08 +0800
Subject: [PATCH] 增加产品规格中的物料编号,以及根据规格关联查询物料编号

---
 src/main/resources/mapper/sales/SalesLedgerMapper.xml                        |    3 +++
 src/main/resources/mapper/sales/SalesLedgerProductMapper.xml                 |    2 ++
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java |    2 ++
 src/main/java/com/ruoyi/basic/dto/ProductModelExportDto.java                 |    2 ++
 src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java                   |    6 ++++++
 src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java      |    4 ++++
 src/main/java/com/ruoyi/sales/pojo/SalesLedger.java                          |   12 ++++++++++++
 src/main/java/com/ruoyi/basic/pojo/ProductModel.java                         |    6 ++++++
 8 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/dto/ProductModelExportDto.java b/src/main/java/com/ruoyi/basic/dto/ProductModelExportDto.java
index c8c838a..a2c3bd0 100644
--- a/src/main/java/com/ruoyi/basic/dto/ProductModelExportDto.java
+++ b/src/main/java/com/ruoyi/basic/dto/ProductModelExportDto.java
@@ -14,6 +14,8 @@
  */
 @Data
 public class ProductModelExportDto {
+    @Excel(name = "鐗╂枡缂栧彿")
+    private String materialCode;
 
     @Excel(name = "瑙勬牸鍨嬪彿")
     private String model;
diff --git a/src/main/java/com/ruoyi/basic/pojo/ProductModel.java b/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
index 069b665..38c48e1 100644
--- a/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
+++ b/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
@@ -31,6 +31,12 @@
     private String productName;
 
     /**
+     * 鐗╂枡缂栧彿
+     */
+    @Excel(name = "鐗╂枡缂栧彿")
+    private String materialCode;
+
+    /**
      * 瑙勬牸鍨嬪彿
      */
     @Excel(name = "瑙勬牸鍨嬪彿")
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
index 9382134..e9dfd73 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -118,6 +118,10 @@
                 ProductModel item = productModelList.get(i);
                 int rowNum = i + 2;
 
+                if (StringUtils.isEmpty(item.getMaterialCode())) {
+                    return AjaxResult.error("绗� " + rowNum + " 琛屽鍏ュけ璐�: [鐗╂枡缂栧彿] 涓嶈兘涓虹┖");
+                }
+
                 if (StringUtils.isEmpty(item.getModel())) {
                     return AjaxResult.error("绗� " + rowNum + " 琛屽鍏ュけ璐�: [瑙勬牸鍨嬪彿] 涓嶈兘涓虹┖");
                 }
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index d71b3bb..37b6940 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -290,11 +290,13 @@
             Long productId = product.getProductId();
             if (productId != null && productMap.containsKey(productId)) {
                 product.setProductCategory(productMap.get(productId));
+                product.setProductId(productId);
             }
 
             Long productModelId = product.getProductModelId();
             if (productModelId != null && modelMap.containsKey(productModelId)) {
                 product.setSpecificationModel(modelMap.get(productModelId));
+                product.setProductModelId(productModelId);
             }
         }
 
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
index 36751c2..1e6cb99 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -147,5 +147,17 @@
     @TableField(exist = false)
     //鏄惁鍙紪杈�
     private Boolean isEdit;
+
+    /**
+     * 瀹㈡埛鍦板潃
+     */
+    @TableField(exist = false)
+    private String companyAddress;
+
+    /**
+     * 瀹㈡埛鑱旂郴鐢佃瘽
+     */
+    @TableField(exist = false)
+    private String contactPhone;
 }
 
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index 1df16bd..aa9bbb7 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -49,6 +49,12 @@
     private String productCategory;
 
     /**
+     * 鐗╂枡缂栧彿
+     */
+    @Excel(name = "鐗╂枡缂栧彿")
+    private String materialCode;
+
+    /**
      * 瑙勬牸鍨嬪彿
      */
     @Excel(name = "瑙勬牸鍨嬪彿")
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index c5d7aed..c570196 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -51,6 +51,8 @@
         T1.salesman,
         T1.customer_id,
         T1.customer_name,
+        T3.company_address,
+        T3.contact_phone,
         T1.entry_person,
         T1.remarks,
         T1.attachment_materials,
@@ -69,6 +71,7 @@
         END AS is_fh
         FROM sales_ledger T1
         LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
+        LEFT JOIN customer T3 ON T1.customer_id = T3.id
         LEFT JOIN (
         SELECT sales_ledger_id,
         COUNT(*) as total_count,
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index 671fcf5..d139950 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -7,6 +7,7 @@
     <select id="selectSalesLedgerProductList" resultType="com.ruoyi.sales.pojo.SalesLedgerProduct">
         SELECT
         T1.*,
+        T3.material_code,
         CASE
         WHEN (IFNULL(t2.qualitity, 0) - IFNULL(t2.locked_quantity, 0)) >= IFNULL(T1.quantity, 0) THEN 1
         ELSE 0
@@ -14,6 +15,7 @@
         FROM
         sales_ledger_product T1
         LEFT JOIN stock_inventory t2 ON T1.product_model_id = t2.product_model_id
+        LEFT JOIN product_model T3 ON T1.product_model_id = T3.id
         <where>
             <if test="salesLedgerProduct.salesLedgerId != null">
                 AND T1.sales_ledger_id = #{salesLedgerProduct.salesLedgerId}

--
Gitblit v1.9.3