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 Short protocolVer;//数据所对应的协议版本号(1~255)
|
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("协议版本号 : ").append((protocolVer == null?"":protocolVer)).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 subD = new DataV1() ;
|
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 Short getProtocolVer() {
|
return protocolVer;
|
}
|
|
public void setProtocolVer(Short protocolVer) {
|
this.protocolVer = protocolVer;
|
}
|
|
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 ;
|
}
|
|
|
|
}
|