|  |  |  | 
|---|
|  |  |  | 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/1/16 11:03 | 
|---|
|  |  |  | * @LastEditTime 2024/1/16 11:03 | 
|---|
|  |  |  | * @Description 控制器报警与状态(历史) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * @Author: liurunyu | 
|---|
|  |  |  | * @Date: 2024/5/20 20:20 | 
|---|
|  |  |  | * @Description | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 控制器报警与状态(历史) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @TableName(value="rm_alarm_state_history", autoResultMap = true) | 
|---|
|  |  |  | @Data | 
|---|
|  |  |  | @Builder | 
|---|
|  |  |  | 
|---|
|  |  |  | @AllArgsConstructor | 
|---|
|  |  |  | @Schema(name = "控制器报警与状态(历史)") | 
|---|
|  |  |  | public class RmAlarmStateHistory implements BaseEntity { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final long serialVersionUID = 202401161104001L; | 
|---|
|  |  |  | public static final long serialVersionUID = 202405202021001L; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 主键 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 控制器实体ID(外键) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "控制器实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|---|
|  |  |  | public Long controllerid; | 
|---|
|  |  |  | public Long controllerId; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 取水口ID(外键) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "取水口实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|---|
|  |  |  | public Long intakeid; | 
|---|
|  |  |  | public Long intakeId; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 控制器地址 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "控制器地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public String rtuaddr; | 
|---|
|  |  |  | public String rtuAddr; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 上报日期时间 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "上报日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
|---|
|  |  |  | public Date dt; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 控制器时钟 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
|---|
|  |  |  | public Date rtudt; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 报警-蓄电池电压(1报警,0正常) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "报警-蓄电池电压(1报警,0正常)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte bateryvolt; | 
|---|
|  |  |  | public Date rtuDt; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 报警-漏损(1报警,0正常) | 
|---|
|  |  |  | * 状态-阀门/泵(1打开、0关闭) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "报警-蓄电池电压(1报警,0正常)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte loss; | 
|---|
|  |  |  | public Byte valveState; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 报警-仪表(1报警,0正常) | 
|---|
|  |  |  | * 剩余水量小于报警上限报警报警(1:报警, 0:正常) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "报警-仪表(1报警,0正常)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte meter; | 
|---|
|  |  |  | public Byte alarmRemainWater; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 报警-阀门(1报警,0正常) | 
|---|
|  |  |  | * 剩余水量为0关泵/阀(1:关泵,0:正常) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "报警-阀门(1报警,0正常)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte valve; | 
|---|
|  |  |  | public Byte alarm0WaterRemain; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 状态-IC卡功能(1有效、0无效) | 
|---|
|  |  |  | * 年用水量大于限制水量报警(1:报警 0:正常) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "状态-IC卡功能(1有效、0无效)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte iccard; | 
|---|
|  |  |  | public Byte alarmExceedYear; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 状态-工作(1启动、0停止) | 
|---|
|  |  |  | * 流量计故障(1:报警,0:正常) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "报警-仪表(1报警,0正常)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte working; | 
|---|
|  |  |  | public Byte alarmWaterMeterFault; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 状态-阀门(1打开、0关闭) | 
|---|
|  |  |  | * 漏损(偷水)报警(1:报警, 0:正常) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "状态-阀门(1打开、0关闭)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte valvestate; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 2025-02-19 含义变为 电池电压报警(1:报警,0:正常) | 
|---|
|  |  |  | * 控制器外门打开报警(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 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:蓄电池) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|