From 7e84848f0ea65411bdc9f27e5fa9d714157d032a Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 05 二月 2026 17:24:20 +0800
Subject: [PATCH] 生产统计
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 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 7a67d50..d5d2437 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -37,6 +37,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -207,7 +208,7 @@
}
}else {
//鐩存帴鍏ュ簱
- stockUtils.addStock(productProcessRouteItem.getProductModelId(), productionProductOutput.getQuantity(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
+ stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
}
/*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());
@@ -288,11 +289,17 @@
ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
if (productOrder != null) {
BigDecimal orderCompleteQty = productOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productOrder.getCompleteQuantity();
- BigDecimal outputQty = productionProductOutput.getQuantity() != null
- ? productionProductOutput.getQuantity() : BigDecimal.ZERO;
+ BigDecimal totalQty = productionProductOutput.getQuantity() != null ? productionProductOutput.getQuantity() : BigDecimal.ZERO;
+ BigDecimal scrapQty = productionProductOutput.getScrapQty() != null ? productionProductOutput.getScrapQty() : BigDecimal.ZERO;
- productOrder.setCompleteQuantity(orderCompleteQty.subtract(outputQty));
+ BigDecimal actualQualifiedQty = totalQty.subtract(scrapQty);
+
+ BigDecimal newCompleteQty = orderCompleteQty.subtract(actualQualifiedQty);
+
+ productOrder.setCompleteQuantity(newCompleteQty.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : newCompleteQty);
+
productOrder.setEndTime(null);
+
productOrderMapper.updateById(productOrder);
} else {
throw new ServiceException("鍏宠仈鐨勭敓浜ц鍗曚笉瀛樺湪");
@@ -331,4 +338,9 @@
public ArrayList<Long> listMain(List<Long> idList) {
return productionProductMainMapper.listMain(idList);
}
+
+ @Override
+ public IPage<HashMap<String, Object>> queryProductInputAndOutput(Page page, ProductionProductMainDto productionProductMainDto) {
+ return productionProductMainMapper.queryProductInputAndOutput(page, productionProductMainDto);
+ }
}
--
Gitblit v1.9.3