From 688036eb8892637e1538ef220ea6ccb7e110167b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 10:59:16 +0800
Subject: [PATCH] 工作站设置:只选仓库时自动落到仓库默认库区/库位

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java
index 8603384..2399548 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java
@@ -16,6 +16,7 @@
 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService;
 import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService;
+import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseDefaultService;
 import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService;
 import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService;
 import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService;
@@ -59,6 +60,8 @@
     private MesWmWarehouseLocationService locationService;
     @Resource
     private MesWmWarehouseAreaService areaService;
+    @Resource
+    private MesWmWarehouseDefaultService warehouseDefaultService;
     @Resource
     private MesWmBarcodeService barcodeService;
     @Resource
@@ -151,8 +154,9 @@
      * 浠撳簱灞傜骇缁撴瀯锛氫粨搴� -> 搴撳尯 -> 搴撲綅
      * 澶勭悊瑙勫垯锛�
      * 1. 濡傛灉浠撳簱/搴撳尯/搴撲綅閮芥湭濉啓锛屽垯鑷姩璁剧疆铏氭嫙绾胯竟搴�
-     * 2. 濡傛灉濉啓浜嗗簱鍖猴紝蹇呴』濉啓浠撳簱锛屼笖搴撳尯蹇呴』灞炰簬璇ヤ粨搴�
-     * 3. 濡傛灉濉啓浜嗗簱浣嶏紝蹇呴』濉啓搴撳尯锛屼笖搴撲綅蹇呴』灞炰簬璇ュ簱鍖�
+     * 2. 濡傛灉鍙~鍐欎簡浠撳簱锛屾湭鎸囧畾搴撳尯/搴撲綅锛屽垯鑷姩钀藉埌璇ヤ粨搴撶殑榛樿搴撳尯/榛樿搴撲綅
+     * 3. 濡傛灉濉啓浜嗗簱鍖猴紝蹇呴』濉啓浠撳簱锛屼笖搴撳尯蹇呴』灞炰簬璇ヤ粨搴�
+     * 4. 濡傛灉濉啓浜嗗簱浣嶏紝蹇呴』濉啓搴撳尯锛屼笖搴撲綅蹇呴』灞炰簬璇ュ簱鍖�
      *
      * @param reqVO 宸ヤ綔绔欎繚瀛樿姹傚璞�
      */
@@ -179,6 +183,14 @@
             warehouseService.validateWarehouseExists(warehouseId);
         }
 
+        // 2.1 鍙�変簡浠撳簱銆佹湭鎸囧畾搴撳尯/搴撲綅鏃讹紝钀藉埌浠撳簱榛樿搴撳尯/榛樿搴撲綅锛堝鎴锋湭鍚敤搴撳尯/搴撲綅绠$悊锛�
+        if (locationId == null && areaId == null) {
+            MesWmWarehouseAreaDO defaultArea = warehouseDefaultService.getOrCreateDefaultArea(warehouseId);
+            reqVO.setLocationId(defaultArea.getLocationId());
+            reqVO.setAreaId(defaultArea.getId());
+            return;
+        }
+
         // 3. 鏍¢獙搴撳尯锛氬鏋滃~鍐欎簡搴撳尯锛屽繀椤诲~鍐欎粨搴擄紝涓斿簱鍖哄繀椤诲睘浜庤浠撳簱
         MesWmWarehouseLocationDO location;
         if (locationId != null) {

--
Gitblit v1.9.3