package com.dy.pipIrrGlobal.pojoRm; 
 | 
  
 | 
import com.alibaba.fastjson2.annotation.JSONField; 
 | 
import com.alibaba.fastjson2.writer.ObjectWriterImplToString; 
 | 
import com.baomidou.mybatisplus.annotation.IdType; 
 | 
import com.baomidou.mybatisplus.annotation.TableId; 
 | 
import com.baomidou.mybatisplus.annotation.TableName; 
 | 
import com.dy.common.mw.protocol.p206V1.DataV1; 
 | 
import com.dy.common.mw.protocol.p206V2.DataV2; 
 | 
import com.dy.common.po.BaseEntity; 
 | 
import com.dy.common.util.DateTime; 
 | 
import com.fasterxml.jackson.annotation.JsonFormat; 
 | 
import io.swagger.v3.oas.annotations.media.Schema; 
 | 
import lombok.*; 
 | 
  
 | 
import java.util.Date; 
 | 
  
 | 
/** 
 | 
 * @Author: liurunyu 
 | 
 * @Date: 2024/5/20 19:55 
 | 
 * @Description 
 | 
 */ 
 | 
  
 | 
/** 
 | 
 * 控制器报警与状态(最新) 
 | 
 */ 
 | 
@TableName(value="rm_alarm_state_last", autoResultMap = true) 
 | 
@Data 
 | 
@Builder 
 | 
@ToString 
 | 
@NoArgsConstructor 
 | 
@AllArgsConstructor 
 | 
@Schema(name = "控制器报警与状态(最新)") 
 | 
public class RmAlarmStateLast implements BaseEntity { 
 | 
    public static final long serialVersionUID = 202405202021002L; 
 | 
    /** 
 | 
     * 主键 
 | 
     */ 
 | 
    @JSONField(serializeUsing= ObjectWriterImplToString.class) 
 | 
    @TableId(type = IdType.INPUT) 
 | 
    public Long id; 
 | 
  
 | 
    /** 
 | 
     * 控制器实体ID(外键) 
 | 
     */ 
 | 
    @JSONField(serializeUsing= ObjectWriterImplToString.class) 
 | 
    public Long controllerId; 
 | 
  
 | 
    /** 
 | 
     * 取水口ID(外键) 
 | 
     */ 
 | 
    @JSONField(serializeUsing= ObjectWriterImplToString.class) 
 | 
    public Long intakeId; 
 | 
  
 | 
    /** 
 | 
     * 控制器地址 
 | 
     */ 
 | 
    public String rtuAddr; 
 | 
  
 | 
    /** 
 | 
     * 上报日期时间 
 | 
     */ 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 
 | 
    public Date dt; 
 | 
  
 | 
    /** 
 | 
     * 控制器时钟 
 | 
     */ 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 
 | 
    public Date rtuDt; 
 | 
  
 | 
    /** 
 | 
     * 状态-阀门/泵(0打开、1关闭) 
 | 
     */ 
 | 
    public Byte valveState; 
 | 
  
 | 
    /** 
 | 
     * 剩余水量小于报警上限报警报警(1:报警, 0:正常) 
 | 
     */ 
 | 
    public Byte alarmRemainWater; 
 | 
  
 | 
    /** 
 | 
     * 剩余水量为0关泵/阀(1:关泵,0:正常) 
 | 
     */ 
 | 
    public Byte alarm0WaterRemain; 
 | 
  
 | 
    /** 
 | 
     * 年用水量大于限制水量报警(1:报警 0:正常) 
 | 
     */ 
 | 
    public Byte alarmExceedYear; 
 | 
  
 | 
    /** 
 | 
     * 流量计故障(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmWaterMeterFault; 
 | 
  
 | 
    /** 
 | 
     * 漏损(偷水)报警(1:报警, 0:正常) 
 | 
     */ 
 | 
    public Byte alarmLoss; 
 | 
  
 | 
    /** 
 | 
     * 流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmWaterMeterBreak; 
 | 
  
 | 
    /** 
 | 
     * 电表故障报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmEleMeterFault; 
 | 
  
 | 
    /** 
 | 
     * 剩余金额为0(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarm0MoneyRemain; 
 | 
  
 | 
    /** 
 | 
     * 控制器内门报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmInnerDoor; 
 | 
  
 | 
    /** 
 | 
     * 控制器外门打开报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmOuterDoor; 
 | 
  
 | 
    /** 
 | 
     * 交流缺项报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmEleMiss; 
 | 
  
 | 
    /** 
 | 
     * 交流过流报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmEleExceed; 
 | 
  
 | 
    /** 
 | 
     * 三相电欠压报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmEleLowVolt; 
 | 
  
 | 
    /** 
 | 
     * IC卡状态(1、有效,0:无效) 
 | 
     */ 
 | 
    public Byte stateIcEnable; 
 | 
  
