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