From 3412d23416aa912b766601dbf5aa136639f8bd19 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 05 三月 2026 15:36:07 +0800
Subject: [PATCH] fix: 净重拆分为详细数据而不是总净重数据

---
 src/main/java/com/ruoyi/stock/pojo/StockInventory.java                    |    3 ---
 src/main/java/com/ruoyi/stock/dto/StockInventoryDto.java                  |    3 +++
 src/main/java/com/ruoyi/stock/pojo/StockInRecord.java                     |    3 +++
 src/main/resources/mapper/stock/StockInventoryMapper.xml                  |   15 ++++++++++-----
 src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java |    2 +-
 5 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/dto/StockInventoryDto.java b/src/main/java/com/ruoyi/stock/dto/StockInventoryDto.java
index 55742b0..d2a0204 100644
--- a/src/main/java/com/ruoyi/stock/dto/StockInventoryDto.java
+++ b/src/main/java/com/ruoyi/stock/dto/StockInventoryDto.java
@@ -50,4 +50,7 @@
     private LocalDateTime weighingDate;
 
     private String  parentName;
+
+    @ApiModelProperty("鍑�閲�(鎬绘暟)")
+    private BigDecimal netWeight;
 }
diff --git a/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java b/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
index f5e6256..cad02df 100644
--- a/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
+++ b/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
@@ -67,4 +67,7 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime weighingDate;
+
+    @ApiModelProperty("鍑�閲�")
+    private BigDecimal netWeight;
 }
diff --git a/src/main/java/com/ruoyi/stock/pojo/StockInventory.java b/src/main/java/com/ruoyi/stock/pojo/StockInventory.java
index 4dc3924..36e7cf0 100644
--- a/src/main/java/com/ruoyi/stock/pojo/StockInventory.java
+++ b/src/main/java/com/ruoyi/stock/pojo/StockInventory.java
@@ -63,7 +63,4 @@
 
     @ApiModelProperty("澶囨敞")
     private String remark;
-
-    @ApiModelProperty("鍑�閲�")
-    private BigDecimal netWeight;
 }
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index 856e882..62ff9ee 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -61,6 +61,7 @@
         stockInRecordDto.setRecordType(stockInventoryDto.getRecordType());
         stockInRecordDto.setStockInNum(stockInventoryDto.getQualitity());
         stockInRecordDto.setWeighingDate(stockInventoryDto.getWeighingDate());
+        stockInRecordDto.setNetWeight(stockInventoryDto.getNetWeight());
         stockInRecordDto.setProductModelId(stockInventoryDto.getProductModelId());
         stockInRecordDto.setType("0");
         stockInRecordService.add(stockInRecordDto);
@@ -71,7 +72,6 @@
             StockInventory newStockInventory = new StockInventory();
             newStockInventory.setProductModelId(stockInventoryDto.getProductModelId());
             newStockInventory.setQualitity(stockInventoryDto.getQualitity());
-            newStockInventory.setNetWeight(stockInventoryDto.getNetWeight());
             newStockInventory.setVersion(1);
             newStockInventory.setRemark(stockInventoryDto.getRemark());
             newStockInventory.setLockedQuantity(stockInventoryDto.getLockedQuantity());
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 6727a36..8b33dd5 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -19,9 +19,6 @@
             <if test="ew.qualitity != null">
                 qualitity = qualitity + #{ew.qualitity},
             </if>
-            <if test="ew.netWeight != null">
-                net_weight = net_weight + #{ew.netWeight},
-            </if>
             <if test="ew.version != null">
                 version = version + 1,
             </if>
@@ -59,8 +56,9 @@
         where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
     </update>
     <select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto">
-        select si.id,
-        si.net_weight,
+        select
+        si.id,
+        COALESCE(sir.total_net_weight, 0) as net_weight,
         si.qualitity,
         COALESCE(si.locked_quantity, 0) as locked_quantity,
         si.product_model_id,
@@ -79,6 +77,13 @@
         left join product_model pm on si.product_model_id = pm.id
         left join product p on pm.product_id = p.id
         left join product p1 on p.parent_id = p1.id
+        left join (
+        select
+        product_model_id,
+        sum(net_weight) as total_net_weight
+        from stock_in_record
+        group by product_model_id
+        ) sir on si.product_model_id = sir.product_model_id
         <where>
             1=1
             <if test="ew.parentId != null and ew.parentId !=''">

--
Gitblit v1.9.3