新增设备获取父类类别的id列表

This commit is contained in:
2025-10-15 16:26:21 +08:00
parent 250318ddef
commit 451b2f6766
4 changed files with 53 additions and 13 deletions

View File

@ -1,5 +1,7 @@
package com.xzzn.common.enums;
import org.apache.xmlbeans.impl.common.NameUtil;
import java.util.HashMap;
import java.util.Map;
@ -10,24 +12,26 @@ import java.util.Map;
*/
public enum DeviceCategory
{
PCS("PCS", "PCS设备"),
BRANCH("BRANCH", "PCS分支设备"),
STACK("STACK", "电池堆"),
CLUSTER("CLUSTER", "电池簇"),
BATTERY("BATTERY", "单体电池"),
AMMETER("AMMETER", "电表"),
COOLING("COOLING", "冷却"),
DH("DH", "动环"),
XF("XF", "消防"),
BATTERY_GROUP("BATTERY_GROUP", "电池组");
PCS("PCS", "PCS设备", null),
BRANCH("BRANCH", "PCS分支设备", PCS),
STACK("STACK", "电池堆", null),
CLUSTER("CLUSTER", "电池簇", STACK),
BATTERY("BATTERY", "单体电池", CLUSTER),
AMMETER("AMMETER", "电表", null),
COOLING("COOLING", "冷却", null),
DH("DH", "动环", null),
XF("XF", "消防", null),
BATTERY_GROUP("BATTERY_GROUP", "电池组", null),;
private final String code;
private final String info;
private final DeviceCategory parentCategory;
DeviceCategory(String code, String info)
DeviceCategory(String code, String info, DeviceCategory parentCategory)
{
this.code = code;
this.info = info;
this.parentCategory = parentCategory;
}
public String getCode()
@ -40,6 +44,10 @@ public enum DeviceCategory
return info;
}
public DeviceCategory getParentCategory()
{
return parentCategory;
}
// 缓存info与code的映射优化查询效率
private static final Map<String, String> INFO_CODE_MAP = new HashMap<>();
@ -54,4 +62,15 @@ public enum DeviceCategory
public static String getCodeByInfo(String info) {
return INFO_CODE_MAP.get(info); // 从缓存中直接获取,效率高
}
// 通过code获取父类code
// 根据字符串编码查找对应的枚举
public static DeviceCategory fromCode(String code) {
for (DeviceCategory category : values()) {
if (category.code.equalsIgnoreCase(code)) { // 忽略大小写,增强兼容性
return category;
}
}
return null;
}
}