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 ; } }