package com.gunshi.project.xyt.model; import com.baomidou.mybatisplus.annotation.IdType; 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.gunshi.core.dateformat.DateFormatString; import com.gunshi.project.xyt.validate.markers.Delete; import com.gunshi.project.xyt.validate.markers.Update; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; import lombok.Data; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 描述: 大坝表 * author: xusan * date: 2024-07-08 17:34:26 */ @Schema(description="大坝表") @Data @TableName("public.att_dam_base") public class AttDamBase implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value="dam_code", type= IdType.AUTO) @Schema(description="主键") @Size(max = 32,message = "主键最大长度要小于 32") @NotBlank(message = "主键不能为空",groups = { Update.class, Delete.class}) private String damCode; /** * 大坝名称 */ @TableField(value="dam_name") @Schema(description="大坝名称") @Size(max = 30,message = "大坝名称最大长度要小于 30") private String damName; /** * 水库编码 */ @TableField(value="res_code") @Schema(description="水库编码") @Size(max = 32,message = "水库编码最大长度要小于 32") private String resCode; /** * 是否主坝(0否 1是) */ @TableField(value="is_main") @Schema(description="是否主坝(0否 1是)") private Integer isMain; /** * 建筑物型式 */ @TableField(value="build_type") @Schema(description="建筑物型式") @Size(max = 30,message = "建筑物型式最大长度要小于 30") private String buildType; /** * 地基特性 */ @TableField(value="found_character") @Schema(description="地基特性") @Size(max = 30,message = "地基特性最大长度要小于 30") private String foundCharacter; /** * 最大坝高(m) */ @TableField(value="dam_max_heig") @Schema(description="最大坝高(m)") private String damMaxHeig; /** * 坝顶高程(m) */ @TableField(value="dam_top_elev") @Schema(description="坝顶高程(m)") private String damTopElev; /** * 坝顶长度(m) */ @TableField(value="dam_top_len") @Schema(description="坝顶长度(m)") private String damTopLen; /** * 坝顶宽度(m) */ @TableField(value="dam_top_wid") @Schema(description="坝顶宽度(m)") private String damTopWid; /** * 防浪墙顶高程 */ @TableField(value="dam_wave_wall") @Schema(description="防浪墙顶高程") private String damWaveWall; /** * 开工日期 */ @TableField(value="start_date") @Schema(description="开工日期") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date startDate; /** * 竣工日期 */ @TableField(value="end_date") @Schema(description="竣工日期") // @Size(max = 0,message = "竣工日期最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date endDate; /** * 蓄水日期 */ @TableField(value="storage_date") @Schema(description="蓄水日期") // @Size(max = 0,message = "蓄水日期最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date storageDate; /** * 创建时间 */ @TableField(value="create_time") @Schema(description="创建时间") // @Size(max = 0,message = "创建时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date createTime; @TableField(exist = false) @Schema(description = "文件集合") private List files; }