| New file | 
 |  |  | 
 |  |  | 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 ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  | } |