|  |  |  | 
|---|
|  |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
|---|
|  |  |  | import io.swagger.v3.oas.annotations.media.Schema; | 
|---|
|  |  |  | import jakarta.validation.constraints.NotEmpty; | 
|---|
|  |  |  | import jakarta.validation.constraints.NotNull; | 
|---|
|  |  |  | import lombok.*; | 
|---|
|  |  |  | import org.hibernate.validator.constraints.Length; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @Author: liurunyu | 
|---|
|  |  |  | * @Date: 2025/8/6 10:51 | 
|---|
|  |  |  | * @Date: 2025/8/15 15:22 | 
|---|
|  |  |  | * @Description | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @TableName(value="md_crops", autoResultMap = true) | 
|---|
|  |  |  | @Data | 
|---|
|  |  |  | @Builder | 
|---|
|  |  |  | 
|---|
|  |  |  | public class MdCrops implements BaseEntity { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final long serialVersionUID = 202508061126001L; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 主键 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 主键 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|---|
|  |  |  | @TableId(type = IdType.INPUT) | 
|---|
|  |  |  | @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Long id; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 作物名称 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 指向气象站外键 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "关联的气象站", requiredMode = Schema.RequiredMode.REQUIRED) | 
|---|
|  |  |  | @NotNull(message = "关联的气象站不能为空") //不能为空也不能为null | 
|---|
|  |  |  | public Long weatherId; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 作物名称 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "作物名称", requiredMode = Schema.RequiredMode.REQUIRED) | 
|---|
|  |  |  | @NotEmpty(message = "作物名称不能为空") //不能为空也不能为null | 
|---|
|  |  |  | @Length(message = "作物名称不大于{max}字,不小于{min}字", min = 1, max = 50) | 
|---|
|  |  |  | public String name; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 计算开始日期(一年生作物是种植时间或出芽时间),如果为空值则为长久计算,格式yyyy-mm-dd | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 计算开始日期(一年生作物是种植时间或出芽时间),如果为空值则为长久计算,格式yyyy-mm-dd | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "计算开始日期(一年生作物是种植时间或出芽时间),如果为空值则为长久计算,格式yyyy-mm-dd", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @JsonFormat(pattern = "yyyy-MM-dd") | 
|---|
|  |  |  | public Date startDt; | 
|---|
|  |  |  | @JsonFormat(pattern = "MM-dd") | 
|---|
|  |  |  | public String startDt; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 计算截止日期(一年生作物是停止灌溉时间),如果为空值则为长久计算,格式yyyy-mm-dd | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 计算截止日期(一年生作物是停止灌溉时间),如果为空值则为长久计算,格式yyyy-mm-dd | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "计算截止日期(一年生作物是停止灌溉时间),如果为空值则为长久计算,格式yyyy-mm-dd", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @JsonFormat(pattern = "yyyy-MM-dd") | 
|---|
|  |  |  | public Date endDt; | 
|---|
|  |  |  | @JsonFormat(pattern = "MM-dd") | 
|---|
|  |  |  | public String endDt; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否停止计算,1是,0否 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 生长初期开始天数(默认是1) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长初期开始天数(默认是1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life1Start; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长初期结束天数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长初期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life1End; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长初期作物系数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长初期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Double life1Factor ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 快速生长期开始天数(默认生长初期结束天数+1) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "快速生长期开始天数(默认生长初期结束天数+1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life2Start; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 快速生长期结束天数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "快速生长期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life2End; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 快速生长期作物系数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "快速生长期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Double life2Factor ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长中期开始天数(默认快速生长期结束天数+1) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长中期开始天数(默认快速生长期结束天数+1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life3Start; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长中期结束天数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长中期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life3End; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长中期作物系数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长中期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Double life3Factor ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长末期开始天数(默认生长中期结束天数+1) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长末期开始天数(默认生长中期结束天数+1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life4Start; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长末期结束天数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长末期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Integer life4End; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生长末期作物系数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "生长末期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Double life4Factor ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否停止计算,1是,0否 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "停止计算标识", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | public Byte stopped; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 备注 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 备注 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) | 
|---|
|  |  |  | @Length(message = "备注不大于{max}字,不小于{min}字", min = 1, max = 100) | 
|---|
|  |  |  | public String remarks; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 数据记录创建日期,格式yyyy-mm-dd hh:mm:ss | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | * 数据记录创建日期,格式yyyy-mm-dd hh:mm:ss | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
|---|
|  |  |  | public Date createDt; | 
|---|
|  |  |  |  | 
|---|