liurunyu
18 小时以前 0639f7feede9614a98f64450792cc83f58f80a84
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
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:关泵/阀)(测控一体阀:0:开泵/阀;1:关泵/阀)
    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(statePump == null?"未知":(statePump.byteValue()==0?"泵/阀开":(statePump.byteValue()==1?"泵/阀关":"未知"))) ;
        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() ;
    }
 
 
    public String toStr(){
        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() ;
    }
 
}