From ffca46b39d25439a06a27cafda2ec523a3fb67cf Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 27 十月 2026 17:53:02 +0800
Subject: [PATCH] feat(mes): 增加盘号字段支持和优化报工质检流程
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java | 10 ++++++++++
1 files changed, 10 insertions(+), 0 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 6593aa3..3ccf050 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
@@ -79,6 +79,8 @@
@Resource
private ErpSaleOrderApi saleOrderApi;
+ @Resource
+ private MesWmSalesReelGuard salesReelGuard;
@Override
public Long createProductSales(MesWmProductSalesSaveReqVO createReqVO) {
@@ -214,6 +216,7 @@
}
// 鏍¢獙搴撳瓨鍏呰冻骞跺垱寤哄崰鐢�
for (MesWmProductSalesDetailDO detail : details) {
+ salesReelGuard.validate(line, detail.getBatchId());
materialStockService.validateSelectedStock(
detail.getMaterialStockId(),
detail.getItemId(),
@@ -343,6 +346,13 @@
private void createTransactionList(MesWmProductSalesDO sales) {
List<MesWmProductSalesDetailDO> details = productSalesDetailService.getProductSalesDetailListBySalesId(sales.getId());
+ for (MesWmProductSalesDetailDO detail : details) {
+ MesWmProductSalesLineDO line = productSalesLineService.getProductSalesLine(detail.getLineId());
+ if (line == null || !ObjUtil.equal(line.getSalesId(), sales.getId())) {
+ throw exception(WM_PRODUCT_SALES_DETAIL_LINE_NOT_MATCH);
+ }
+ salesReelGuard.validate(line, detail.getBatchId());
+ }
wmTransactionService.createTransactionList(convertList(details, detail -> new MesWmTransactionSaveReqDTO()
.setType(MesWmTransactionTypeEnum.OUT.getType()).setItemId(detail.getItemId())
.setQuantity(detail.getQuantity().negate()) // 鍑哄簱鏁伴噺涓鸿礋鏁�
--
Gitblit v1.9.3