From 80ddf4c9c0bcb0f6c31524e0d9f5599c8001e904 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 10 七月 2026 13:29:38 +0800
Subject: [PATCH] Merge branch 'dev_business' of http://114.132.189.42:9002/r/mom-pro2-after into dev_business

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
index d45aa41..a1cedf7 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
@@ -20,6 +20,7 @@
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmSalesNoticeStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
 import cn.iocoder.yudao.module.mes.service.md.client.MesMdClientService;
+import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
 import cn.iocoder.yudao.module.mes.service.wm.salesnotice.MesWmSalesNoticeService;
 import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
 import cn.iocoder.yudao.module.mes.service.wm.transaction.dto.MesWmTransactionSaveReqDTO;
@@ -57,6 +58,8 @@
     private MesWmSalesNoticeService salesNoticeService;
     @Resource
     private MesWmTransactionService wmTransactionService;
+    @Resource
+    private MesWmMaterialStockService materialStockService;
 
     @Override
     public Long createProductSales(MesWmProductSalesSaveReqVO createReqVO) {
@@ -167,12 +170,25 @@
         if (ObjUtil.notEqual(MesWmProductSalesStatusEnum.APPROVING.getStatus(), sales.getStatus())) {
             throw exception(WM_PRODUCT_SALES_CANNOT_PICK);
         }
-        // 鏍¢獙姣忚鑷冲皯鏈夋嫞璐ф槑缁�
+        // 鏍¢獙姣忚鑷冲皯鏈夋嫞璐ф槑缁嗭紝骞舵牎楠屽簱瀛樺厖瓒�
         List<MesWmProductSalesLineDO> lines = productSalesLineService.getProductSalesLineListBySalesId(id);
         for (MesWmProductSalesLineDO line : lines) {
             List<MesWmProductSalesDetailDO> details = productSalesDetailService.getProductSalesDetailListByLineId(line.getId());
             if (CollUtil.isEmpty(details)) {
                 throw exception(WM_PRODUCT_SALES_DETAILS_EMPTY);
+            }
+            // 鏍¢獙搴撳瓨鍏呰冻
+            for (MesWmProductSalesDetailDO detail : details) {
+                materialStockService.validateSelectedStock(
+                        detail.getMaterialStockId(),
+                        detail.getItemId(),
+                        detail.getBatchId(),
+                        detail.getBatchCode(),
+                        detail.getWarehouseId(),
+                        detail.getLocationId(),
+                        detail.getAreaId(),
+                        detail.getQuantity()
+                );
             }
         }
 
@@ -306,4 +322,9 @@
         }
     }
 
+    @Override
+    public void updateStatus(Long id, Integer status) {
+        productSalesMapper.updateById(new MesWmProductSalesDO().setId(id).setStatus(status));
+    }
+
 }

--
Gitblit v1.9.3