package com.ruoyi.system.enums; import com.ruoyi.system.service.IOptionVo; import lombok.Getter; @Getter public enum DeviceType implements IOptionVo { TOWER_CRANE("塔式起重机"), CONSTRUCTION_LIFT("施工升降机"), MATERIAL_HOIST("物料提升机"), BRIDGE_CRANE("桥式起重机"), SUSPENDED_SCAFFOLDING("附着式升降脚手架"), MOBILE_CRANE("流动式起重机"), HIGH_ALTITUDE_BASKET("高处作业吊篮"), GANTRY_CRANE("门式起重机"), GANTRY_TROLLEY_CRANE("架桥机"), OTHER("其他类型"); private final String desc; DeviceType(String desc) { this.desc = desc; } public static DeviceType getByDescription(String description) { for (DeviceType deviceType : DeviceType.values()) { if (deviceType.desc.equals(description)) { return deviceType; } } return null; } @Override public String getOptionCode() { return name(); } @Override public String getOptionName() { return desc; } public String hierarchyPath() { switch (this) { case TOWER_CRANE: return "/0"; case CONSTRUCTION_LIFT: return "/1"; case MATERIAL_HOIST: return "/5"; case BRIDGE_CRANE: return "/3"; case SUSPENDED_SCAFFOLDING: return "/7"; case MOBILE_CRANE: return "/4"; case HIGH_ALTITUDE_BASKET: return "/8"; case GANTRY_CRANE: return "/6"; case GANTRY_TROLLEY_CRANE: return "/2"; case OTHER: default: return "/"; } } }