liurunyu
2025-02-27 186aac796d81fd1799c9503558c1081c5102ab74
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.dy.common.mw.protocol.p206V202404.upVos;
 
/**
 * @Author: liurunyu
 * @Date: 2024/5/13 16:01
 * @Description
 */
public class AlarmVo {
    public static final byte DevOpenState = 1 ;
    public static final byte DevCloseState = 0 ;
 
    public Byte statePump ; //泵/阀状态    (1:开泵/阀;0:关泵/阀)
    public Byte alarmWaterRemain ; //剩余水量报警    (1:小于报警上限报警 0:正常)
    public Byte alarm0WaterRemain ; //剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常)
    public Byte alarmExceedYear ; //年度超采报警    (1:年用水量大于限制水量报警 0:正常)
    public Byte alarmWaterMeterFault ; //外部流量计故障    (1:流量计故障报警 0:正常)
    public Byte alarmSteal ; //偷水报警    (1:绕开控制器用水报警 0:正常)(2025-02-19:对应靳总协议中的漏损报警,即关阀态时有流量产生)
    public Byte alarmWaterMeterBreak ; //流量计损坏报警    (1:正常通讯但瞬时为0报警 0:正常)
    public Byte alarmEleMeterFault ; //电表故障报警    (1:和电表通讯断或数据不正常 0:正常)
    public Byte alarm0MoneyRemain ; //剩余金额为0    (1:剩余金额为0报警  0:正常)
    public Byte alarmDoor; //控制器内门报警    (1:内门打开报警    0:正常)
    public Byte alarmBatteryVolt; //电池电压低报警    (1:电池低关阀报警    0:正常)
    public Byte alarmEleMiss ; //交流缺项报警    (1:三相缺项报警    0:正常)
    public Byte alarmEleExceed ; //交流过流报警 (1:交流过流报警    0:正常)
    public Byte alarmEleLowVolt ; //三相电欠压报警    (1:欠压报警        0:正常)
    public Byte stateIcEnable ; //IC卡使能 (1:IC有刷卡支持    0:不支持)
    public Byte alarmBlockValve; //阀门故障报警 (1:阀门堵转   0:阀门正常(不堵转))
    public Byte stateOpClValve ; //阀门开关状态 (1:开关阀不到位    0:开关阀到位)
 
    public boolean hasAlarm(){
        boolean flag = false ;
        if((alarmBatteryVolt != null && alarmBatteryVolt == 1) ||
                (alarmWaterMeterFault != null && alarmWaterMeterFault == 1) ||
                (alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1) ||
                (alarmSteal != null && alarmSteal == 1) ||
                (alarmBlockValve != null && alarmBlockValve == 1) ){
            flag = true ;
        }
        return flag ;
    }
 
    public boolean hasAlarmExcludeLoss(){
        boolean flag = false ;
        if((alarmBatteryVolt != null && alarmBatteryVolt == 1) ||
                (alarmWaterMeterFault != null && alarmWaterMeterFault == 1) ||
                (alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1)||
                (alarmBlockValve != null && alarmBlockValve == 1) ){
            flag = true ;
        }
        return flag ;
    }
 
    public String alarmContent(){
        String txt = "" ;
        boolean hasTxt = false ;
        if(alarmBatteryVolt != null && alarmBatteryVolt == 1){
            txt += (hasTxt?"、":"") + "电池电压低报警" ;
            hasTxt = true ;
        }
        if(alarmWaterMeterFault != null && alarmWaterMeterFault == 1){
            txt += (hasTxt?"、":"") + "外部流量计故障报警" ;
            hasTxt = true ;
        }
        if(alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1){
            txt += (hasTxt?"、":"") + "流量计故障报警" ;
            hasTxt = true ;
        }
        if(alarmSteal != null && alarmSteal == 1){
            txt += (hasTxt?"、":"") + "漏损报警" ;
            hasTxt = true ;
        }
       if(alarmBlockValve != null && alarmBlockValve == 1){
            txt += (hasTxt?"、":"") + "阀门故障报警" ;
            hasTxt = true ;
        }
        return txt ;
    }
 
