From 792236ef78c2cdd3a989fb40a7f2e2487c4e17b6 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 26 十一月 2025 17:06:11 +0800
Subject: [PATCH] 添加各个设备基础可配置参数

---
 mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java |   91 ++++++++++++++++++---------------------------
 1 files changed, 37 insertions(+), 54 deletions(-)

diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java b/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java
index 292bd8f..6f5b2b3 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java
@@ -135,10 +135,7 @@
         
         // 璁惧绫诲瀷杩囨护
         if (deviceType != null && !deviceType.trim().isEmpty()) {
-            List<String> convertedDeviceTypes = convertDeviceTypeFromString(deviceType);
-            if (convertedDeviceTypes != null && !convertedDeviceTypes.isEmpty()) {
-                wrapper.in(DeviceConfig::getDeviceType, convertedDeviceTypes);
-            }
+            wrapper.eq(DeviceConfig::getDeviceType, deviceType.trim());
         }
         
         // 璁惧鐘舵�佽繃婊�
@@ -312,47 +309,6 @@
         }
     }
 
-    /**
-     * 瀛楃涓茶浆鎹负璁惧绫诲瀷
-     */
-    private List<String> convertDeviceTypeFromString(String deviceType) {
-        if (deviceType == null) {
-            return Collections.emptyList();
-        }
-        
-        String normalized = deviceType.trim().toLowerCase();
-        switch (normalized) {
-            case "load_vehicle":
-            case "涓婂ぇ杞�":
-            case "涓婂ぇ杞﹁澶�":
-            case "澶ц溅璁惧":
-            case "1":
-                return Arrays.asList(
-                    DeviceConfig.DeviceType.LOAD_VEHICLE,
-                    "澶ц溅璁惧"
-                );
-            case "large_glass":
-            case "澶х悊鐗�":
-            case "澶х悊鐗囩":
-            case "2":
-                return Arrays.asList(
-                    DeviceConfig.DeviceType.LARGE_GLASS,
-                    "澶х悊鐗囩"
-                );
-            case "glass_storage":
-            case "鐜荤拑瀛樺偍":
-            case "鍗у紡缂撳瓨":
-            case "鐜荤拑瀛樺偍璁惧":
-            case "3":
-                return Arrays.asList(
-                    DeviceConfig.DeviceType.GLASS_STORAGE,
-                    "鍗у紡缂撳瓨",
-                    "鐜荤拑瀛樺偍璁惧"
-                );
-            default:
-                return Collections.emptyList();
-        }
-    }
 
     /**
      * 瀛楃涓茶浆鎹负鐘舵��
@@ -643,10 +599,7 @@
             
             // 璁惧绫诲瀷杩囨护
         if (deviceType != null && !deviceType.trim().isEmpty()) {
-            List<String> convertedDeviceTypes = convertDeviceTypeFromString(deviceType);
-            if (convertedDeviceTypes != null && !convertedDeviceTypes.isEmpty()) {
-                wrapper.in(DeviceConfig::getDeviceType, convertedDeviceTypes);
-            }
+            wrapper.eq(DeviceConfig::getDeviceType, deviceType.trim());
         }
             
             // 璁惧鐘舵�佽繃婊�
@@ -675,12 +628,42 @@
 
     @Override
     public List<String> getAllDeviceTypes() {
-        List<String> deviceTypes = new ArrayList<>();
-        deviceTypes.add("PLC璁惧");
-        deviceTypes.add("浼犳劅鍣ㄨ澶�");
-        deviceTypes.add("鎵ц鍣ㄨ澶�");
-        deviceTypes.add("浜烘満鐣岄潰璁惧");
+        try {
+            // 浠庢暟鎹簱涓煡璇㈡墍鏈夊凡瀛樺湪鐨勮澶囩被鍨嬶紙鍘婚噸锛�
+            LambdaQueryWrapper<DeviceConfig> wrapper = new LambdaQueryWrapper<>();
+            wrapper.select(DeviceConfig::getDeviceType);
+            wrapper.eq(DeviceConfig::getIsDeleted, 0);
+            wrapper.isNotNull(DeviceConfig::getDeviceType);
+            wrapper.ne(DeviceConfig::getDeviceType, "");
+            
+            List<DeviceConfig> devices = list(wrapper);
+            List<String> deviceTypes = devices.stream()
+                    .map(DeviceConfig::getDeviceType)
+                    .filter(Objects::nonNull)
+                    .filter(type -> !type.trim().isEmpty())
+                    .distinct()
+                    .sorted()
+                    .collect(Collectors.toList());
+            
+            // 濡傛灉鏁版嵁搴撲腑娌℃湁璁惧绫诲瀷锛岃繑鍥為粯璁ょ被鍨�
+            if (deviceTypes.isEmpty()) {
+                deviceTypes.add(DeviceConfig.DeviceType.LOAD_VEHICLE);
+                deviceTypes.add(DeviceConfig.DeviceType.LARGE_GLASS);
+                deviceTypes.add(DeviceConfig.DeviceType.WORKSTATION_SCANNER);
+                deviceTypes.add(DeviceConfig.DeviceType.WORKSTATION_TRANSFER);
+            }
+            
         return deviceTypes;
+        } catch (Exception e) {
+            log.error("鑾峰彇璁惧绫诲瀷鍒楄〃澶辫触", e);
+            // 寮傚父鏃惰繑鍥為粯璁ょ被鍨�
+            List<String> defaultTypes = new ArrayList<>();
+            defaultTypes.add(DeviceConfig.DeviceType.LOAD_VEHICLE);
+            defaultTypes.add(DeviceConfig.DeviceType.LARGE_GLASS);
+            defaultTypes.add(DeviceConfig.DeviceType.WORKSTATION_SCANNER);
+            defaultTypes.add(DeviceConfig.DeviceType.WORKSTATION_TRANSFER);
+            return defaultTypes;
+        }
     }
 
     @Override

--
Gitblit v1.8.0