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.protocol4Mqtt.MqttSubMsg; 
 | 
import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; 
 | 
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: 2025/6/25 10:04 
 | 
 * @Description 
 | 
 */ 
 | 
@TableName(value="rm_soil_day", autoResultMap = true) 
 | 
@Data 
 | 
@Builder 
 | 
@ToString 
 | 
@NoArgsConstructor 
 | 
@AllArgsConstructor 
 | 
@Schema(name = "墒情日平均数据") 
 | 
public class RmSoilDay implements BaseEntity { 
 | 
  
 | 
    public static final long serialVersionUID = 202506251022003L; 
 | 
    /** 
 | 
    * 主键 
 | 
    */ 
 | 
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) 
 | 
    @JSONField(serializeUsing= ObjectWriterImplToString.class) 
 | 
    @TableId(type = IdType.INPUT) 
 | 
    public Long id; 
 | 
  
 | 
    /** 
 | 
    * 墒情站实体外键id 
 | 
    */ 
 | 
    @Schema(description = "墒情站实体外键id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JSONField(serializeUsing= ObjectWriterImplToString.class) 
 | 
    public Long soilId; 
 | 
  
 | 
    /** 
 | 
    * 数据日期(年月日) 
 | 
    */ 
 | 
    @Schema(description = "数据日期", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd") 
 | 
    public Date dt; 
 | 
    /** 
 | 
     * 数据日期(年月日) 
 | 
     */ 
 | 
    @Schema(hidden=true) 
 | 
    @JSONField(serialize = false) 
 | 
    public Integer ymd ; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤湿度1 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤湿度1", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilHumidity1; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤湿度2 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤湿度2", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilHumidity2; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤湿度3 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤湿度3", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilHumidity3; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤湿度4 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤湿度4", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilHumidity4; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤湿度5 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤湿度5", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilHumidity5; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤温度1 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤温度1", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilTemperature1; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤温度2 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤温度2", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilTemperature2; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤温度3 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤温度3", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilTemperature3; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤温度4 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤温度4", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilTemperature4; 
 | 
  
 | 
    /** 
 | 
    * 日平均土壤温度5 
 | 
    */ 
 | 
    @Schema(description = "日平均土壤温度5", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilTemperature5; 
 | 
  
 | 
    /** 
 | 
    * 日数据次数 
 | 
    */ 
 | 
    @Schema(description = "日数据次数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    public Integer times; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤湿度1 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤湿度1", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumHumidity1; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤湿度2 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤湿度2", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumHumidity2; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤湿度3 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤湿度3", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumHumidity3; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤湿度4 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤湿度4", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumHumidity4; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤湿度5 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤湿度5", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumHumidity5; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤温度1 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤温度1", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumTemperature1; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤温度2 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤温度2", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumTemperature2; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤温度3 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤温度3", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumTemperature3; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤温度4 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤温度4", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumTemperature4; 
 | 
  
 | 
    /** 
 | 
    * 日累计土壤温度5 
 | 
    */ 
 | 
    @Schema(description = "日累计土壤温度5", requiredMode = Schema.RequiredMode.NOT_REQUIRED) 
 | 
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) 
 | 
    public Double soilSumTemperature5; 
 | 
  
 | 
    public void valueFrom(MqttSubMsg msg, SoilVo cdData) throws Exception{ 
 | 
        this.dt = new Date(); 
 | 
        this.ymd = Integer.parseInt(DateTime.yyyyMMdd()) ; 
 | 
        this.soilSumHumidity1 = cdData.soilHumidity1==null?0.0D:(0.0D + cdData.soilHumidity1) ; 
 | 
        this.soilSumHumidity2 = cdData.soilHumidity2==null?0.0D:(0.0D + cdData.soilHumidity2) ; 
 | 
        this.soilSumHumidity3 = cdData.soilHumidity3==null?0.0D:(0.0D + cdData.soilHumidity3) ; 
 | 
        this.soilSumHumidity4 = cdData.soilHumidity4==null?0.0D:(0.0D + cdData.soilHumidity4) ; 
 | 
        this.soilSumHumidity5 = cdData.soilHumidity5==null?0.0D:(0.0D + cdData.soilHumidity5) ; 
 | 
        this.soilSumTemperature1 = cdData.soilTemperature1==null?0.0D:(0.0D + cdData.soilTemperature1) ; 
 | 
        this.soilSumTemperature2 = cdData.soilTemperature2==null?0.0D:(0.0D + cdData.soilTemperature2) ; 
 | 
        this.soilSumTemperature3 = cdData.soilTemperature3==null?0.0D:(0.0D + cdData.soilTemperature3) ; 
 | 
        this.soilSumTemperature4 = cdData.soilTemperature4==null?0.0D:(0.0D + cdData.soilTemperature4) ; 
 | 
        this.soilSumTemperature5 = cdData.soilTemperature5==null?0.0D:(0.0D + cdData.soilTemperature5) ; 
 | 
        this.times = 1 ; 
 | 
        this.soilHumidity1 = this.soilSumHumidity1 ; 
 | 
        this.soilHumidity2 = this.soilSumHumidity2 ; 
 | 
        this.soilHumidity3 = this.soilSumHumidity3 ; 
 | 
        this.soilHumidity4 = this.soilSumHumidity4 ; 
 | 
        this.soilHumidity5 = this.soilSumHumidity5 ; 
 | 
        this.soilTemperature1 = this.soilSumTemperature1 ; 
 | 
        this.soilTemperature2 = this.soilSumTemperature2 ; 
 | 
        this.soilTemperature3 = this.soilSumTemperature3 ; 
 | 
        this.soilTemperature4 = this.soilSumTemperature4 ; 
 | 
        this.soilTemperature5 = this.soilSumTemperature5 ; 
 | 
    } 
 | 
  
 | 
    public void updateFrom(MqttSubMsg msg, SoilVo cdData) throws Exception{ 
 | 
        this.soilSumHumidity1 += cdData.soilHumidity1==null?0.0D:(0.0D + cdData.soilHumidity1) ; 
 | 
        this.soilSumHumidity2 += cdData.soilHumidity2==null?0.0D:(0.0D + cdData.soilHumidity2) ; 
 | 
        this.soilSumHumidity3 += cdData.soilHumidity3==null?0.0D:(0.0D + cdData.soilHumidity3) ; 
 | 
        this.soilSumHumidity4 += cdData.soilHumidity4==null?0.0D:(0.0D + cdData.soilHumidity4) ; 
 | 
        this.soilSumHumidity5 += cdData.soilHumidity5==null?0.0D:(0.0D + cdData.soilHumidity5) ; 
 | 
        this.soilSumTemperature1 += cdData.soilTemperature1==null?0.0D:(0.0D + cdData.soilTemperature1) ; 
 | 
        this.soilSumTemperature2 += cdData.soilTemperature2==null?0.0D:(0.0D + cdData.soilTemperature2) ; 
 | 
        this.soilSumTemperature3 += cdData.soilTemperature3==null?0.0D:(0.0D + cdData.soilTemperature3) ; 
 | 
        this.soilSumTemperature4 += cdData.soilTemperature4==null?0.0D:(0.0D + cdData.soilTemperature4) ; 
 | 
        this.soilSumTemperature5 += cdData.soilTemperature5==null?0.0D:(0.0D + cdData.soilTemperature5) ; 
 | 
        this.times = this.times + 1 ; 
 | 
        this.soilHumidity1 = this.soilSumHumidity1 / this.times ; 
 | 
        this.soilHumidity2 = this.soilSumHumidity2 / this.times ; 
 | 
        this.soilHumidity3 = this.soilSumHumidity3 / this.times ; 
 | 
        this.soilHumidity4 = this.soilSumHumidity4 / this.times ; 
 | 
        this.soilHumidity5 = this.soilSumHumidity5 / this.times ; 
 | 
        this.soilTemperature1 = this.soilSumTemperature1 / this.times ; 
 | 
        this.soilTemperature2 = this.soilSumTemperature2 / this.times ; 
 | 
        this.soilTemperature3 = this.soilSumTemperature3 / this.times ; 
 | 
        this.soilTemperature4 = this.soilSumTemperature4 / this.times ; 
 | 
        this.soilTemperature5 = this.soilSumTemperature5 / this.times ; 
 | 
    } 
 | 
  
 | 
} 
 |