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.DataCd83OpenVo;
|
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/2/23 16:00
|
* @LastEditTime 2024/2/23 16:00
|
* @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 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 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;
|
|
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.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 ;
|
}
|
|
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) {
|
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;
|
}
|
}
|
|
}
|