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