| | |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | |
| | | import java.io.Serial; |
| | | |
| | | /** |
| | | * 数据根 |
| | | * @author Administrator |
| | | * |
| | | */ |
| | | public class Data implements java.io.Serializable{ |
| | | |
| | | @Serial |
| | | private static final long serialVersionUID = 20160805192500101L; |
| | | |
| | | public static String ALIAS = Data.class.getName() ; |
| | | |
| | | private String commandId ;//命令ID,可能为null |
| | | private String rtuAddr ;//终端地址 |
| | | private String meterNo ;//水表号 |
| | | private String protocol ;//数据所对应的协议名称 |
| | | private String code ;//数据所对应的功能码: |
| | | private Object subData ;//对应各个功能码的具体数据 |
| | | private String hex ;//上报数据的十六进制 |
| | | |
| | | 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() { |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append("上行报文(十六进制): " + (hex == null?"":hex) + "\n") ; // |
| | | sb.append("IMEI号 : " + (rtuAddr==null?"":rtuAddr) + "\n") ; |
| | | sb.append("水表号 : " + (meterNo==null?"":meterNo) + "\n") ; |
| | | if(commandId != null){ |
| | | sb.append("命令ID : " + commandId + "\n") ; //命令ID |
| | | 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 |
| | | } |
| | | sb.append("协议 : " + (protocol == null?"":protocol) + "\n") ; // |
| | | 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" + this.subData.toString()) ; |
| | | sb.append("上行数据:\n").append(this.subData) ; |
| | | } |
| | | return sb.toString() ; |
| | | } |
| | |
| | | |
| | | /** |
| | | * 对象转成json |
| | | * @return json |
| | | * @throws Exception |
| | | * @return 对象 |
| | | */ |
| | | public String toJson()throws Exception{ |
| | | public String toJson(){ |
| | | return JSON.toJSONString(this); |
| | | } |
| | | /** |
| | | * json转成对象 |
| | | * @param json |
| | | * @return Data |
| | | * @throws Exception |
| | | * @param json json |
| | | * @return Data Date |
| | | */ |
| | | public static Data jsonToObject(String json)throws Exception{ |
| | | @SuppressWarnings("unused") |
| | | public static Data jsonToObject(String json){ |
| | | return JSON.parseObject(json, Data.class) ; |
| | | } |
| | | |
| | |
| | | Data d = new Data() ; |
| | | d.code = "01" ; |
| | | d.rtuAddr = "123234" ; |
| | | d.meterNo = "1234567890123456" ; |
| | | |
| | | DataV1_0_1 subD = new DataV1_0_1() ; |
| | | subD.rtuAddr = "2342345" ; |
| | | subD.meterNo = "1234567890123456" ; |
| | | |
| | | |
| | | d.subData = subD ; |
| | | |
| | | |
| | |
| | | public void setRtuAddr(String rtuAddr) { |
| | | this.rtuAddr = rtuAddr; |
| | | } |
| | | |
| | | public String getMeterNo() { |
| | | return meterNo; |
| | | } |
| | | public void setMeterNo(String meterNo) { |
| | | this.meterNo = meterNo; |
| | | } |
| | | |
| | | public String getCode() { |
| | | return code; |
| | | } |
| | |
| | | this.subData = subData; |
| | | } |
| | | |
| | | @SuppressWarnings("unused") |
| | | public String getHex() { |
| | | return 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; |
| | | } |