From 3d4cb4fafdee76f0dc2f895f21a37bfa0f638c6a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 16 一月 2026 15:09:50 +0800
Subject: [PATCH] 生产报工的新增和删除已经投入产出
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 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 1dafbe4..88c25eb 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -55,6 +55,7 @@
private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
private ProcessRouteMapper processRouteMapper;
+ private ProductProcessRouteMapper productProcessRouteMapper;
private ProductWorkOrderMapper productWorkOrderMapper;
@@ -70,6 +71,7 @@
// .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType());
List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectSalesLedgerProductList(salesLedgerProduct);
if(!CollectionUtils.isEmpty(salesLedgerProducts)){
+ // 寮�绁�
InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto();
invoiceRegistrationProductDto.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId().intValue());
List<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoList = invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto);
@@ -78,14 +80,20 @@
for (SalesLedgerProduct ledgerProduct : salesLedgerProducts) {
BigDecimal invoiceNum = BigDecimal.ZERO;
BigDecimal invoiceAmount = BigDecimal.ZERO;
+ BigDecimal noInvoiceNum = BigDecimal.ZERO;
+ BigDecimal noInvoiceAmount = BigDecimal.ZERO;
for (InvoiceRegistrationProductDto registrationProductDto : invoiceRegistrationProductDtoList) {
if(ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()){
invoiceNum = invoiceNum.add(registrationProductDto.getInvoiceNum());
invoiceAmount = invoiceAmount.add(registrationProductDto.getInvoiceAmount());
+ noInvoiceNum = ledgerProduct.getQuantity().subtract(invoiceNum);
+ noInvoiceAmount = ledgerProduct.getTaxInclusiveTotalPrice().subtract(invoiceAmount);
}
}
ledgerProduct.setInvoiceNum(invoiceNum);
ledgerProduct.setInvoiceAmount(invoiceAmount);
+ ledgerProduct.setNoInvoiceNum(noInvoiceNum);
+ ledgerProduct.setNoInvoiceAmount(noInvoiceAmount);
}
}
@@ -129,7 +137,7 @@
// 鎵归噺鏌ヨprocessRouteItems
List<ProductProcessRouteItem> allRouteItems = productProcessRouteItemMapper.selectList(
new LambdaQueryWrapper<ProductProcessRouteItem>()
- .in(ProductProcessRouteItem::getRouteId, orderIds)
+ .in(ProductProcessRouteItem::getProductOrderId, orderIds)
);
if (!CollectionUtils.isEmpty(allRouteItems)) {
@@ -142,9 +150,13 @@
.in(ProductWorkOrder::getProductProcessRouteItemId, routeItemIds));
}
- // 鎵归噺鍒犻櫎processRouteItem
+ // 鎵归噺鍒犻櫎productProcessRouteItem
productProcessRouteItemMapper.delete(new LambdaQueryWrapper<ProductProcessRouteItem>()
- .in(ProductProcessRouteItem::getRouteId, orderIds));
+ .in(ProductProcessRouteItem::getProductOrderId, orderIds));
+
+ // 鎵归噺鍒犻櫎productProcessRoute
+ productProcessRouteMapper.delete(new LambdaQueryWrapper<ProductProcessRoute>()
+ .in(ProductProcessRoute::getProductOrderId, orderIds));
// 鎵归噺鍒犻櫎productOrder
productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>()
@@ -183,10 +195,20 @@
productOrder.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
productOrder.setProductModelId(salesLedgerProduct.getId());
productOrder.setNpsNo("SC" + String.format("%08d", salesLedgerProduct.getId()));
+ productOrder.setQuantity(salesLedgerProduct.getQuantity());//闇�姹傛暟閲�
+ productOrder.setCompleteQuantity(BigDecimal.ZERO);//瀹屾垚鏁伴噺
productOrderMapper.insert(productOrder);
ProcessRoute processRoute = processRouteMapper.selectOne(new QueryWrapper<ProcessRoute>().lambda().eq(ProcessRoute::getProductModelId, salesLedgerProduct.getProductModelId()));
if (processRoute != null) {
+ //鏂板鐢熶骇璁㈠崟宸ヨ壓璺嚎涓昏〃
+ ProductProcessRoute productProcessRoute = new ProductProcessRoute();
+ productProcessRoute.setProductModelId(processRoute.getProductModelId());
+ productProcessRoute.setProcessRouteCode(processRoute.getProcessRouteCode());
+ productProcessRoute.setProductOrderId(productOrder.getId());
+ productProcessRoute.setBomId(processRoute.getBomId());
+ productProcessRouteMapper.insert(productProcessRoute);
+ //鏂板鐢熶骇璁㈠崟宸ヨ壓璺嚎瀛愯〃
List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
// 鐢熸垚褰撳墠鏃ユ湡鐨勫墠缂�锛氬勾鏈堟棩
String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
@@ -194,7 +216,8 @@
ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
productProcessRouteItem.setProductModelId(processRouteItem.getProductModelId());
productProcessRouteItem.setProcessId(processRouteItem.getProcessId());
- productProcessRouteItem.setRouteId(productOrder.getId());
+ productProcessRouteItem.setProductOrderId(productOrder.getId());
+ productProcessRouteItem.setProductRouteId(productProcessRoute.getId());
int insert = productProcessRouteItemMapper.insert(productProcessRouteItem);
if (insert > 0) {
// 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶у伐鍗曞彿
--
Gitblit v1.9.3