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