From 9f1c36a2ba4e13f9592bbf2e49afd95fd77cadfb Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 01 四月 2026 13:29:55 +0800
Subject: [PATCH] fix:1.仓储物流区分原材料/成品 2.生产订单/报工领料优化

---
 src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index 3d694ca..711fb1c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -24,6 +24,7 @@
 import com.ruoyi.production.service.ProductOrderService;
 import com.ruoyi.quality.mapper.QualityInspectMapper;
 import com.ruoyi.stock.mapper.StockInventoryMapper;
+import com.ruoyi.stock.pojo.StockInventory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -247,8 +248,9 @@
 
     @Override
     public List<SelectOptionDTO<String>> getProductOrderBatchNo() {
-        List<ProductOrder> productOrders = productOrderMapper.selectList(null);
-        return productOrders.stream().map(productOrder -> new SelectOptionDTO<>(productOrder.getBatchNo(), productOrder.getBatchNo())).collect(Collectors.toList());
+        //鏌ヨ搴撳瓨鎵瑰彿
+        List<StockInventory> stockInventoryList = stockInventoryMapper.selectList(null);
+        return stockInventoryList.stream().map(stockInventory -> new SelectOptionDTO<>(stockInventory.getBatchNo(), stockInventory.getBatchNo())).collect(Collectors.toList());
     }
 
     @Override
@@ -275,10 +277,12 @@
         }
         // 濡傛灉鏈夋暟鎹厛鍔犲簱瀛�
         ProductOrder productOrder = productOrderMapper.selectById(productOrderDto.getId());
-        if (productOrder != null) {
+        if (productOrder.getDrawMaterials() != null) {
             List<DrawMaterialDto> materialDtoList = JSON.parseArray(productOrder.getDrawMaterials(), DrawMaterialDto.class);
             for (DrawMaterialDto drawMaterialDto : materialDtoList) {
-                stockUtils.addStock(drawMaterialDto.getProductModelId(), drawMaterialDto.getRequisitionQty(), null, productOrderDto.getId());
+                stockUtils.addStock(drawMaterialDto.getProductModelId(), drawMaterialDto.getRequisitionQty(), null, productOrderDto.getId(),
+                        drawMaterialDto.getBatchNo(), drawMaterialDto.getCustomer()
+                );
             }
         }
 
@@ -288,7 +292,9 @@
                 if (drawMaterialDto.getProductModelId() == null) {
                     throw new RuntimeException("浜у搧鍨嬪彿ID涓嶈兘涓虹┖");
                 }
-                stockUtils.substractStock(drawMaterialDto.getProductModelId(), drawMaterialDto.getRequisitionQty(), StockOutQualifiedRecordTypeEnum.DRAW_MATERIALS_STOCK_OUT.getCode(), productOrderDto.getId());
+                stockUtils.substractStock(drawMaterialDto.getProductModelId(), drawMaterialDto.getRequisitionQty(),
+                        StockOutQualifiedRecordTypeEnum.DRAW_MATERIALS_STOCK_OUT.getCode(), productOrderDto.getId(),
+                        drawMaterialDto.getBatchNo(),drawMaterialDto.getCustomer());
             }
         } catch (Exception e) {
             throw new RuntimeException("棰嗘枡澶辫触锛�" + e.getMessage());

--
Gitblit v1.9.3