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