    public String alarmContentExcludeLoss(){
        String txt = "" ;
        boolean hasTxt = false ;
        if(alarmBatteryVolt != null && alarmBatteryVolt == 1){
            txt += (hasTxt?"、":"") + "电池电压低报警" ;
            hasTxt = true ;
        }
        if(alarmWaterMeterFault != null && alarmWaterMeterFault == 1){
            txt += (hasTxt?"、":"") + "外部流量计故障报警" ;
            hasTxt = true ;
        }
        if(alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1){
            txt += (hasTxt?"、":"") + "流量计故障报警" ;
            hasTxt = true ;
        }
        if(alarmBlockValve != null && alarmBlockValve == 1){
            txt += (hasTxt?"、":"") + "阀门故障报警" ;
            hasTxt = true ;
        }
        return txt ;
    }
    public String toString(){
        StringBuffer sb = new StringBuffer() ;
        sb.append("      泵/阀状态 : ") ;
        sb.append(statePump == null?"未知":(statePump.byteValue()==1?"泵/阀开":(statePump.byteValue()==0?"泵/阀关":"未知"))) ;
        sb.append("\n") ;
        sb.append("      剩余水量报警 : ") ;
        sb.append(alarmWaterRemain == null?"未知":(alarmWaterRemain.byteValue() == 0 ? "正常":(alarmWaterRemain.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      剩余0水量关泵/阀 : ") ;
        sb.append(alarm0WaterRemain == null?"未知":(alarm0WaterRemain.byteValue() == 0 ? "正常":(alarm0WaterRemain.byteValue() == 1 ? "关泵/阀":"未知"))) ;
        sb.append("\n") ;
        sb.append("      年度超采 : ") ;
        sb.append(alarmExceedYear == null?"未知":(alarmExceedYear.byteValue() == 0 ? "正常":(alarmExceedYear.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      流量计故障 : ") ;
        sb.append(alarmWaterMeterFault == null?"未知":(alarmWaterMeterFault.byteValue() == 0 ? "正常":(alarmWaterMeterFault.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      偷水 : ") ;
        sb.append(alarmSteal == null?"未知":(alarmSteal.byteValue() == 0 ? "正常":(alarmSteal.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      流量计损坏 : ") ;
        sb.append(alarmWaterMeterBreak == null?"未知":(alarmWaterMeterBreak.byteValue() == 0 ? "正常":(alarmWaterMeterBreak.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      电表故障 : ") ;
        sb.append(alarmEleMeterFault == null?"未知":(alarmEleMeterFault.byteValue() == 0 ? "正常":(alarmEleMeterFault.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      剩余0金额关泵/阀 : ") ;
        sb.append(alarm0MoneyRemain == null?"未知":(alarm0MoneyRemain.byteValue() == 0 ? "正常":(alarm0MoneyRemain.byteValue() == 1 ? "关泵/阀":"未知"))) ;
        sb.append("\n") ;
        sb.append("      控制器内门 : ") ;
        sb.append(alarmDoor == null?"未知":(alarmDoor.byteValue() == 0 ? "正常":(alarmDoor.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      电池电压低 : ") ;
        sb.append(alarmBatteryVolt == null?"未知":(alarmBatteryVolt.byteValue() == 0 ? "正常":(alarmBatteryVolt.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      交流缺项 : ") ;
        sb.append(alarmEleMiss == null?"未知":(alarmEleMiss.byteValue() == 0 ? "正常":(alarmEleMiss.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      交流过流 : ") ;
        sb.append(alarmEleExceed == null?"未知":(alarmEleExceed.byteValue() == 0 ? "正常":(alarmEleExceed.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      三相电欠压 : ") ;
        sb.append(alarmEleLowVolt == null?"未知":(alarmEleLowVolt.byteValue() == 0 ? "正常":(alarmEleLowVolt.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
        sb.append("      IC卡功能 : ") ;
        sb.append(stateIcEnable == null?"未知":(stateIcEnable.byteValue() == 0 ? "无效":(stateIcEnable.byteValue() == 1 ? "有效":"未知"))) ;
        sb.append("\n") ;
        sb.append("      阀门开关状态 : ") ;
        sb.append(stateOpClValve == null?"未知":(stateOpClValve.byteValue() == 0 ? "正常":(stateOpClValve.byteValue() == 1 ? "未到位":"未知"))) ;
        sb.append("\n") ;
        sb.append("      阀门堵转报警 : ") ;
        sb.append(alarmBlockValve == null?"未知":(alarmBlockValve.byteValue() == 0 ? "正常":(alarmBlockValve.byteValue() == 1 ? "报警":"未知"))) ;
        sb.append("\n") ;
 
        return sb.toString() ;
    }
 
}