liurunyu
2024-05-17 22139031145838326262323b61d61ecc46617397
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
package com.dy.common.mw.protocol;
 
import com.alibaba.fastjson2.JSON;
 
import java.io.Serial;
 
/**
 * 数据根
 *
 */
public class Data  implements java.io.Serializable{
    @Serial
    private static final long serialVersionUID = 20160805192500101L;
 
    public String rtuResultSendWebUrl ;//rtu返回命令结果 发向目的地web URL
    public String commandId ;//命令ID,可能为null
    public String rtuAddr ;//终端地址
    public String protocol ;//数据所对应的协议名称
    public String code ;//数据所对应的功能码:
    public Object subData ;//对应各个功能码的具体数据
    public String hex ;//上报数据的十六进制
 
    public String toString() {
        StringBuilder sb = new StringBuilder() ;
        sb.append("上行报文(十六进制): ").append((hex == null?"":hex)).append("\n") ; //
        sb.append("Rtu地址 : ").append((rtuAddr==null?"":rtuAddr)).append("\n") ;
        if(rtuResultSendWebUrl != null){
            sb.append("命令结果发往 : ").append(rtuResultSendWebUrl).append("\n") ; //rtu返回命令结果 发向目的地web URL
        }
        if(commandId != null){
            sb.append("命令ID : ").append(commandId).append("\n") ; //命令ID
        }
        sb.append("协议 : ").append((protocol == null?"":protocol)).append("\n") ; //
        sb.append((code == null ? "" : ("功能码:" + code + "\n"))) ;
        if(this.subData  != null){
            sb.append("上行数据:\n").append(this.subData) ;
        }
        return sb.toString() ;
    }
 
 
    /**
     * 对象转成json
     * @return 对象
     */
    public String toJson(){
        return JSON.toJSONString(this);
    }
    /**
     * json转成对象
     * @param json json
     * @return Data Date
     */
    @SuppressWarnings("unused")
    public static Data jsonToObject(String json){
        return JSON.parseObject(json, Data.class) ;
    }
 
    /*
    public static void main(String[] rags) throws Exception{
        Data d = new Data() ;
        d.code = "01" ;
        d.rtuAddr = "123234" ;
 
        DataV1_0_1 subD = new DataV1_0_1() ;
        subD.rtuAddr = "2342345" ;
 
        d.subData = subD ;
        
        
        DataCd01Vo cd1Vo = new DataCd01Vo() ;
        cd1Vo.dt = "345w" ;
        
        subD.dataCd01Vo = cd1Vo ;
        
        String json = d.toJson() ;
        
        System.out.println(json);
    }
    */
 
    public String getRtuAddr() {
        return rtuAddr;
    }
 
    public void setRtuAddr(String rtuAddr) {
        this.rtuAddr = rtuAddr;
    }
 
    public String getCode() {
        return code;
    }
 
    public void setCode(String code) {
        this.code = code;
    }
 
    public String getProtocol() {
        return protocol;
    }
    
    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }
    
    public Object getSubData() {
        return subData;
    }
 
    public void setSubData(Object subData) {
        this.subData = subData;
    }
 
    @SuppressWarnings("unused")
    public String getHex() {
        return hex;
    }
 
    public void setHex(String hex) {
        this.hex = hex;
    }
 
    public String getRtuResultSendWebUrl() {
        return rtuResultSendWebUrl;
    }
    /**
     * 得到rtu返回命令结果 发向目的地web URL
     * 如果是主动上报数据,则此web URL为空
     * @return  rtuResultSendWebUrl
     */
    public void setRtuResultSendWebUrl(String rtuResultSendWebUrl) {
        this.rtuResultSendWebUrl = rtuResultSendWebUrl;
    }
 
    public void setCommandId(String commandId) {
        this.commandId = commandId;
    }
    /**
     * 得到上行数据对应的命令ID 
     * 如果是主动上报数据,则此ID为空
     * @return  commandId
     */
    public String getCommandId(){
        return this.commandId ;
    }
 
    
 
}