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
package com.dy.common.mw.protocol.p206V1_0_0;
 
public class CodeV1_0_1 {
    //功能码为字符串,十六进制数据
    public static final String cd_02 = "02" ;//遥测站链路检测
    public static final String cd_10 = "10" ;//设置遥测站终端地址
    public static final String cd_21 = "21" ;//设置服务端IP和端口
    public static final String cd_35 = "35" ;//设置自报周期
    public static final String cd_36 = "36" ;//设置主信道IP和端口
    public static final String cd_37 = "37" ;//设置流量采集周期
    public static final String cd_38 = "38" ;//设置用户余额报警值
    public static final String cd_39 = "39" ;//设置电池电压报警值
    public static final String cd_3A = "3A" ;//设置阀门堵转电流
    public static final String cd_3B = "3B" ;//设置阀门超时时间
    public static final String cd_50 = "50" ;//查询遥测站终端地址
    public static final String cd_65 = "65" ;//查询自报周期
    public static final String cd_66 = "66" ;//查询IP和端口
    //public static final String cd_66 = "66" ;//查询阀门状态(靳总把该命令设计成召测83功能码数据的命令了,因为这个命令回执没有阀门状态数据域,所以这个命令只能作为召测命令用了)
    public static final String cd_67 = "67" ;//查询流量采集周期
    public static final String cd_68 = "68" ;//查询用户余额报警值
    public static final String cd_69 = "69" ;//查询电池电压报警值
    public static final String cd_6A = "6A" ;//查询阀门堵转电流值
    public static final String cd_6B = "6B" ;//查询阀门超时时间
    public static final String cd_71 = "71" ;//设置工作模式(李天赐制定的协议,当前未实现)
    public static final String cd_81 = "81" ;//随机自报报
    public static final String cd_83 = "83" ;//遥测站开关阀自报
    public static final String cd_84 = "84" ;//开阀工作报
    public static final String cd_91 = "91" ;//清空历史记录
    public static final String cd_92 = "92" ;//遥控启动阀门
    public static final String cd_93 = "93" ;//遥控关闭阀门
    public static final String cd_97 = "97" ;//APP远程开阀
    public static final String cd_98 = "98" ;//APP远程关阀
    public static final String cd_3C = "3C" ;//设置水价
    public static final String cd_6C = "6C" ;//查询水价
    public static final String cd_3D = "3D" ;//设置黑名单
    public static final String cd_C0 = "C0" ;//遥测站自报实时数据
 
    public static String getCodeName(String code) {
        String name = (code.equals(cd_02) ? "链路检测" :
            (code.equals(cd_10) ? "设置遥测站终端地址" :
            (code.equals(cd_21) ? "设置IP和端口" :
            (code.equals(cd_35) ? "设置自报周期" :
            (code.equals(cd_36) ? "设置IP和端口" :
            (code.equals(cd_37) ? "设置流量采集周期" :
            (code.equals(cd_38) ? "设置用户余额报警值" :
            (code.equals(cd_39) ? "设置电池电压报警值" :
            (code.equals(cd_3A) ? "设置阀门堵转电流" :
            (code.equals(cd_3B) ? "设置阀门超时时间" :
            (code.equals(cd_50) ? "查询遥测站终端地址" :
            (code.equals(cd_65) ? "查询自报周期" :
            (code.equals(cd_66) ? "查询IP和端口" :
            (code.equals(cd_67) ? "查询流量采集周期" :
            (code.equals(cd_68) ? "查询用户余额报警值" :
            (code.equals(cd_69) ? "查询电池电压报警值" :
            (code.equals(cd_6A) ? "查询阀门堵转电流值" :
            (code.equals(cd_6B) ? "查询阀门超时时间" :
            (code.equals(cd_71) ? "设置工作模式" :
            (code.equals(cd_81) ? "随机自报" :
            (code.equals(cd_83) ? "开关阀自报" :
            (code.equals(cd_84) ? "开阀工作报" :
            (code.equals(cd_91) ? "清空历史记录" :
            (code.equals(cd_92) ? "遥控启动阀门" :
            (code.equals(cd_93) ? "遥控关闭阀门" :
            (code.equals(cd_97) ? "APP远程开阀" :
            (code.equals(cd_98) ? "PP远程关阀" :
            (code.equals(cd_3C) ? "设置水价" :
            (code.equals(cd_6C) ? "查询水价" :
            (code.equals(cd_3D) ? "设置黑名单" :
            (code.equals(cd_C0) ? "自报实时数据" :
            ""))))))))))))))))))))))))))))))) ;
        return name ;
    }
 
    /**
     * 是否为有效功能码
     * @param code 功能码
     * @return 有效true,无效false
     */
    public static boolean isValid(String code){
        String name = getCodeName(code) ;
        if(name != null && !name.equals("")){
            return true ;
        }
        return false ;
    }
}