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 | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 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 d0de3aa..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;
@@ -60,6 +61,8 @@
@Resource
private MesWmWarehouseAreaService areaService;
@Resource
+ private MesWmWarehouseDefaultService warehouseDefaultService;
+ @Resource
private MesWmBarcodeService barcodeService;
@Resource
private MesProProcessService processService;
@@ -98,8 +101,10 @@
validateWorkstationNameUnique(id, reqVO.getName());
// 鏍¢獙杞﹂棿瀛樺湪
validateWorkshopExists(reqVO.getWorkshopId());
- // 鏍¢獙宸ュ簭瀛樺湪
- processService.validateProcessExistsAndEnable(reqVO.getProcessId());
+ // 鏍¢獙宸ュ簭瀛樺湪锛堝伐搴忎负鍙�夐」锛屾湭閰嶇疆宸ュ簭鏃跺伐浣滅珯浠嶅彲姝e父浣跨敤锛�
+ if (reqVO.getProcessId() != null) {
+ processService.validateProcessExistsAndEnable(reqVO.getProcessId());
+ }
// 澶勭悊浠撳簱灞傜骇锛堟湭鎸囧畾浠撳簱鏃惰嚜鍔ㄨ缃櫄鎷熺嚎杈瑰簱锛�
handleWarehouseHierarchy(reqVO);
}
@@ -149,8 +154,9 @@
* 浠撳簱灞傜骇缁撴瀯锛氫粨搴� -> 搴撳尯 -> 搴撲綅
* 澶勭悊瑙勫垯锛�
* 1. 濡傛灉浠撳簱/搴撳尯/搴撲綅閮芥湭濉啓锛屽垯鑷姩璁剧疆铏氭嫙绾胯竟搴�
- * 2. 濡傛灉濉啓浜嗗簱鍖猴紝蹇呴』濉啓浠撳簱锛屼笖搴撳尯蹇呴』灞炰簬璇ヤ粨搴�
- * 3. 濡傛灉濉啓浜嗗簱浣嶏紝蹇呴』濉啓搴撳尯锛屼笖搴撲綅蹇呴』灞炰簬璇ュ簱鍖�
+ * 2. 濡傛灉鍙~鍐欎簡浠撳簱锛屾湭鎸囧畾搴撳尯/搴撲綅锛屽垯鑷姩钀藉埌璇ヤ粨搴撶殑榛樿搴撳尯/榛樿搴撲綅
+ * 3. 濡傛灉濉啓浜嗗簱鍖猴紝蹇呴』濉啓浠撳簱锛屼笖搴撳尯蹇呴』灞炰簬璇ヤ粨搴�
+ * 4. 濡傛灉濉啓浜嗗簱浣嶏紝蹇呴』濉啓搴撳尯锛屼笖搴撲綅蹇呴』灞炰簬璇ュ簱鍖�
*
* @param reqVO 宸ヤ綔绔欎繚瀛樿姹傚璞�
*/
@@ -175,6 +181,14 @@
// 2. 鏍¢獙浠撳簱鏄惁瀛樺湪
if (warehouseId != null) {
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. 鏍¢獙搴撳尯锛氬鏋滃~鍐欎簡搴撳尯锛屽繀椤诲~鍐欎粨搴擄紝涓斿簱鍖哄繀椤诲睘浜庤浠撳簱
@@ -239,6 +253,11 @@
}
@Override
+ public MesMdWorkstationDO getWorkstationByName(String name) {
+ return workstationMapper.selectByName(name);
+ }
+
+ @Override
public List<MesMdWorkstationDO> getWorkstationListByStatus(Integer status) {
return workstationMapper.selectListByStatus(status);
}
--
Gitblit v1.9.3