From 6b4cfc6f9d660b92be99ba4e3411a3267bc57155 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 18 四月 2026 15:24:33 +0800
Subject: [PATCH] feat: 销售/采购订单的扫码合格/不合格出入库功能
---
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java | 130 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 120 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index 79cb32f..6bb145e 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -13,6 +13,7 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
+import java.util.List;
/**
* 浜у搧淇℃伅瀵硅薄 sales_ledger_product
@@ -71,8 +72,22 @@
*/
@Excel(name = "鏁伴噺")
private BigDecimal quantity;
+
+ /**
+ * 宸插叆搴撴暟閲�
+ */
+ private BigDecimal stockedQuantity;
+
@Excel(name = "鏈�浣庡簱瀛樻暟閲�")
private BigDecimal minStock;
+
+ /**
+ * 鍓╀綑寰呭叆搴撴暟閲忥紙璁㈠崟鏁伴噺 鈭� 鍚堟牸宸插叆搴撴暟閲忥紝澶氬叆鏃惰涓� 0锛�
+ */
+ @Excel(name = "鍓╀綑鏁伴噺")
+ @ApiModelProperty("鍓╀綑寰呭叆搴撴暟閲�(璁㈠崟鏁伴噺-鍚堟牸宸插叆搴�)")
+ private BigDecimal remainingQuantity;
+
/**
* 绋庣巼
*/
@@ -111,22 +126,22 @@
/**
* 鏈鏉ョエ鏁�
*/
- private BigDecimal ticketsNum=BigDecimal.ZERO;
+ private BigDecimal ticketsNum = BigDecimal.ZERO;
/**
* 鏈鏉ョエ閲戦(鍏�)
*/
- private BigDecimal ticketsAmount=BigDecimal.ZERO;
+ private BigDecimal ticketsAmount = BigDecimal.ZERO;
/**
* 鏈潵绁ㄦ暟
*/
- private BigDecimal futureTickets=BigDecimal.ZERO;
+ private BigDecimal futureTickets = BigDecimal.ZERO;
/**
* 鏈潵绁ㄩ噾棰�(鍏�)
*/
- private BigDecimal futureTicketsAmount=BigDecimal.ZERO;
+ private BigDecimal futureTicketsAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "寮�绁ㄦ暟")
private BigDecimal invoiceNum = BigDecimal.ZERO;
@@ -149,7 +164,7 @@
private BigDecimal currentInvoiceAmount;
/**
- * 浜у搧id
+ * 浜у搧id
*/
private Long productId;
@@ -192,6 +207,14 @@
@TableField(exist = false)
private String shippingCarNumber;
+ @ApiModelProperty("蹇�掑叕鍙�")
+ @TableField(exist = false)
+ private String expressCompany;
+
+ @ApiModelProperty("蹇�掑崟鍙�")
+ @TableField(exist = false)
+ private String expressNumber;
+
/**
* 鍙戣揣鏃ユ湡
*/
@@ -200,14 +223,14 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date shippingDate;
-// @TableField(exist = false)
-// @ApiModelProperty(value = "鐢熶骇鐘舵��")
-// private String productionStatus = "鏈紑濮�";
+ @TableField(exist = false)
+ @ApiModelProperty(value = "鍙戣揣鐘舵��")
+ private String shippingStatus = "寰呭彂璐�";
/**
- * 鍙戣揣瀹℃壒鐘舵��
+ * 浜у搧鐘舵��
*/
// @TableField(exist = false)
- @ApiModelProperty(value = "瀹℃壒鐘舵�侊細0鏈敓浜�,1宸茬敓浜�,2宸插彂璐�")
+ @ApiModelProperty(value = "浜у搧鐘舵�侊細1-鍏呰冻")
private Integer approveStatus;
@ApiModelProperty(value = "寰呭洖娆炬�婚噾棰�")
@@ -224,4 +247,91 @@
@ApiModelProperty(value = "鏄惁璐ㄦ")
private Boolean isChecked;
+
+ @TableField(exist = false)
+ @ApiModelProperty("閲嶇")
+ private BigDecimal thickness;
+
+ @ApiModelProperty("瀹�")
+ private BigDecimal width;
+
+ @ApiModelProperty("楂�")
+ private BigDecimal height;
+
+ @ApiModelProperty("鍔犲伐瑕佹眰")
+ private String processRequirement;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ /**
+ * 瀹為檯鍗曠墖闈㈢Н(銕�)
+ */
+ @ApiModelProperty("瀹為檯鍗曠墖闈㈢Н(銕�)")
+ private BigDecimal actualPieceArea;
+
+ /**
+ * 瀹為檯鎬婚潰绉�(銕�)
+ */
+ @ApiModelProperty("瀹為檯鎬婚潰绉�(銕�)")
+ private BigDecimal actualTotalArea;
+
+ /**
+ * 缁撶畻鍗曠墖闈㈢Н(銕�)
+ */
+ @ApiModelProperty("缁撶畻鍗曠墖闈㈢Н(銕�)")
+ private BigDecimal settlePieceArea;
+
+ /**
+ * 缁撶畻鎬婚潰绉�(銕�)
+ */
+ @ApiModelProperty("缁撶畻鎬婚潰绉�(銕�)")
+ private BigDecimal settleTotalArea;
+
+ /**
+ * 鍛ㄩ暱
+ */
+ @ApiModelProperty("鍛ㄩ暱(cm)")
+ private BigDecimal perimeter;
+
+ /**
+ * 閲嶇
+ */
+ @ApiModelProperty("閲嶇")
+ private BigDecimal heavyBox;
+
+ /**
+ * 妤煎眰缂栧彿
+ */
+ @ApiModelProperty("妤煎眰缂栧彿")
+ private String floorCode;
+
+ /**
+ * 浜у搧鍏ュ簱鐘舵�侊細0-鏈叆搴擄紝1-閮ㄥ垎鍏ュ簱锛�2-宸插叆搴�
+ */
+ @ApiModelProperty("浜у搧鍏ュ簱鐘舵�侊細0-鏈叆搴擄紝1-閮ㄥ垎鍏ュ簱锛�2-宸插叆搴�")
+ private Integer productStockStatus;
+
+ @TableField(exist = false)
+ @ApiModelProperty("閿�鍞骇鍝侀澶栧姞宸�")
+ private List<SalesLedgerProductProcess> salesProductProcessList;
+
+ @TableField(exist = false)
+ private Integer hasSufficientStock;
+
+ // 閫�璐ф暟閲�
+ @TableField(exist = false)
+ private BigDecimal returnQuality;
+
+ // 鍙敤鏁伴噺 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 rem = q.subtract(stocked);
+ this.remainingQuantity = rem.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : rem;
+ }
}
--
Gitblit v1.9.3