|  |  | 
 |  |  | package com.dy.pipIrrGlobal.pojoRm; | 
 |  |  |  | 
 |  |  | 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.p206V202404.DataV202404; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo; | 
 |  |  | import com.dy.common.util.DateTime; | 
 |  |  | import java.util.Date; | 
 |  |  | import com.alibaba.fastjson2.annotation.JSONField; | 
 |  |  | import com.alibaba.fastjson2.writer.ObjectWriterImplToString; | 
 |  |  | import com.baomidou.mybatisplus.annotation.IdType; | 
 |  |  | 
 |  |  | import io.swagger.v3.oas.annotations.media.Schema; | 
 |  |  | import lombok.*; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | /** | 
 |  |  |  * @Author: liurunyu | 
 |  |  |  * @Date: 2024/7/1 15:28 | 
 |  |  |  * @Description | 
 |  |  |  */ | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @Author liurunyu | 
 |  |  | 
 |  |  |     @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
 |  |  |     @TableId(type = IdType.INPUT) | 
 |  |  |     public Long id; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |     * 控制器实体ID(外键) | 
 |  |  |     */ | 
 |  |  |      * 农户实体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(外键) | 
 |  |  |     */ | 
 |  |  |      * 取水口实体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) | 
 |  |  |      * 开阀数据接收日期时间 | 
 |  |  |      */ | 
 |  |  |     @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卡编号 | 
 |  |  |     */ | 
 |  |  |      * 开阀IC卡编号 | 
 |  |  |      */ | 
 |  |  |     @Schema(description = "开阀IC卡编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
 |  |  |     public String opIcCardNo; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |     * 开阀ic卡地址 | 
 |  |  |     */ | 
 |  |  |      * 开阀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卡编号 | 
 |  |  |     */ | 
 |  |  |      * 关阀时IC卡编号 | 
 |  |  |      */ | 
 |  |  |     @Schema(description = "关阀时IC卡编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
 |  |  |     public String clIcCardNo; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |     * 关阀时IC卡地址 | 
 |  |  |     */ | 
 |  |  |      * 关阀时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); | 
 |  |  |         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 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.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 updateFrom(DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, boolean clearOpenValve) 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(clearOpenValve){ | 
 |  |  |             this.opDt = null ; | 
 |  |  |             this.opType = null ; | 
 |  |  |             this.opTotalAmount = null ; | 
 |  |  |             this.opIcCardNo = null ; | 
 |  |  |             this.opIcCardAddr = null ; | 
 |  |  |             this.opRemainMoney = null ; | 
 |  |  |             this.openDt = null ; | 
 |  |  |  | 
 |  |  |             this.clOrderNo = null;//江海协议特有 | 
 |  |  |             this.clEleTotalAmount = null;//江海协议特有 | 
 |  |  |             this.clWaterRemainUser = null;//江海协议特有 | 
 |  |  |             this.clThisEle = null;//江海协议特有 | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |