From 7bde96aaac4fcbd3afe4532e53f515f82c04a121 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期一, 16 三月 2026 11:59:09 +0800
Subject: [PATCH] fix(production): 优化报工投入品数量计算及库存校验逻辑
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index 08f431c..3ba1104 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -31,6 +31,7 @@
import java.lang.reflect.Field;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -365,12 +366,26 @@
Assert.notNull(productStructureDto.getUnitQuantity(), "鍗曚綅浜у嚭鎵�闇�鏁伴噺涓嶅瓨鍦�");
if (productStructureDto.getMaterialType().equals("0")) {
quantity = quantity.multiply(productStructureDto.getUnitQuantity());
- resultMap.put(productStructureDto.getProcessId(), quantity);
+ // 绗竴閬撳伐搴�
+ BigDecimal result = quantity;
+// if(i == 0){
+// result = quantity.divide(productStructureDto.getUnitQuantity(), 2, RoundingMode.HALF_UP);
+// }
+ resultMap.put(productStructureDto.getProcessId(),result );
} else {
- resultMap.put(productStructureDto.getProcessId(), originalQuantity.multiply(productStructureDto.getUnitQuantity()));
+ if(Optional.ofNullable(productStructureDto.getProcessName()).orElse("").contains("鍖呰")){
+ resultMap.put(productStructureDto.getProcessId(), quantity);
+ }else {
+ resultMap.put(productStructureDto.getProcessId(), originalQuantity.multiply(productStructureDto.getUnitQuantity()));
+ }
+
}
}
+
+
+
+
return resultMap;
}
--
Gitblit v1.9.3