pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
New file
@@ -0,0 +1,159 @@
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 ;
   }
}