pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
@@ -1,380 +1,503 @@
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.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.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.Date;
/**
 * @author ZhuBaoMin
 * @date 2024-06-17 11:28
 * @LastEditTime 2024-06-17 11:28
 * @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 class RmOpenCloseValveLast {
    public static final long serialVersionUID = 202402231602001L;
    /**
     * 主键
     */
    private Long id;
    @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(外键)
     */
    private Long controllerId;
    @Schema(description = "控制器实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long controllerId;
    /**
     * 取水口实体ID(外键)
     */
    private Long intakeId;
    @Schema(description = "取水口实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long intakeId;
    /**
     * 控制器地址
     */
    private String rtuAddr;
    @Schema(description = "控制器地址", requiredMode = Schema.RequiredMode.REQUIRED)
    public String rtuAddr;
    /**
     * 开阀数据接收日期时间
     */
    private Date opDt;
    @Schema(description = "开阀数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date opDt;
    /**
     * 开阀控制器时钟
     * 开阀类型
     */
    private Date opRtuDt;
    @Schema(description = "开阀类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Byte opType;
    /**
     * IC卡地址(远程关闭时为0)
     * 开阀时累计流量
     */
    private String opIcCardAddr;
    @Schema(description = "开阀时累计流量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opTotalAmount;
    /**
     * IC卡编号(17位数字)
     * 开阀IC卡编号
     */
    private String opIcCardNo;
    @Schema(description = "开阀IC卡编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public String opIcCardNo;
    /**
     * 开阀订单号(16位数字)
     * 开阀ic卡地址
     */
    private String opOrderNo;
    @Schema(description = "开阀ic卡地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public String opIcCardAddr;
    /**
     * 开泵/阀时间
     * 开阀时剩余金额
     */
    private Date openDt;
    @Schema(description = "开阀时剩余金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opRemainMoney;
    /**
     * 开阀水表累计水量
     * 开阀订单号
     */
    private Double opWaterTotalAmount;
    @Schema(description = "开阀订单号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public String opOrderNo;
    /**
     * 开阀电表累计电量
     * 开阀时电表累计电量
     */
    private Double opEleTotalAmount;
    @Schema(description = "开阀时电表累计电量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opEleTotalAmount;
    /**
     * 开阀用户剩余金额
     * 开阀时用水户剩余水量
     */
    private Double opMoneyRemainUser;
    @Schema(description = "开阀时用水户剩余水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opWaterRemainUser;
    /**
     * 开阀用户剩余水量
     * 开阀时控制器时钟
     */
    private Double opWaterRemainUser;
    @Schema(description = "开阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Date openDt;
    /**
     * 关泵/阀方式
     * 关阀数据接收日期时间
     */
    private String opType;
    @Schema(description = "关阀数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Date clDt;
    /**
     * 关阀IC卡地址(远程关闭时为0)
     * 关阀类型
     */
    private String clIcCardAddr;
    @Schema(description = "关阀类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Byte clType;
    /**
     * 关阀IC卡编号(17位数字)
     * 关阀时累计流量
     */
    private String clIcCardNo;
    @Schema(description = "关阀时累计流量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    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)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clRemainMoney;
    /**
     * 关阀报中本次用水量
     */
    @Schema(description = "关阀时本次用水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clThisAmount;
    /**
     * 关阀报中本次消费金额
     */
    @Schema(description = "关阀时本次消费金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clThisMoney;
    /**
     * 关阀报中本次用水时长(分钟)
     */
    @Schema(description = "关阀时本次用水时长(分钟)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer clThisTime;
    /**
     * 关阀报中水价
     */
    @Schema(description = "关阀报中水价", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clPrice ;//水价
    /**
     * 关阀报中的开阀时控制器时钟
     */
    @Schema(description = "关阀报中的开阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Date clOpenDt;
    /**
     * 关阀时控制器时钟
     */
    @Schema(description = "关阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Date closeDt;
    /**
     * 关阀订单号(16位数字)
     */
    private String clOrderNo;
    /**
     * 开始时间(分时日月)
     */
    private Date startDt;
    /**
     * 结束时间(分时日月)
     */
    private Date endDt;
    /**
     * 水表累计流量
     */
    private Double clWaterTotalAmount;
    public String clOrderNo;
    /**
     * 电表累计电量
     */
    private Double clEleTotalAmount;
    /**
     * 用户剩余金额
     */
    private Double clMoneyRemainUser;
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clEleTotalAmount;
    /**
     * 用户剩余水量
     */
    private Double clWaterRemainUser;
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clWaterRemainUser;
    /**
     * 本次使用电量
     */
    private Double thisEle;
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clThisEle;
    /**
     * 本次使用水量
     */
    private Double thisWater;
    /**
     * 本次使用金额
     */
    private Double thisMoney;
    /**
     * 本次使用时间长
     */
    private Integer thisDuration;
    public Long getId() {
        return id;
    public void valueFrom(DataV1 dV1, com.dy.common.mw.protocol.p206V1.upVos.DataCd83OpenVo dataCd83OpenVo) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.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 setId(Long id) {
        this.id = id;
    public void valueFrom(DataV2 dV2, com.dy.common.mw.protocol.p206V2.upVos.DataCd83OpenVo dataCd83OpenVo) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.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 Long getControllerId() {
        return controllerId;
    public void valueFrom(DataV1 dV1, com.dy.common.mw.protocol.p206V1.upVos.DataCd83CloseVo dataCd83CloseVo) throws Exception {
        this.clDt =  DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.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.clPrice = dataCd83CloseVo.price;
        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 setControllerId(Long controllerId) {
        this.controllerId = controllerId;
    public void valueFrom(DataV2 dV2, com.dy.common.mw.protocol.p206V2.upVos.DataCd83CloseVo dataCd83CloseVo) throws Exception {
        this.clDt =  DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.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.clPrice = dataCd83CloseVo.price;
        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 Long getIntakeId() {
        return intakeId;
    public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
        this.opType = cdData.opType;
        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.clPrice = cdData.price;
        this.clOpenDt = null;
        this.closeDt = null;
        this.clOrderNo = null;//江海协议特有
        this.clEleTotalAmount = null;//江海协议特有
        this.clWaterRemainUser = null;//江海协议特有
        this.clThisEle = null;//江海协议特有
    }
    public void setIntakeId(Long intakeId) {
        this.intakeId = intakeId;
    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.clType = cdData.clType;
        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.clPrice = cdData.price;
        this.clOrderNo = cdData.orderNo;
        this.clEleTotalAmount = cdData.eleTotalAmount;
        this.clWaterRemainUser = cdData.waterRemain;
        this.clThisEle = cdData.thisEle;
    }
    public String getRtuAddr() {
        return rtuAddr;
    public void updateFrom(DataV1 dV1, com.dy.common.mw.protocol.p206V1.upVos.DataCd83OpenVo dataCd83OpenVo, Boolean clearCloseValve) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.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 setRtuAddr(String rtuAddr) {
        this.rtuAddr = rtuAddr;
    public void updateFrom(DataV2 dV2, com.dy.common.mw.protocol.p206V2.upVos.DataCd83OpenVo dataCd83OpenVo, Boolean clearCloseValve) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.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 Date getOpDt() {
        return opDt;
    public void updateFrom(DataV1 dV1, com.dy.common.mw.protocol.p206V1.upVos.DataCd83CloseVo dataCd83CloseVo, Boolean clearLastOpenValve) throws Exception {
        this.clDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.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.clPrice = dataCd83CloseVo.price;
        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 setOpDt(Date opDt) {
        this.opDt = opDt;
    public void updateFrom(DataV2 dV2, com.dy.common.mw.protocol.p206V2.upVos.DataCd83CloseVo dataCd83CloseVo, Boolean clearLastOpenValve) throws Exception {
        this.clDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.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.clPrice = dataCd83CloseVo.price;
        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 Date getOpRtuDt() {
        return opRtuDt;
    public void updateFrom(DataV202404 dataV202404, DataCd84Vo cdData, Boolean clearLastCloseValve) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
        this.opType = cdData.opType;
        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);
        if (clearLastCloseValve != null && clearLastCloseValve.booleanValue()) {
            this.clearCloseValue();
        }
    }
    public void setOpRtuDt(Date opRtuDt) {
        this.opRtuDt = opRtuDt;
    public void updateFrom(DataV202404 dataV202404, DataCd85Vo cdData, Boolean clearLastOpenValve) throws Exception {
        this.clDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
        this.clType = cdData.clType;
        this.clTotalAmount = cdData.waterTotalAmount;
        this.clIcCardNo = cdData.icCardNo;
        this.clIcCardAddr = cdData.icCardAddr;
        this.clOrderNo = cdData.orderNo;
        this.clRemainMoney = cdData.moneyRemain;
        this.clEleTotalAmount = cdData.eleTotalAmount;
        this.clWaterRemainUser = cdData.waterRemain;
        this.clThisAmount = cdData.thisWater;
        this.clThisMoney = cdData.thisMoney;
        this.clThisTime = cdData.thisDuration;
        this.clThisEle = cdData.thisEle;
        this.clPrice = cdData.price;
        this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt);
        this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt) ;
        if(clearLastOpenValve != null && clearLastOpenValve.booleanValue()){
            this.clearOpenValue();
        }
    }
    public String getOpIcCardAddr() {
        return opIcCardAddr;
    }
    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.clPrice = null;
        this.clOpenDt = null;
        this.closeDt = null;
    public void setOpIcCardAddr(String opIcCardAddr) {
        this.opIcCardAddr = opIcCardAddr;
        this.clOrderNo = null;//江海协议特有
        this.clEleTotalAmount = null;//江海协议特有
        this.clWaterRemainUser = null;//江海协议特有
        this.clThisEle = null;//江海协议特有
    }
    public String getOpIcCardNo() {
        return opIcCardNo;
    }
    public void setOpIcCardNo(String opIcCardNo) {
        this.opIcCardNo = opIcCardNo;
    }
    public String getOpOrderNo() {
        return opOrderNo;
    }
    public void setOpOrderNo(String opOrderNo) {
        this.opOrderNo = opOrderNo;
    }
    public Date getOpenDt() {
        return openDt;
    }
    public void setOpenDt(Date openDt) {
        this.openDt = openDt;
    }
    public Double getOpWaterTotalAmount() {
        return opWaterTotalAmount;
    }
    public void setOpWaterTotalAmount(Double opWaterTotalAmount) {
        this.opWaterTotalAmount = opWaterTotalAmount;
    }
    public Double getOpEleTotalAmount() {
        return opEleTotalAmount;
    }
    public void setOpEleTotalAmount(Double opEleTotalAmount) {
        this.opEleTotalAmount = opEleTotalAmount;
    }
    public Double getOpMoneyRemainUser() {
        return opMoneyRemainUser;
    }
    public void setOpMoneyRemainUser(Double opMoneyRemainUser) {
        this.opMoneyRemainUser = opMoneyRemainUser;
    }
    public Double getOpWaterRemainUser() {
        return opWaterRemainUser;
    }
    public void setOpWaterRemainUser(Double opWaterRemainUser) {
        this.opWaterRemainUser = opWaterRemainUser;
    }
    public String getOpType() {
        return opType;
    }
    public void setOpType(String opType) {
        this.opType = opType;
    }
    public String getClIcCardAddr() {
        return clIcCardAddr;
    }
    public void setClIcCardAddr(String clIcCardAddr) {
        this.clIcCardAddr = clIcCardAddr;
    }
    public String getClIcCardNo() {
        return clIcCardNo;
    }
    public void setClIcCardNo(String clIcCardNo) {
        this.clIcCardNo = clIcCardNo;
    }
    public String getClOrderNo() {
        return clOrderNo;
    }
    public void setClOrderNo(String clOrderNo) {
        this.clOrderNo = clOrderNo;
    }
    public Date getStartDt() {
        return startDt;
    }
    public void setStartDt(Date startDt) {
        this.startDt = startDt;
    }
    public Date getEndDt() {
        return endDt;
    }
    public void setEndDt(Date endDt) {
        this.endDt = endDt;
    }
    public Double getClWaterTotalAmount() {
        return clWaterTotalAmount;
    }
    public void setClWaterTotalAmount(Double clWaterTotalAmount) {
        this.clWaterTotalAmount = clWaterTotalAmount;
    }
    public Double getClEleTotalAmount() {
        return clEleTotalAmount;
    }
    public void setClEleTotalAmount(Double clEleTotalAmount) {
        this.clEleTotalAmount = clEleTotalAmount;
    }
    public Double getClMoneyRemainUser() {
        return clMoneyRemainUser;
    }
    public void setClMoneyRemainUser(Double clMoneyRemainUser) {
        this.clMoneyRemainUser = clMoneyRemainUser;
    }
    public Double getClWaterRemainUser() {
        return clWaterRemainUser;
    }
    public void setClWaterRemainUser(Double clWaterRemainUser) {
        this.clWaterRemainUser = clWaterRemainUser;
    }
    public Double getThisEle() {
        return thisEle;
    }
    public void setThisEle(Double thisEle) {
        this.thisEle = thisEle;
    }
    public Double getThisWater() {
        return thisWater;
    }
    public void setThisWater(Double thisWater) {
        this.thisWater = thisWater;
    }
    public Double getThisMoney() {
        return thisMoney;
    }
    public void setThisMoney(Double thisMoney) {
        this.thisMoney = thisMoney;
    }
    public Integer getThisDuration() {
        return thisDuration;
    }
    public void setThisDuration(Integer thisDuration) {
        this.thisDuration = thisDuration;
    public void clearOpenValue(){
        this.opDt = null ;
        this.opType = null ;
        this.opTotalAmount = null ;
        this.opIcCardNo = null ;
        this.opIcCardAddr = null ;
        this.opRemainMoney = null ;
        this.openDt = null ;
    }
}