From 5d818f39c862884b7087488d588fef5b7ce47386 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 28 十月 2026 18:33:55 +0800
Subject: [PATCH] feat(mes): 增加销售退货单与出库单关联功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesDetailServiceImpl.java | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesDetailServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesDetailServiceImpl.java
index 32f0981..931bbe9 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesDetailServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesDetailServiceImpl.java
@@ -139,12 +139,27 @@
// 鏍¢獙浠撳簱銆佸簱鍖恒�佸簱浣嶇殑鍏宠仈鍏崇郴
warehouseAreaService.validateWarehouseAreaExists(
reqVO.getWarehouseId(), reqVO.getLocationId(), reqVO.getAreaId());
+ // 鐗╂枡銆佹壒娆′互閫�璐ц涓哄噯锛堥��璐ф壒娆℃潵鑷攢鍞嚭搴撳崟锛屼笂鏋舵椂涓嶅厑璁稿彉鏇达級
+ reqVO.setItemId(line.getItemId());
+ resolveBatch(reqVO, line);
// 鏍¢獙搴撲綅鐗╂枡/鎵规娣锋斁瑙勫垯
materialStockService.checkAreaMixingRule(reqVO.getAreaId(), reqVO.getItemId(), reqVO.getBatchId());
// 鏍¢獙鏄庣粏鎬绘暟閲忎笉瓒呰繃琛屾暟閲忥紙鎺掗櫎鑷韩锛�
validateDetailQuantityNotExceed(reqVO.getLineId(), reqVO.getQuantity(), reqVO.getId(), line);
+ }
- // 鏍规嵁 batchCode 瑙f瀽 batchId锛堝繀椤诲湪娣锋斁瑙勫垯鏍¢獙涔嬪墠锛屽洜涓哄畠渚濊禆 batchId锛�
+ /**
+ * 瑙f瀽涓婃灦鏄庣粏鎵规锛氳宸叉寚瀹氭壒娆℃椂寮哄埗娌跨敤锛屽惁鍒欐寜鎵规鍙疯В鏋�
+ */
+ private void resolveBatch(MesWmReturnSalesDetailSaveReqVO reqVO, MesWmReturnSalesLineDO line) {
+ if (line.getBatchId() != null) {
+ if (reqVO.getBatchId() != null && ObjUtil.notEqual(reqVO.getBatchId(), line.getBatchId())) {
+ throw exception(WM_RETURN_SALES_DETAIL_BATCH_MISMATCH);
+ }
+ reqVO.setBatchId(line.getBatchId());
+ reqVO.setBatchCode(line.getBatchCode());
+ return;
+ }
fillBatchId(reqVO);
}
--
Gitblit v1.9.3