From 1ba0dbfde5634c8bf2ec20891d6b226b996f6b59 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 02 九月 2026 14:24:38 +0800
Subject: [PATCH] refactor(mes): 优化MES生产扫码入库功能支持多类型扫码

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java
index bd85c14..5ca72bd 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java
@@ -9,6 +9,7 @@
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO;
 import cn.iocoder.yudao.module.mes.dal.mysql.wm.warehouse.MesWmWarehouseMapper;
 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
+import cn.iocoder.yudao.module.mes.enums.wm.MesWmWarehouseTypeEnum;
 import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService;
 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService;
 import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
@@ -22,6 +23,7 @@
 import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
 import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
 
 /**
@@ -175,6 +177,7 @@
         if (MesWmWarehouseDO.WIP_VIRTUAL_WAREHOUSE.equals(code)) {
             MesWmWarehouseDO newWarehouse = MesWmWarehouseDO.builder()
                     .code(code).name("铏氭嫙绾胯竟浠撳簱").frozen(false)
+                    .type(MesWmWarehouseTypeEnum.TEMP.getType())
                     .remark("绯荤粺鑷姩鍒濆鍖栫殑铏氭嫙绾胯竟浠撳簱锛堢敤浜庣敓浜ф姤宸ヤ笌鍦ㄥ埗鍝佺鐞嗚В鑰︼級")
                     .build();
             warehouseMapper.insert(newWarehouse);
@@ -183,4 +186,21 @@
         return null;
     }
 
+    @Override
+    public List<MesWmWarehouseDO> getWarehouseListByType(Integer type) {
+        return warehouseMapper.selectListByType(type);
+    }
+
+    @Override
+    public List<Long> getQualifiedWarehouseIds() {
+        return convertList(getWarehouseListByType(MesWmWarehouseTypeEnum.QUALIFIED.getType()),
+                MesWmWarehouseDO::getId);
+    }
+
+    @Override
+    public MesWmWarehouseDO getFirstQualifiedWarehouse() {
+        List<MesWmWarehouseDO> list = getWarehouseListByType(MesWmWarehouseTypeEnum.QUALIFIED.getType());
+        return CollUtil.isNotEmpty(list) ? list.get(0) : null;
+    }
+
 }

--
Gitblit v1.9.3