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.validate.markers.Insert; import com.gunshi.project.hsz.validate.markers.Update; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.Date; import java.util.List; /** * 调度指令-实体类 */ @Data @TableName("water_dispatch") @Schema(description = "调度指令-实体类") public class WaterDispatch { /** * 主键ID */ @TableId("id") @Schema(description = "主键ID") @JsonSerialize(using = ToStringSerializer.class) private Long id; @TableField(exist = false) @Schema(description = "是否下发 0 是 1 否") private Integer isDistribute; @TableField("dis_year") private String disYear; /** * 调度指令名称 */ @TableField("name") @Schema(description = "调度指令名称") @NotNull(message = "调度指令名称不能为空", groups = {Insert.class, Update.class}) private String name; /** * 调度开始时间 */ @TableField("dis_start") @Schema(description = "调度开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(message = "调度开始时间不能为空", groups = {Insert.class, Update.class}) private Date disStart; /** * 调度结束时间 */ @TableField("dis_end") @Schema(description = "调度结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(message = "调度结束时间不能为空", groups = {Insert.class, Update.class}) private Date disEnd; /** * 调度详细 */ @TableField("dis_detial") @Schema(description = "调度详细") private String disDetial; /** * 执行人员id */ @TableField("exe_person_id") @Schema(description = "执行人员id") private String exePersonId; /** * 执行人员名称 */ @TableField("exe_person_name") @Schema(description = "执行人员名称") private String exePersonName; /** * 执行状态 0完成 1待下发 2执行中 */ @TableField("exe_status") @Schema(description = "执行状态 0完成 1待下发 2执行中") private Integer exeStatus; /** * 填报时间 */ @TableField("fill_time") @Schema(description = "填报时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date fillTime; /** * 执行结果反馈 */ @TableField("res_fb") @Schema(description = "执行结果反馈") private String resFb; /** * 是否完成 0是 1否 */ @TableField("is_compelete") @Schema(description = "是否完成 0是 1否") private Integer isCompelete; /** * 文件关联列表(非数据库字段) */ @TableField(exist = false) @Schema(description = "文件列表") private List files; }