|
|
@@ -10,6 +10,8 @@ import lombok.Data;
|
|
|
import java.io.Serializable;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 可燃气体监测仪数据表
|
|
|
@@ -129,4 +131,28 @@ public class GasMonitorData implements Serializable {
|
|
|
|
|
|
@TableField(exist = false)
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
+ public Map<String, Boolean> parseAlarmBits() {
|
|
|
+ Map<String, Boolean> alarmBits = new HashMap<>();
|
|
|
+ if (alarmInfo == null) {
|
|
|
+ alarmInfo = 0;
|
|
|
+ }
|
|
|
+ alarmBits.put("unknownAlarm", (alarmInfo & (1 << 0)) != 0); // Bit0:未知报警
|
|
|
+ alarmBits.put("highAlarm", (alarmInfo & (1 << 1)) != 0); // Bit1:高报警
|
|
|
+ alarmBits.put("overRange", (alarmInfo & (1 << 2)) != 0); // Bit2:超量程
|
|
|
+ alarmBits.put("calibrationCycle", (alarmInfo & (1 << 3)) != 0); // Bit3:标定周期
|
|
|
+ alarmBits.put("overLife", (alarmInfo & (1 << 4)) != 0); // Bit4:超寿命
|
|
|
+ alarmBits.put("fallAlarm", (alarmInfo & (1 << 5)) != 0); // Bit5:跌倒报警
|
|
|
+ alarmBits.put("undervoltage", (alarmInfo & (1 << 6)) != 0); // Bit6:欠压报警
|
|
|
+ alarmBits.put("rangeAlarm", (alarmInfo & (1 << 7)) != 0); // Bit7:区间报警
|
|
|
+ alarmBits.put("keyAlarm", (alarmInfo & (1 << 8)) != 0); // Bit8:按键报警
|
|
|
+ alarmBits.put("vibrationAlarm", (alarmInfo & (1 << 9)) != 0); // Bit9:震动报警
|
|
|
+ alarmBits.put("waterLevelAlarm", (alarmInfo & (1 << 10)) != 0); // Bit10:水位报警
|
|
|
+ alarmBits.put("powerOffAlarm", (alarmInfo & (1 << 11)) != 0); // Bit11:断电报警
|
|
|
+ alarmBits.put("sensorFault", (alarmInfo & (1 << 12)) != 0); // Bit12:传感器故障
|
|
|
+ alarmBits.put("overHumidity", (alarmInfo & (1 << 13)) != 0); // Bit13:超湿报警
|
|
|
+ alarmBits.put("overTemperature", (alarmInfo & (1 << 14)) != 0); // Bit14:超温报警
|
|
|
+ alarmBits.put("systemFault", (alarmInfo & (1 << 15)) != 0); // Bit15:系统故障
|
|
|
+ return alarmBits;
|
|
|
+ }
|
|
|
}
|