From f2c7576cbd050824ec78233483e06fc375382bfb Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 02 四月 2026 17:04:03 +0800
Subject: [PATCH] yys 1.客户档案导入-维护人,维护时间默认当前 2.销售报价审核非必填,产品选择方式也要改 3.销售产品增加物料号字段 4.产品维护增加录入时间,修改时间 6.发货审核不需要了 7.BI的生产核算分析不要了,增加生产订单当前工序 3.库存导入模板规格改成图纸编号,产品名称可以为空,加个库位 4.库存管理外购改为标准件 5.bom产品唯一 6.产品根据bom计算子项数量(只统计二级)

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 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 1970897..f7d9382 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -95,11 +95,7 @@
     private ShippingInfoServiceImpl shippingInfoService;
     private ReturnSaleProductMapper returnSaleProductMapper;
     private ReturnManagementMapper returnManagementMapper;
-
-
     private StockUtils stockUtils;
-
-
 
     @Autowired
     private ProductStructureMapper productStructureMapper;
@@ -124,6 +120,7 @@
         List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectSalesLedgerProductList(salesLedgerProduct);
         if(!CollectionUtils.isEmpty(salesLedgerProducts)){
             salesLedgerProducts.forEach(item -> {
+
                 // 鍙戣揣淇℃伅
                 ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
                         .eq(ShippingInfo::getSalesLedgerProductId, item.getId())
@@ -290,6 +287,7 @@
         productOrder.setSaleLedgerProductId(salesLedgerProduct.getId());
         String string = productOrderServiceImpl.generateNextOrderNo(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
         productOrder.setNpsNo(string);
+        productOrder.setStatus("寰呯敓浜�");
         productOrder.setQuantity(salesLedgerProduct.getQuantity());//闇�姹傛暟閲�
         productOrder.setCompleteQuantity(BigDecimal.ZERO);//瀹屾垚鏁伴噺
         productOrderMapper.insert(productOrder);
@@ -307,19 +305,20 @@
                 productProcessRouteMapper.insert(productProcessRoute);
                 // 缁戝畾鐢熶骇bom娓呭崟
                 List<ProductBom> productBoms = productBomMapper.selectList(new LambdaQueryWrapper<ProductBom>()
-                        .eq(ProductBom::getProductModelId, processRoute.getProductModelId())
+                        .eq(ProductBom::getProductModelId, salesLedgerProduct.getProductModelId())
                         .orderByDesc(ProductBom::getId));
                 if(com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(productBoms)){
                     ProductBom productBom = productBoms.get(0);
                     // 鑾峰彇bom瀛愯〃淇℃伅
                     List<ProductStructure> productStructures = productStructureMapper.selectList(new LambdaQueryWrapper<ProductStructure>()
+                            .isNotNull(ProductStructure::getParentId)
                             .eq(ProductStructure::getBomId, productBom.getId()));
                     if(com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(productStructures)){
                         productStructures.forEach(item ->{
                             ProductStructureRecord item1 = new ProductStructureRecord();
                             BeanUtils.copyProperties(item, item1);
                             item1.setProductOrderId(productOrder.getId());
-                            item1.setDemandedQuantity(item.getUnitQuantity().add(productOrder.getQuantity()));
+                            item1.setDemandedQuantity(item.getUnitQuantity().multiply(productOrder.getQuantity()));
                             item1.setBomId(Long.valueOf(productBom.getId()));
                             productStructureRecordMapper.insert(item1);
                         });
@@ -464,10 +463,10 @@
             productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>()
                     .in(ProductOrder::getSaleLedgerProductId, productIds));
             // 鍒犻櫎闄勪欢
-            commonFileService.deleteByBusinessIds(productIds, FileNameType.PRODUCT_ORDER.getValue());
+            commonFileService.deleteByBusinessIds(orderIds, FileNameType.PRODUCT_ORDER.getValue());
             // 鍒犻櫎鐢熶骇璁㈠崟-鐗╂枡娓呭崟
             productStructureRecordMapper.delete(new LambdaQueryWrapper<ProductStructureRecord>()
-                    .in(ProductStructureRecord::getProductOrderId, productIds));
+                    .in(ProductStructureRecord::getProductOrderId, orderIds));
         }
     }
 
@@ -547,7 +546,9 @@
         int count = 0;
         StringBuilder stringBuffer = new StringBuilder();
         for (ProductStructureDto productStructureDto : productStructureDtos) {
-            StockInventory stockInventory = stockInventoryMapper.selectOne(new QueryWrapper<StockInventory>().lambda().eq(StockInventory::getProductModelId, productStructureDto.getProductModelId()));
+            StockInventory stockInventory = stockInventoryMapper.selectOne(new QueryWrapper<StockInventory>()
+                    .lambda()
+                    .eq(StockInventory::getProductModelId, productStructureDto.getProductModelId()));
 
             //鎵�闇�鏁伴噺
             BigDecimal multiply = salesLedgerProduct.getQuantity().multiply(productStructureDto.getUnitQuantity());

--
Gitblit v1.9.3