| 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.DataCd83CloseVo; | 
| import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo; | 
| import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd97Vo; | 
| import com.dy.common.mw.protocol.p206V202404.DataV202404; | 
| import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo; | 
| import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo; | 
| import com.dy.common.po.BaseEntity; | 
| import com.dy.common.util.DateTime; | 
| import com.dy.pipIrrGlobal.pojoPr.PrController; | 
| import com.fasterxml.jackson.annotation.JsonFormat; | 
| import io.swagger.v3.oas.annotations.media.Schema; | 
| import lombok.*; | 
|   | 
| import java.util.Date; | 
|   | 
| /** | 
|  * @Author: liurunyu | 
|  * @Date: 2024/7/1 15:29 | 
|  * @Description | 
|  */ | 
| @TableName(value="rm_open_close_valve_last", autoResultMap = true) | 
| @Data | 
| @Builder | 
| @ToString | 
| @NoArgsConstructor | 
| @AllArgsConstructor | 
| @Schema(name = "控制器开关阀上报最新数据") | 
| public class RmOpenCloseValveLast  implements BaseEntity { | 
|   | 
|     public static final long serialVersionUID = 202402231602001L; | 
|     /** | 
|      * 主键 | 
|      */ | 
|     @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) | 
|     @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|     @TableId(type = IdType.INPUT) | 
|     public Long id; | 
|   | 
|     /** | 
|      * 由最新数据持有历史数据中的最新记录ID,以方便快速查询 | 
|      * json不序列化此属性,即不向前端页面发送及显示 | 
|      */ | 
|     @Schema(hidden=true) | 
|     @JSONField(serialize = false) | 
|     public Long lastHistoryId; | 
|   | 
|     /** | 
|      * 农户实体ID(外键) | 
|      */ | 
|     @Schema(description = "农户实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|     public Long clientId; | 
|   | 
|     /** | 
|      * 农户姓名 | 
|      */ | 
|     @Schema(description = "农户姓名", requiredMode = Schema.RequiredMode.REQUIRED) | 
|     public String clientName; | 
|   | 
|     /** | 
|      * 控制器实体ID(外键) | 
|      */ | 
|     @Schema(description = "控制器实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|     public Long controllerId; | 
|   | 
|     /** | 
|      * 取水口实体ID(外键) | 
|      */ | 
|     @Schema(description = "取水口实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|     public Long intakeId; | 
|   | 
|     /** | 
|      * 控制器地址 | 
|      */ | 
|     @Schema(description = "控制器地址", requiredMode = Schema.RequiredMode.REQUIRED) | 
|     public String rtuAddr; | 
|   | 
|     /** | 
|      * 开阀数据接收日期时间 | 
|      */ | 
|     @Schema(description = "开阀数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
|     public Date opDt; | 
|   | 
|     /** | 
|      * 开阀类型 | 
|      */ | 
|     @Schema(description = "开阀类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Byte opType; | 
|   | 
|     /** | 
|      * 开阀时累计流量 | 
|      */ | 
|     @Schema(description = "开阀时累计流量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double opTotalAmount; | 
|   | 
|     /** | 
|      * 开阀IC卡编号 | 
|      */ | 
|     @Schema(description = "开阀IC卡编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public String opIcCardNo; | 
|   | 
|     /** | 
|      * 开阀ic卡地址 | 
|      */ | 
|     @Schema(description = "开阀ic卡地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public String opIcCardAddr; | 
|   | 
|     /** | 
|      * 开阀时剩余金额 | 
|      */ | 
|     @Schema(description = "开阀时剩余金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double opRemainMoney; | 
|   | 
|     /** | 
|      * 开阀订单号 | 
|      */ | 
|     @Schema(description = "开阀订单号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public String opOrderNo; | 
|   | 
|     /** | 
|      * 开阀时电表累计电量 | 
|      */ | 
|     @Schema(description = "开阀时电表累计电量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double opEleTotalAmount; | 
|   | 
|     /** | 
|      * 开阀时用水户剩余水量 | 
|      */ | 
|     @Schema(description = "开阀时用水户剩余水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double opWaterRemainUser; | 
|   | 
|     /** | 
|      * 开阀时控制器时钟 | 
|      */ | 
|     @Schema(description = "开阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Date openDt; | 
|   | 
|     /** | 
|      * 关阀数据接收日期时间 | 
|      */ | 
|     @Schema(description = "关阀数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Date clDt; | 
|   | 
|     /** | 
|      * 关阀类型 | 
|      */ | 
|     @Schema(description = "关阀类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Byte clType; | 
|   | 
|     /** | 
|      * 关阀时累计流量 | 
|      */ | 
|     @Schema(description = "关阀时累计流量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double clTotalAmount; | 
|   | 
|     /** | 
|      * 关阀时IC卡编号 | 
|      */ | 
|     @Schema(description = "关阀时IC卡编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public String clIcCardNo; | 
|   | 
|     /** | 
|      * 关阀时IC卡地址 | 
|      */ | 
|     @Schema(description = "关阀时IC卡地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public String clIcCardAddr; | 
|   | 
|     /** | 
|      * 关阀时剩余金额 | 
|      */ | 
|     @Schema(description = "关阀时剩余金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double clRemainMoney; | 
|   | 
|     /** | 
|      * 关阀报中本次用水量 | 
|      */ | 
|     @Schema(description = "关阀时本次用水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double clThisAmount; | 
|   | 
|     /** | 
|      * 关阀报中本次消费金额 | 
|      */ | 
|     @Schema(description = "关阀时本次消费金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Double clThisMoney; | 
|   | 
|     /** | 
|      * 关阀报中本次用水时长(分钟) | 
|      */ | 
|     @Schema(description = "关阀时本次用水时长(分钟)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Integer clThisTime; | 
|   | 
|     /** | 
|      * 关阀报中的开阀时控制器时钟 | 
|      */ | 
|     @Schema(description = "关阀报中的开阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Date clOpenDt; | 
|   | 
|     /** | 
|      * 关阀时控制器时钟 | 
|      */ | 
|     @Schema(description = "关阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|     public Date closeDt; | 
|   | 
|     /** | 
|      * 关阀订单号(16位数字) | 
|      */ | 
|     public String clOrderNo; | 
|   | 
|     /** | 
|      * 电表累计电量 | 
|      */ | 
|     public Double clEleTotalAmount; | 
|   | 
|     /** | 
|      * 用户剩余水量 | 
|      */ | 
|     public Double clWaterRemainUser; | 
|   | 
|     /** | 
|      * 本次使用电量 | 
|      */ | 
|     public Double clThisEle; | 
|   | 
|     public void valueFrom(DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception { | 
|         this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); | 
|         this.opType = dataCd83OpenVo.type; | 
|         this.opTotalAmount = dataCd83OpenVo.totalAmount; | 
|         this.opIcCardNo = dataCd83OpenVo.icCardNo; | 
|         this.opIcCardAddr = dataCd83OpenVo.icCardAddr; | 
|         this.opRemainMoney = dataCd83OpenVo.remainMoney; | 
|         this.opOrderNo = null; //江海协议特有 | 
|         this.opEleTotalAmount = null; //江海协议特有 | 
|         this.opWaterRemainUser = null; //江海协议特有 | 
|         this.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt); | 
|     } | 
|   | 
|   | 
|     public void valueFrom(DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo) throws Exception { | 
|         this.clDt =  DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); | 
|         this.clType = dataCd83CloseVo.type; | 
|         this.clTotalAmount = dataCd83CloseVo.totalAmount; | 
|         this.clIcCardNo = dataCd83CloseVo.icCardNo; | 
|         this.clIcCardAddr = dataCd83CloseVo.icCardAddr; | 
|         this.clRemainMoney = dataCd83CloseVo.remainMoney; | 
|         this.clThisAmount = dataCd83CloseVo.thisAmount; | 
|         this.clThisMoney = dataCd83CloseVo.thisMoney; | 
|         this.clThisTime = dataCd83CloseVo.thisTime; | 
|         this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt); | 
|         this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt); | 
|   | 
|         this.clOrderNo = null;//江海协议特有 | 
|         this.clEleTotalAmount = null;//江海协议特有 | 
|         this.clWaterRemainUser = null;//江海协议特有 | 
|         this.clThisEle = null;//江海协议特有 | 
|     } | 
|   | 
|     public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception { | 
|         this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt); | 
|         this.opType = null; | 
|         this.opTotalAmount = cdData.waterTotalAmount; | 
|         this.opIcCardNo = cdData.icCardNo; | 
|         this.opIcCardAddr = cdData.icCardAddr; | 
|         this.opRemainMoney = cdData.moneyRemainUser; | 
|         this.opOrderNo = cdData.orderNo; //江海协议特有 | 
|         this.opEleTotalAmount = cdData.eleTotalAmount; //江海协议特有 | 
|         this.opWaterRemainUser = cdData.waterRemainUser; //江海协议特有 | 
|         this.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.openDt); | 
|         this.clDt = null; | 
|         this.clType = null; | 
|         this.clTotalAmount = null; | 
|         this.clIcCardNo = null; | 
|         this.clIcCardAddr = null; | 
|         this.clRemainMoney = null; | 
|         this.clThisAmount = null; | 
|         this.clThisMoney = null; | 
|         this.clThisTime = null; | 
|         this.clOpenDt = null; | 
|         this.closeDt = null; | 
|   | 
|         this.clOrderNo = null;//江海协议特有 | 
|         this.clEleTotalAmount = null;//江海协议特有 | 
|         this.clWaterRemainUser = null;//江海协议特有 | 
|         this.clThisEle = null;//江海协议特有 | 
|     } | 
|   | 
|     public void valueFrom85(DataV202404 dataV202404, DataCd85Vo cdData) throws Exception { | 
|         this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt); | 
|         this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt); | 
|         this.opType = cdData.opType; | 
|         this.clIcCardAddr = cdData.icCardAddr; | 
|         this.clIcCardNo = cdData.icCardNo; | 
|         this.clTotalAmount = cdData.waterTotalAmount; | 
|         this.clRemainMoney = cdData.moneyRemain; | 
|         this.clThisAmount = cdData.thisWater; | 
|         this.clThisMoney = cdData.thisMoney; | 
|         this.clThisTime = cdData.thisDuration; | 
|         this.clOrderNo = cdData.orderNo; | 
|         this.clEleTotalAmount = cdData.eleTotalAmount; | 
|         this.clWaterRemainUser = cdData.waterRemain; | 
|         this.clThisEle = cdData.thisEle; | 
|     } | 
|   | 
|     public void updateFrom(DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, Boolean clearCloseValve) throws Exception { | 
|         this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); | 
|         this.opType = dataCd83OpenVo.type; | 
|         this.opTotalAmount = dataCd83OpenVo.totalAmount; | 
|         this.opIcCardNo = dataCd83OpenVo.icCardNo; | 
|         this.opIcCardAddr = dataCd83OpenVo.icCardAddr; | 
|         this.opRemainMoney = dataCd83OpenVo.remainMoney; | 
|         this.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt); | 
|   | 
|         if (clearCloseValve != null && clearCloseValve.booleanValue()) { | 
|             this.clearCloseValue(); | 
|         } | 
|     } | 
|   | 
|     public void updateFrom(DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, Boolean clearLastOpenValve) throws Exception { | 
|         this.clDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); | 
|         this.clType = dataCd83CloseVo.type; | 
|         this.clTotalAmount = dataCd83CloseVo.totalAmount; | 
|         this.clIcCardNo = dataCd83CloseVo.icCardNo; | 
|         this.clIcCardAddr = dataCd83CloseVo.icCardAddr; | 
|         this.clRemainMoney = dataCd83CloseVo.remainMoney; | 
|         this.clThisAmount = dataCd83CloseVo.thisAmount; | 
|         this.clThisMoney = dataCd83CloseVo.thisMoney; | 
|         this.clThisTime = dataCd83CloseVo.thisTime; | 
|         this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt); | 
|         this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt) ; | 
|   | 
|         if(clearLastOpenValve != null && clearLastOpenValve.booleanValue()){ | 
|             this.clearOpenValue(); | 
|         } | 
|     } | 
|   | 
|     public void clearCloseValue(){ | 
|         this.clDt = null; | 
|         this.clType = null; | 
|         this.clTotalAmount = null; | 
|         this.clIcCardNo = null; | 
|         this.clIcCardAddr = null; | 
|         this.clRemainMoney = null; | 
|         this.clThisAmount = null; | 
|         this.clThisMoney = null; | 
|         this.clThisTime = null; | 
|         this.clOpenDt = null; | 
|         this.closeDt = null; | 
|   | 
|         this.clOrderNo = null;//江海协议特有 | 
|         this.clEleTotalAmount = null;//江海协议特有 | 
|         this.clWaterRemainUser = null;//江海协议特有 | 
|         this.clThisEle = null;//江海协议特有 | 
|     } | 
|     public void clearOpenValue(){ | 
|         this.opDt = null ; | 
|         this.opType = null ; | 
|         this.opTotalAmount = null ; | 
|         this.opIcCardNo = null ; | 
|         this.opIcCardAddr = null ; | 
|         this.opRemainMoney = null ; | 
|         this.openDt = null ; | 
|     } | 
| } |