package com.fzzy.igds.dzhwk.constant; /** * 设备状态枚举 */ public enum DeviceStatus { // 默认类 CLOSE("CLOSE", "关闭"), OPEN("OPEN", "打开"), // 风机类设备状态 W_CLOSE("W_CLOSE", "风口关"), W_OPEN("W_OPEN", "风口开"), F_OPEN("F_OPEN", "风机正转"), F_OPEN_F( "F_OPEN_F", "风机反转"), F_CLOSE("F_CLOSE", "风机关"), ERROR("ERROR", "故障"), ZERO( "ZERO", "无操作"); private String code; private String msg; DeviceStatus(String code, String msg) { this.code = code; this.msg = msg; } public String getCode() { return code; } public String getMsg() { return msg; } public static String getDeviceStatus(String code) { if (null == code) return ""; if (DeviceStatus.CLOSE.getCode().equals(code)) { return DeviceStatus.CLOSE.getMsg(); } if (DeviceStatus.F_CLOSE.getCode().equals(code)) { return DeviceStatus.F_CLOSE.getMsg(); } if (DeviceStatus.F_OPEN.getCode().equals(code)) { return DeviceStatus.F_OPEN.getMsg(); } if (DeviceStatus.OPEN.getCode().equals(code)) { return DeviceStatus.OPEN.getMsg(); } if (DeviceStatus.W_CLOSE.getCode().equals(code)) { return DeviceStatus.W_CLOSE.getMsg(); } if (DeviceStatus.W_OPEN.getCode().equals(code)) { return DeviceStatus.W_OPEN.getMsg(); } return ""; } /** * 根据当前通道状态和关联状态获取实际的设备状态 * * @param status * @param linkStatus * @param deviceType * @return */ public static String getStatus(String status, String linkStatus, String deviceType) { if (null == status || Constant.EMPTY.equalsIgnoreCase(status)) status = ERROR.code; if(null == linkStatus) linkStatus = Constant.EMPTY; // if (null == linkStatus || // Constant.EMPTY.equalsIgnoreCase(linkStatus)){ // linkStatus = ERROR.code; // } //只有轴流风机和混流风机才考虑关联设备,其他忽略关联 if(!DeviceType.TYPE_0C.getCode().equals(deviceType) && !DeviceType.TYPE_02.getCode().equals(deviceType)){ linkStatus = null; } if (ERROR.code.equals(status) && OPEN.getCode().equals(linkStatus)) { return W_OPEN.getCode(); } if (ERROR.code.equals(status) && CLOSE.getCode().equals(linkStatus)) { return W_CLOSE.getCode(); } // 风机类的设备处理 // 风机关 窗口 开 if (F_CLOSE.getCode().equals(status) && OPEN.getCode().equals(linkStatus)) { return W_OPEN.getCode(); } // 风机关 窗口关 if (F_CLOSE.getCode().equals(status) && CLOSE.getCode().equals(linkStatus)) { return W_CLOSE.getCode(); } // 风机开 窗口开 if (F_OPEN.getCode().equals(status) && OPEN.getCode().equals(linkStatus)) { return F_OPEN.getCode(); } // 风机开 窗口关 // if (F_OPEN.getCode().equals(status) // && CLOSE.getCode().equals(linkStatus)) { // return ERROR.getCode(); // } if (F_OPEN.getCode().equals(status)) { return F_OPEN.getCode(); } // 风机反开 窗口开 if (F_OPEN_F.getCode().equals(status) && OPEN.getCode().equals(linkStatus)) { return F_OPEN_F.getCode(); } // 风机反开 窗口关 // if (F_OPEN_F.getCode().equals(status) // && CLOSE.getCode().equals(linkStatus)) { // return ERROR.getCode(); // } if (F_OPEN_F.getCode().equals(status)) { return F_OPEN_F.getCode(); } return status; } }