pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
@@ -5,7 +5,13 @@
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.*;
@@ -13,9 +19,8 @@
import java.util.Date;
/**
 * @Author liurunyu
 * @Date 2024/2/23 16:00
 * @LastEditTime 2024/2/23 16:00
 * @Author: liurunyu
 * @Date: 2024/7/1 15:29
 * @Description
 */
@TableName(value="rm_open_close_valve_last", autoResultMap = true)
@@ -45,6 +50,19 @@
    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)
@@ -67,7 +85,7 @@
    /**
     * 开阀数据接收日期时间
     */
    @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;
@@ -81,6 +99,7 @@
     * 开阀时累计流量
     */
    @Schema(description = "开阀时累计流量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opTotalAmount;
    /**
@@ -99,7 +118,28 @@
     * 开阀时剩余金额
     */
    @Schema(description = "开阀时剩余金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opRemainMoney;
    /**
     * 开阀订单号
     */
    @Schema(description = "开阀订单号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public String opOrderNo;
    /**
     * 开阀时电表累计电量
     */
    @Schema(description = "开阀时电表累计电量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opEleTotalAmount;
    /**
     * 开阀时用水户剩余水量
     */
    @Schema(description = "开阀时用水户剩余水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double opWaterRemainUser;
    /**
     * 开阀时控制器时钟
@@ -123,6 +163,7 @@
     * 关阀时累计流量
     */
    @Schema(description = "关阀时累计流量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clTotalAmount;
    /**
@@ -141,18 +182,21 @@
     * 关阀时剩余金额
     */
    @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;
    /**
@@ -161,6 +205,12 @@
    @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 ;//水价
    /**
     * 关阀报中的开阀时控制器时钟
     */
@@ -173,4 +223,281 @@
    @Schema(description = "关阀时控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Date closeDt;
    /**
     * 关阀订单号(16位数字)
     */
    public String clOrderNo;
    /**
     * 电表累计电量
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clEleTotalAmount;
    /**
     * 用户剩余水量
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clWaterRemainUser;
    /**
     * 本次使用电量
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double clThisEle;
    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 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 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 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 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 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 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 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 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 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 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 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 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;
        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 ;
    }
}