From 9fa762cf783e2dc3f67b793e34d266dd4d3ec322 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 10 四月 2026 15:58:27 +0800
Subject: [PATCH] feat:1.销售添加是否生产 2.生产订单添加备注
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 59 +++++++++++++++++++++++++++++++++--------------------------
1 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index fe3e20b..1e29d05 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Customer;
+import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
@@ -34,7 +35,6 @@
import com.ruoyi.sales.mapper.*;
import com.ruoyi.sales.pojo.*;
import com.ruoyi.sales.service.ISalesLedgerService;
-import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.mapper.StockInventoryMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -186,6 +186,9 @@
if (shippingInfo != null) {
product.setShippingStatus(shippingInfo.getStatus());
}
+
+ ProductModel productModel = productModelMapper.selectById(product.getProductModelId());
+ product.setMaterialCode(productModel.getMaterialCode());
}
// 3.鏌ヨ涓婁紶鏂囦欢
@@ -602,7 +605,7 @@
// 4. 澶勭悊瀛愯〃鏁版嵁
List<SalesLedgerProduct> productList = salesLedgerDto.getProductData();
if (productList != null && !productList.isEmpty()) {
- handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType());
+ handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType(), salesLedgerDto.isProduce());
updateMainContractAmount(
salesLedger.getId(),
productList,
@@ -700,7 +703,7 @@
}
- private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
+ private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type, boolean isProduce) {
// 鎸塈D鍒嗙粍锛屽尯鍒嗘柊澧炲拰鏇存柊鐨勮褰�
Map<Boolean, List<SalesLedgerProduct>> partitionedProducts = products.stream()
.peek(p -> p.setSalesLedgerId(salesLedgerId))
@@ -709,26 +712,26 @@
List<SalesLedgerProduct> updateList = partitionedProducts.get(true);
List<SalesLedgerProduct> insertList = partitionedProducts.get(false);
- List<StockInventoryDto> stockInventoryDtos = stockInventoryMapper.selectProductList();
+// List<StockInventoryDto> stockInventoryDtos = stockInventoryMapper.selectProductList();
// 鎵ц鏇存柊鎿嶄綔
if (!updateList.isEmpty()) {
for (SalesLedgerProduct product : updateList) {
- // 鏌ヨ搴撳瓨鏁伴噺
- SalesLedgerProduct oldProduct = salesLedgerProductMapper.selectById(product.getId());
- BigDecimal quantityChange = product.getQuantity().subtract(oldProduct.getQuantity());
-
- // 濡傛灉鏁伴噺澧炲姞浜嗭紝妫�鏌ュ簱瀛�
- if (quantityChange.compareTo(BigDecimal.ZERO) > 0) {
- for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
- if (stockInventoryDto.getProductId().equals(product.getId())) {
- if (quantityChange.compareTo(stockInventoryDto.getQualitity()) > 0) {
- throw new RuntimeException("搴撳瓨涓嶈冻");
- }
- break;
- }
- }
- }
+// // 鏌ヨ搴撳瓨鏁伴噺
+// SalesLedgerProduct oldProduct = salesLedgerProductMapper.selectById(product.getId());
+// BigDecimal quantityChange = product.getQuantity().subtract(oldProduct.getQuantity());
+//
+// // 濡傛灉鏁伴噺澧炲姞浜嗭紝妫�鏌ュ簱瀛�
+// if (quantityChange.compareTo(BigDecimal.ZERO) > 0) {
+// for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
+// if (stockInventoryDto.getProductId().equals(product.getId())) {
+// if (quantityChange.compareTo(stockInventoryDto.getQualitity()) > 0) {
+// throw new RuntimeException("搴撳瓨涓嶈冻");
+// }
+// break;
+// }
+// }
+// }
product.setType(type);
salesLedgerProductMapper.updateById(product);
}
@@ -736,18 +739,22 @@
// 鎵ц鎻掑叆鎿嶄綔
if (!insertList.isEmpty()) {
for (SalesLedgerProduct salesLedgerProduct : insertList) {
- for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
- if (stockInventoryDto.getProductId().equals(salesLedgerProduct.getId())) {
- if (salesLedgerProduct.getQuantity().compareTo(stockInventoryDto.getQualitity()) > 0) {
- throw new RuntimeException("搴撳瓨涓嶈冻");
- }
- }
- }
+// for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
+// if (stockInventoryDto.getProductId().equals(salesLedgerProduct.getId())) {
+// if (salesLedgerProduct.getQuantity().compareTo(stockInventoryDto.getQualitity()) > 0) {
+// throw new RuntimeException("搴撳瓨涓嶈冻");
+// }
+// }
+// }
salesLedgerProduct.setType(type);
salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity());
salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
+ // 娣诲姞鐢熶骇鏁版嵁
+ if (isProduce) {
+ salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
+ }
}
}
}
--
Gitblit v1.9.3