From 3481d209ec847542b73fa16616ffe0e13c949e80 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 18 四月 2026 18:11:03 +0800
Subject: [PATCH] fix: 入库与出库数量绑定

---
 src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index 02d5080..58132a9 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -72,8 +72,43 @@
      */
     @Excel(name = "鏁伴噺")
     private BigDecimal quantity;
+
+    /**
+     * 宸插叆搴撴暟閲�
+     */
+    private BigDecimal stockedQuantity;
+
+    /**
+     * 宸插嚭搴撴暟閲�
+     */
+    private BigDecimal shippedQuantity;
+
     @Excel(name = "鏈�浣庡簱瀛樻暟閲�")
     private BigDecimal minStock;
+
+    /**
+     * 鍓╀綑寰呭叆搴撴暟閲忥紙璁㈠崟鏁伴噺 鈭� 鍚堟牸宸插叆搴撴暟閲忥紝澶氬叆鏃惰涓� 0锛�
+     */
+    @Excel(name = "鍓╀綑鏁伴噺")
+    @ApiModelProperty("鍓╀綑寰呭叆搴撴暟閲�(璁㈠崟鏁伴噺-鍚堟牸宸插叆搴�)")
+    private BigDecimal remainingQuantity;
+
+    /**
+     * 鍓╀綑鍑哄簱鏁伴噺
+     */
+    private BigDecimal remainingShippedQuantity;
+
+    /**
+     * 涓嶅悎鏍煎叆搴撴暟閲�
+     */
+    private BigDecimal unqualifiedStockedQuantity;
+
+
+    /**
+     * 涓嶅悎鏍煎嚭搴撴暟閲�
+     */
+    private BigDecimal unqualifiedShippedQuantity;
+
     /**
      * 绋庣巼
      */
@@ -293,9 +328,9 @@
     private String floorCode;
 
     /**
-     * 浜у搧鍏ュ簱鐘舵��   0-鏈叆搴擄紝1-宸插叆搴�
+     * 浜у搧鍏ュ簱鐘舵�侊細0-鏈叆搴擄紝1-閮ㄥ垎鍏ュ簱锛�2-宸插叆搴�
      */
-    @ApiModelProperty("浜у搧鍏ュ簱鐘舵��")
+    @ApiModelProperty("浜у搧鍏ュ簱鐘舵�侊細0-鏈叆搴擄紝1-閮ㄥ垎鍏ュ簱锛�2-宸插叆搴�")
     private Integer productStockStatus;
 
     @TableField(exist = false)
@@ -312,4 +347,18 @@
     // 鍙敤鏁伴噺  quantity - returnQuality
     @TableField(exist = false)
     private BigDecimal availableQuality;
+
+
+    public void fillRemainingQuantity() {
+        BigDecimal q = this.quantity == null ? BigDecimal.ZERO : this.quantity;
+
+        BigDecimal stocked = this.stockedQuantity == null ? BigDecimal.ZERO : this.stockedQuantity;
+        BigDecimal remIn = q.subtract(stocked);
+        this.remainingQuantity = remIn.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : remIn;
+
+        BigDecimal shipped = this.shippedQuantity == null ? BigDecimal.ZERO : this.shippedQuantity;
+        // 鍓╀綑鍑哄簱鏁伴噺锛氫互鈥滃凡鍏ュ簱鏁伴噺鈥濅负鍩哄噯锛堝嚭搴撳彧鑳戒粠宸插叆搴撲腑鎵e噺锛�
+        BigDecimal remOut = stocked.subtract(shipped);
+        this.remainingShippedQuantity = remOut.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : remOut;
+    }
 }

--
Gitblit v1.9.3