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.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/28 15:31 
 | 
 * @LastEditTime 2024/2/28 15:31 
 | 
 * @Description 控制器日漏损水量历史数据 
 | 
 */ 
 | 
@TableName(value="rm_loss_history_history", autoResultMap = true) 
 | 
@Data 
 | 
@Builder 
 | 
@ToString 
 | 
@NoArgsConstructor 
 | 
@AllArgsConstructor 
 | 
@Schema(name = "控制器日漏损水量历史数据 ") 
 | 
public class RmLossDay implements BaseEntity { 
 | 
  
 | 
    public static final long serialVersionUID = 202402281620001L; 
 | 
    /** 
 | 
     * 主键 
 | 
     */ 
 | 
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) 
 | 
    @JSONField(serializeUsing= ObjectWriterImplToString.class) 
 | 
    @TableId(type = IdType.INPUT) 
 | 
    public Long id; 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 控制器实体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; 
 | 
  
 | 
    /** 
 | 
     * 统计日,这个日期采用RTU时钟,因为有补报的问题 
 | 
     */ 
 | 
    @Schema(description = "上报日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd") 
 | 
    public Date dt; 
 | 
  
 | 
    /** 
 | 
     * 控制器当日最后上报数据时间 
 | 
     */ 
 | 
    @Schema(description = "控制器当日最后上报数据时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS") 
 | 
    public Date dtLast; 
 | 
  
 | 
    /** 
 | 
     * 控制器当日最后上报数据中的控制器时钟 
 | 
     */ 
 | 
    @Schema(description = "控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS") 
 | 
    public Date dtRtu; 
 | 
  
 | 
    /** 
 | 
    * 日漏损流量 
 | 
    */ 
 | 
    @Schema(description = "日漏损量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double lossAmount; 
 | 
  
 | 
  
 | 
    public void valueFrom(DataV1 dV1, com.dy.common.mw.protocol.p206V1.upVos.DataCdC0Vo cdData) throws Exception{ 
 | 
        this.dt = DateTime.dateFrom_yyyy_MM_dd1(cdData.rtuDt); 
 | 
        this.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt); 
 | 
        this.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); 
 | 
        this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    public void valueFrom(DataV2 dV2, com.dy.common.mw.protocol.p206V2.upVos.DataCdC0Vo cdData) throws Exception{ 
 | 
        this.dt = DateTime.dateFrom_yyyy_MM_dd1(cdData.rtuDt); 
 | 
        this.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.dt); 
 | 
        this.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); 
 | 
        this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。 
 | 
    } 
 | 
} 
 |