package com.gunshi.project.hsz.model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.gunshi.project.hsz.common.validate.markers.Insert; import com.gunshi.project.hsz.common.validate.markers.Update; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 计划表实体类 */ @Data @TableName("xl_plan") @Schema(description = "兴利计划-实体类") public class XlPlan { @TableField(exist = false) public final Integer MONTH = 0; @TableField(exist = false) public final Integer YEAR = 1; /** * 主键ID */ @TableId("id") @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * 计划名称 */ @TableField("plan_name") @Schema(description = "计划名称") @NotNull(message = "计划名称不能为空",groups = {Insert.class, Update.class}) private String planName; /** * 计划类型 0月度 1年度 */ @TableField("plan_type") @Schema(description = "计划类型 0月度 1 年度") @NotNull(message = "请选择计划类型",groups = {Insert.class, Update.class}) private Integer planType; /** * 计划年份/月份 */ @TableField("plan_date") @Schema(description = "计划年份/月份") @NotNull(message = "计划年份/月份请选择",groups = {Insert.class, Update.class}) private String planDate; /** * 灌溉计划供水量(万) */ @TableField("gg_water") @Schema(description = "灌溉计划供水量(万)") private BigDecimal ggWater; /** * 生态计划供水量(万) */ @TableField("st_water") @Schema(description = "生态计划供水量") private BigDecimal stWater; /** * 计划开始日期 */ @TableField("plan_begin") @Schema(description = "计划开始日期") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date planBegin; /** * 计划结束日期 */ @TableField("plan_end") @Schema(description = "计划结束日期") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date planEnd; /** * 计划编制单位 */ @TableField("bzdw_plan") @Schema(description = "编制计划单位") private String bzdwPlan; /** * 编制日期 */ @TableField("bz_date") @Schema(description = "编制日期") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date bzDate; @TableField("fill_date") @Schema(description = "填报时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date fillDate; /** * 说明 */ @TableField("remark") @Schema(description = "说明") private String remark; @TableField(exist = false) private List files; }