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.DataCdC0Vo; 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/6/26 21:32 * @Description */ /** * 控制器整点报(只有靳总协议有) */ @TableName(value="rm_on_hour_report_last", autoResultMap = true) @Data @Builder @ToString @NoArgsConstructor @AllArgsConstructor @Schema(name = "控制器整点报历史数据") public class RmOnHourReportHistory implements BaseEntity { public static final long serialVersionUID = 202406262133001L; /** * 主键 */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) public Long id; /** * 控制器实体ID(外键) */ @JSONField(serializeUsing= ObjectWriterImplToString.class) public Long controllerId; /** * 取水口实体ID(外键) */ @JSONField(serializeUsing= ObjectWriterImplToString.class) public Long intakeId; /** * 控制器地址 */ public String rtuAddr; /** * 数据接收日期时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date dt; /** * 控制器时钟 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date rtuDt; /** * 瞬时流量,单位为m3/h */ public Double instantAmount; /** * 累计流量,单位为m3 */ public Double totalAmount; /** * 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。 */ public Double lossAmount; /** * 水压,单位为KPa */ public Double waterPress; /** * 蓄电池电压,单位为V */ public Double batteryVolt; /** * 信号强度,取值范围0~99 */ public Integer signalValue; /** * 水价,单位为元 */ public Double waterPrice; public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception{ this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); this.instantAmount = cdData.instantAmount; //瞬时流量,单位为m3/h this.totalAmount = cdData.totalAmount ;//累计流量,单位为m3 this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。 this.waterPress = cdData.waterPress ;// 水压,单位为KPa this.batteryVolt = cdData.batteryVolt ;// 蓄电池电压,单位为V this.signalValue = cdData.signalValue ;// 信号强度,取值范围0~99 this.waterPrice = cdData.waterPrice ;// 水价,单位为元。 } }