| New file | 
 |  |  | 
 |  |  | package com.dy.common.mw.protocol.rtuState; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.annotation.JSONField; | 
 |  |  | import com.dy.common.util.DateTime; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * RTU在通信中间件中的运行状态 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | public class RtuStatus { | 
 |  |  |  | 
 |  |  |    public String rtuAddr ;//rtu地址 | 
 |  |  |    public String ip ;//RTU端IP | 
 |  |  |    public Integer port ;//RTU端端口 | 
 |  |  |    public String onLineDt ;//最近上线时刻 | 
 |  |  |    public String offLineDt ;//最近离线时刻 | 
 |  |  |  | 
 |  |  |    public String protocolName ;//协议名称 | 
 |  |  |    public Short protocolVersion ;//协议版本号 | 
 |  |  |  | 
 |  |  |    public Boolean valveOpenTrueCloseFalse ;//阀门状态(true为开启状态,false为关闭态) | 
 |  |  |    public String valveOpenLastDt ;//最后设置阀门开启状态时刻 | 
 |  |  |    public String valveCloseLastDt ;//最后设置阀门关闭状态时刻 | 
 |  |  |    @JSONField(serialize = false) | 
 |  |  |    public Long valveStatusLastTimeStamp ;//最后设置阀门状态时刻 | 
 |  |  |  | 
 |  |  |    @JSONField(serialize = false) | 
 |  |  |    public String lastUpCode ;//最近一次上行数据的功能码 | 
 |  |  |    public String lastUpCodeName ;//最近一次上行数据的功能码名称 | 
 |  |  |    public String lastUpDt ;//最近一次上行数据的时刻 | 
 |  |  |  | 
 |  |  |    @JSONField(serialize = false) | 
 |  |  |    public String lastDownCode ;//最近一次下行数据的功能码 | 
 |  |  |    public String lastDownCodeName ;//最近一次下行数据的功能码名称 | 
 |  |  |    public String lastDownDt ;//最近一次下行数据的时刻 | 
 |  |  |  | 
 |  |  |    @JSONField(serialize = false) | 
 |  |  |    public String lastSuccessCommandCode ;//最近一次成功命令的功能码 | 
 |  |  |    public String lastSuccessCommandCodeName ;//最近一次成功命令的功能码名称 | 
 |  |  |    public String lastSuccessCommandDt ;//最近一次成功命令的时刻 | 
 |  |  |  | 
 |  |  |    @JSONField(serialize = false) | 
 |  |  |    public String lastFailureCommandCode ;//最近一次失败命令的功能码 | 
 |  |  |    public String lastFailureCommandCodeName ;//最近一次失败命令的功能码名称 | 
 |  |  |    public String lastFailureCommandDt ;//最近一次失败命令的时刻 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |    public void onLine(String rtuAddr, String ip, Integer port, String protocolName, Short protocolVersion){ | 
 |  |  |       this.rtuAddr = rtuAddr ; | 
 |  |  |       this.ip = ip ; | 
 |  |  |       this.port = port ; | 
 |  |  |       this.onLineDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |       this.protocolName = protocolName ; | 
 |  |  |       this.protocolVersion = protocolVersion ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void offLine(){ | 
 |  |  |       this.offLineDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void upData(String code, String codeName, Integer bufferLen){ | 
 |  |  |       this.lastUpCode = code ; | 
 |  |  |       this.lastUpCodeName = codeName ; | 
 |  |  |       this.lastUpDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void downData(String code, String codeName, Integer bufferLen){ | 
 |  |  |       this.lastDownCode = code ; | 
 |  |  |       this.lastDownCodeName = codeName ; | 
 |  |  |       this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void commandSuccess(String code, String codeName){ | 
 |  |  |       this.lastSuccessCommandCode = code ; | 
 |  |  |       this.lastSuccessCommandCodeName = codeName ; | 
 |  |  |       this.lastSuccessCommandDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void commandFailure(String code, String codeName){ | 
 |  |  |       this.lastFailureCommandCode = code ; | 
 |  |  |       this.lastFailureCommandCodeName = codeName ; | 
 |  |  |       this.lastFailureCommandDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void valveOpen(){ | 
 |  |  |       if(this.valveOpenTrueCloseFalse == null || !this.valveOpenTrueCloseFalse.booleanValue()){ | 
 |  |  |          this.valveOpenTrueCloseFalse = true ; | 
 |  |  |          this.valveOpenLastDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |          this.valveCloseLastDt = null ; | 
 |  |  |          this.valveStatusLastTimeStamp = System.currentTimeMillis() ; | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public void valveClose(){ | 
 |  |  |       if(this.valveOpenTrueCloseFalse == null || this.valveOpenTrueCloseFalse.booleanValue()){ | 
 |  |  |          this.valveOpenTrueCloseFalse = false ; | 
 |  |  |          this.valveCloseLastDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; | 
 |  |  |          this.valveStatusLastTimeStamp = System.currentTimeMillis() ; | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | } |