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_0_0.DataV1_0_1; import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataAlarmVo; import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataStateVo; 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 void valueFrom(DataV1_0_1 dV1_0_1, String rtuDt, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception{ this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.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_0_1 dV1_0_1, String rtuDt, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception{ this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.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 ; }*/ } }