From d41fe2e95f3f64c6e3a7229acd9e74e673513a0a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 09 七月 2026 16:13:59 +0800
Subject: [PATCH] 1.人力资源大模块开发 2.仓库大模块开发
---
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