From fe22db0c7c96c425bfb3814c6f1da03a77f1b36b Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 08 四月 2026 17:19:03 +0800
Subject: [PATCH] 库存修改
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 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 36a02b7..d497c2e 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());
@@ -207,12 +211,7 @@
}
productOrderMapper.updateById(productOrder);
}
- //濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
- if (ObjectUtils.isNotEmpty(dto.getScrapQty())) {
- if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
- stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
- }
- }
+
//nextAddProductMain(productionProductOutput) // 鐢变簬闇�瑕佸鏍革紝鎵�浠ラ渶瑕佹媶灏佷笅鏉�
return true;
}
@@ -346,7 +345,7 @@
}
}else {
//鐩存帴鍏ュ簱
- stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
+ stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId(),"-","-","-");
}
/*娣诲姞鐢熶骇鏍哥畻 鍖哄垎宸ュ簭鏄浠惰繕鏄鏃�*/
@@ -365,6 +364,13 @@
.tenantId(productionProductOutput.getTenantId())
.build();
salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting);
+ }
+
+ //濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
+ if (ObjectUtils.isNotEmpty(productionProductOutput.getScrapQty())) {
+ if (productionProductOutput.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
+ stockUtils.addUnStock(productModel.getId(), productionProductOutput.getScrapQty(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId(),"-","-","-");
+ }
}
}
@@ -395,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