From 754431328c667fc5bfecb3220a27c6afbaf6f5ea Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期一, 16 三月 2026 13:33:38 +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..383e0ad 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