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: 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) @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 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) @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; /** * 开阀时控制器时钟 */ @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) @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位数字) */ 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 ; } }