From 0889e6b6045796115b254e34237a932d9241c0f8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 10:54:50 +0800
Subject: [PATCH] 诚发五金:入库/调整/移库/调拨/退料/盘点不再要求手选库区库位,后端自动落到仓库默认库区库位
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java
index fec1bfe..8aa183f 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java
@@ -7,9 +7,11 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueLineDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO;
import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnissue.MesWmReturnIssueDetailMapper;
import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService;
+import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseDefaultService;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -17,6 +19,8 @@
import java.math.BigDecimal;
import java.util.List;
+
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
@@ -36,6 +40,8 @@
private MesWmReturnIssueLineService issueLineService;
@Resource
private MesWmWarehouseAreaService warehouseAreaService;
+ @Resource
+ private MesWmWarehouseDefaultService warehouseDefaultService;
@Resource
@Lazy
private MesWmMaterialStockService materialStockService;
@@ -112,6 +118,14 @@
if (ObjUtil.notEqual(line.getItemId(), reqVO.getItemId())) {
throw exception(WM_RETURN_ISSUE_DETAIL_ITEM_MISMATCH);
}
+ // 鏈寚瀹氫笂鏋剁洰鏍囧簱鍖�/搴撲綅鏃讹紝钀藉埌浠撳簱榛樿搴撳尯/搴撲綅锛堝鎴锋湭鍚敤搴撳尯/搴撲綅绠$悊锛�
+ if (reqVO.getWarehouseId() != null
+ && (reqVO.getLocationId() == null || reqVO.getAreaId() == null)) {
+ MesWmWarehouseAreaDO defaultArea =
+ warehouseDefaultService.getOrCreateDefaultArea(reqVO.getWarehouseId());
+ reqVO.setLocationId(defaultArea.getLocationId());
+ reqVO.setAreaId(defaultArea.getId());
+ }
// 鏍¢獙涓婃灦鐩爣浠撳簱銆佸簱鍖恒�佸簱浣嶇殑鍏宠仈鍏崇郴
warehouseAreaService.validateWarehouseAreaExists(
reqVO.getWarehouseId(), reqVO.getLocationId(), reqVO.getAreaId());
@@ -123,9 +137,10 @@
if (stock == null) {
throw exception(WM_MATERIAL_STOCK_NOT_EXISTS);
}
- // 鏍¢獙鐗╂枡鍜屾壒娆′竴鑷�
+ // 鏍¢獙鐗╂枡涓�鑷达細姝ゅ鍙瘮瀵圭墿鏂欙紝鍥犱负鏉ユ簮搴撳瓨(绾胯竟/铏氭嫙浠�)涓庝笂鏋剁洰鏍囦粨搴撴湰灏变笉鍚屽睘姝e父
if (ObjUtil.notEqual(stock.getItemId(), reqVO.getItemId())) {
- throw exception(WM_MATERIAL_STOCK_SELECTION_MISMATCH);
+ throw new ServiceException(WM_MATERIAL_STOCK_SELECTION_MISMATCH.getCode(),
+ "鎵�閫夋潵婧愬簱瀛樺綊灞炵墿鏂欎笌褰撳墠閫�璐х墿鏂欎笉涓�鑷达紝璇烽噸鏂伴�夋嫨鏉ユ簮搴撳瓨");
}
// 鏍¢獙搴撳瓨鏁伴噺鍏呰冻
if (reqVO.getQuantity() != null && stock.getQuantity() != null
--
Gitblit v1.9.3