From b83811618d78d7a9832b325334b7a35cd6a3b64b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 08 六月 2026 13:21:01 +0800
Subject: [PATCH] 采购台账手动入库,保存差额;入库审核 重新计算含水量
---
src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index 2436940..e0aa340 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -36,6 +36,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.List;
@Service
@@ -231,6 +232,7 @@
final BigDecimal finalStockInNum;
if (item.getStockInNum() != null && item.getStockInNum().compareTo(BigDecimal.ZERO) > 0) {
finalStockInNum = item.getStockInNum();
+ adjustPurchaseInboundAuditFields(stockInRecord, finalStockInNum);
// 鏇存柊鍏ュ簱璁板綍鐨勫叆搴撴暟閲�
stockInRecord.setStockInNum(finalStockInNum);
} else {
@@ -296,6 +298,28 @@
return items.size();
}
+ private void adjustPurchaseInboundAuditFields(StockInRecord stockInRecord, BigDecimal finalStockInNum) {
+ if (stockInRecord == null || finalStockInNum == null) {
+ return;
+ }
+ if (!StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode().equals(stockInRecord.getRecordType())) {
+ return;
+ }
+ BigDecimal theoryStockInNum = stockInRecord.getTheoryStockInNum();
+ if (theoryStockInNum == null || theoryStockInNum.compareTo(BigDecimal.ZERO) <= 0) {
+ return;
+ }
+ if (finalStockInNum.compareTo(theoryStockInNum) > 0) {
+ throw new BaseException("閲囪喘鍏ュ簱瀹℃牳鏃讹紝瀹為檯鍏ュ簱鏁伴噺涓嶈兘澶т簬鐞嗚鍏ュ簱鏁伴噺");
+ }
+ if (Boolean.TRUE.equals(stockInRecord.getIsContainsWater())) {
+ BigDecimal waterContent = theoryStockInNum.subtract(finalStockInNum)
+ .multiply(new BigDecimal("100"))
+ .divide(theoryStockInNum, 4, RoundingMode.HALF_UP);
+ stockInRecord.setWaterContent(waterContent);
+ }
+ }
+
private static @NonNull StockInventoryDto getStockInventoryDto(StockInRecord stockInRecord) {
StockInventoryDto stockInventoryDto = new StockInventoryDto();
stockInventoryDto.setProductModelId(stockInRecord.getProductModelId());
--
Gitblit v1.9.3