From 8a71194e0cd81a39637bc9c5adbd8c9d1405f155 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 08 四月 2026 16:39:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 156e62b..62d1fc4 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -151,6 +151,10 @@
         productionProductMain.setAuditUserId(dto.getAuditUserId());
         productionProductMain.setAuditUserName(dto.getAuditUserName());
         productionProductMain.setStatus(0);
+        productionProductMain.setStartTime(dto.getStartTime());
+        productionProductMain.setEndTime(dto.getEndTime());
+        productionProductMain.setDeviceId(productProcess.getDeviceId());
+        productionProductMain.setDeviceName(productProcess.getDeviceName());
         productionProductMainMapper.insert(productionProductMain);
         /*鏂板鎶ュ伐鎶曞叆琛�*/
         List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
@@ -397,9 +401,13 @@
             BigDecimal scrapQty = productionProductOutput.getScrapQty() == null ? BigDecimal.ZERO : productionProductOutput.getScrapQty();
             BigDecimal completeQty = productWorkOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productWorkOrder.getCompleteQuantity();
 
-            BigDecimal validQuantity = outputQty.subtract(scrapQty);
+            // 蹇呴』涓哄鏍搁�氳繃鐨勬墠浼氬噺灏戞暟閲�
 
-            productWorkOrder.setCompleteQuantity(completeQty.subtract(validQuantity));
+
+            BigDecimal validQuantity = outputQty.subtract(scrapQty);
+            if(productionProductMain.getAuditStatus() != 2){
+                productWorkOrder.setCompleteQuantity(completeQty.subtract(validQuantity).max(BigDecimal.ZERO));
+            }
             productWorkOrder.setActualEndTime(null);
             productWorkOrderMapper.updateById(productWorkOrder);
         } else {

--
Gitblit v1.9.3