 | 
    /** 
 | 
     * 电池电压(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmBatteryVolt; 
 | 
  
 | 
    /** 
 | 
     * 阀门报警(1:报警,0:正常) 
 | 
     */ 
 | 
    public Byte alarmValve; 
 | 
  
 | 
    /** 
 | 
     * 供电方式(0: 220V,1:蓄电池) 
 | 
     */ 
 | 
    public Byte powerType; 
 | 
  
 | 
    /** 
 | 
     * 发送消息时刻 
 | 
     */ 
 | 
    public Long sendMsTime ; 
 | 
  
 | 
    public void valueFrom(DataV1 dV1, String rtuDt, 
 | 
                          com.dy.common.mw.protocol.p206V1.upVos.DataAlarmVo alarmVo, 
 | 
                          com.dy.common.mw.protocol.p206V1.upVos.DataStateVo stateVo) throws Exception{ 
 | 
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt)   ; 
 | 
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt)  ; 
 | 
        this.valveState = stateVo==null?null:stateVo.valveState; //状态-阀门/泵(1打开、0关闭 
 | 
        this.alarmRemainWater = (byte)0; //剩余水量报警    (1:小于报警上限报警 0:正常) 
 | 
        this.alarm0WaterRemain = (byte)0; //剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常) 
 | 
        this.alarmExceedYear = (byte)0; //年用水量大于限制水量报警(1:报警 0:正常) 
 | 
        this.alarmWaterMeterFault = alarmVo==null?null:alarmVo.meter; // 流量计故障(1:报警,0:正常) 
 | 
        this.alarmLoss = alarmVo==null?null:alarmVo.loss; // 漏损(偷水)报警(1:报警, 0:正常) 
 | 
        this.alarmWaterMeterBreak = (byte)0; //流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常) 
 | 
        this.alarmEleMeterFault = (byte)0; //电表故障报警(1:报警,0:正常) 
 | 
        this.alarm0MoneyRemain = (byte)0; //剩余金额为0(1:报警,0:正常) 
 | 
        this.alarmInnerDoor = (byte)0; //控制器内门报警(1:报警,0:正常) 
 | 
        this.alarmOuterDoor = (byte)0; //控制器外门打开报警(1:报警,0:正常) 
 | 
        this.alarmEleMiss = (byte)0; //交流缺项报警(1:报警,0:正常) 
 | 
        this.alarmEleExceed = (byte)0; //交流过流报警(1:报警,0:正常) 
 | 
        this.alarmEleLowVolt = (byte)0; //三相电欠压报警(1:报警,0:正常) 
 | 
        this.stateIcEnable = stateVo==null?null:stateVo.icCard; //IC卡状态(1、有效,0:无效) 
 | 
        this.alarmBatteryVolt = alarmVo==null?null:alarmVo.batteryVolt; //电池电压(1:报警,0:正常) 
 | 
        this.alarmValve = alarmVo==null?null:alarmVo.valve; //阀门报警(1:报警,0:正常) 
 | 
        this.powerType = stateVo==null?null:stateVo.powerType; //供电方式(0: 220V,1:蓄电池) 
 | 
    } 
 | 
  
 | 
    public void valueFrom(DataV2 dV2, String rtuDt, 
 | 
                          com.dy.common.mw.protocol.p206V2.upVos.DataAlarmVo alarmVo, 
 | 
                          com.dy.common.mw.protocol.p206V2.upVos.DataStateVo stateVo) throws Exception{ 
 | 
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.dt)   ; 
 | 
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt)  ; 
 | 
        this.valveState = stateVo==null?null:stateVo.valveState; //状态-阀门/泵(1打开、0关闭 
 | 
        this.alarmRemainWater = (byte)0; //剩余水量报警    (1:小于报警上限报警 0:正常) 
 | 
        this.alarm0WaterRemain = (byte)0; //剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常) 
 | 
        this.alarmExceedYear = (byte)0; //年用水量大于限制水量报警(1:报警 0:正常) 
 | 
        this.alarmWaterMeterFault = alarmVo==null?null:alarmVo.meter; // 流量计故障(1:报警,0:正常) 
 | 
        this.alarmLoss = alarmVo==null?null:alarmVo.loss; // 漏损(偷水)报警(1:报警, 0:正常) 
 | 
        this.alarmWaterMeterBreak = (byte)0; //流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常) 
 | 
        this.alarmEleMeterFault = (byte)0; //电表故障报警(1:报警,0:正常) 
 | 
        this.alarm0MoneyRemain = (byte)0; //剩余金额为0(1:报警,0:正常) 
 | 
        this.alarmInnerDoor = (byte)0; //控制器内门报警(1:报警,0:正常) 
 | 
        this.alarmOuterDoor = (byte)0; //控制器外门打开报警(1:报警,0:正常) 
 | 
        this.alarmEleMiss = (byte)0; //交流缺项报警(1:报警,0:正常) 
 | 
        this.alarmEleExceed = (byte)0; //交流过流报警(1:报警,0:正常) 
 | 
        this.alarmEleLowVolt = (byte)0; //三相电欠压报警(1:报警,0:正常) 
 | 
        this.stateIcEnable = stateVo==null?null:stateVo.icCard; //IC卡状态(1、有效,0:无效) 
 | 
        this.alarmBatteryVolt = alarmVo==null?null:alarmVo.batteryVolt; //电池电压(1:报警,0:正常) 
 | 
        this.alarmValve = alarmVo==null?null:alarmVo.valve; //阀门报警(1:报警,0:正常) 
 | 
        this.powerType = stateVo==null?null:stateVo.powerType; //供电方式(0: 220V,1:蓄电池) 
 | 
    } 
 | 
  
 | 
    public void updateFrom(DataV1 dV1, String rtuDt, 
 | 
                           com.dy.common.mw.protocol.p206V1.upVos.DataAlarmVo alarmVo, 
 | 
                           com.dy.common.mw.protocol.p206V1.upVos.DataStateVo stateVo) throws Exception{ 
 | 
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt) ; 
 | 
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ; 
 | 
        if(alarmVo != null){ 
 | 
            this.alarmBatteryVolt = alarmVo.batteryVolt ; 
 | 
            this.alarmLoss = alarmVo.loss ; 
 | 
            this.alarmWaterMeterBreak = alarmVo.meter ; 
 | 
            this.alarmValve = alarmVo.valve ; 
 | 
        }/*else{ 
 | 
            this.alarmBatteryVolt = null ; 
 | 
            this.alarmLoss = null ; 
 | 
            this.alarmWaterMeterBreak = null ; 
 | 
            this.alarmValve = null ; 
 | 
        }*/ 
 | 
        if(stateVo != null){ 
 | 
            this.stateIcEnable = stateVo.icCard ; 
 | 
            this.valveState = stateVo.valveState; 
 | 
            this.powerType = stateVo.powerType; 
 | 
            //this.valveState = stateVo.valve ; 
 | 
        }/*else{ 
 | 
            this.stateIcEnable = null ; 
 | 
            this.valveState = null ; 
 | 
            this.powerType = null ; 
 | 
            //this.valveState = null ; 
 | 
        }*/ 
 | 
    } 
 | 
  
 | 
    public void updateFrom(DataV2 dV2, String rtuDt, 
 | 
                           com.dy.common.mw.protocol.p206V2.upVos.DataAlarmVo alarmVo, 
 | 
                           com.dy.common.mw.protocol.p206V2.upVos.DataStateVo stateVo) throws Exception{ 
 | 
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.dt) ; 
 | 
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ; 
 | 
        if(alarmVo != null){ 
 | 
            this.alarmBatteryVolt = alarmVo.batteryVolt ; 
 | 
            this.alarmLoss = alarmVo.loss ; 
 | 
            this.alarmWaterMeterBreak = alarmVo.meter ; 
 | 
            this.alarmValve = alarmVo.valve ; 
 | 
        }/*else{ 
 | 
            this.alarmBatteryVolt = null ; 
 | 
            this.alarmLoss = null ; 
 | 
            this.alarmWaterMeterBreak = null ; 
 | 
            this.alarmValve = null ; 
 | 
        }*/ 
 | 
        if(stateVo != null){ 
 | 
            this.stateIcEnable = stateVo.icCard ; 
 | 
            this.valveState = stateVo.valveState; 
 | 
            this.powerType = stateVo.powerType; 
 | 
            //this.valveState = stateVo.valve ; 
 | 
        }/*else{ 
 | 
            this.stateIcEnable = null ; 
 | 
            this.valveState = null ; 
 | 
            this.powerType = null ; 
 | 
            //this.valveState = null ; 
 | 
        }*/ 
 | 
    } 
 | 
} 
 |