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 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.math.BigDecimal; import java.util.Date; import java.util.List; /** * 描述: 水库基本信息表 * author: xusan * date: 2024-07-08 17:34:26 */ @Schema(description="水库基本信息表") @Data @TableName("public.att_res_base") public class AttResBase implements Serializable { private static final long serialVersionUID = 1L; /** * 水库代码 */ @TableId(value="res_code", type= IdType.AUTO) @Schema(description="水库代码") @Size(max = 32,message = "水库代码最大长度要小于 32") @NotBlank(message = "水库代码不能为空") private String resCode; /** * 水库名称 */ @TableField(value="res_name") @Schema(description="水库名称") @Size(max = 100,message = "水库名称最大长度要小于 100") @NotBlank(message = "水库名称不能为空") private String resName; /** * 左下角经度 */ @TableField(value="low_left_long") @Schema(description="左下角经度") private String lowLeftLong; /** * 左下角纬度 */ @TableField(value="low_left_lat") @Schema(description="左下角纬度") private String lowLeftLat; /** * 右上角经度 */ @TableField(value="up_right_long") @Schema(description="右上角经度") private String upRightLong; /** * 右上角纬度 */ @TableField(value="up_right_lat") @Schema(description="右上角纬度") private String upRightLat; /** * 水库所在位置 */ @TableField(value="res_loc") @Schema(description="水库所在位置") @Size(max = 256,message = "水库所在位置最大长度要小于 256") private String resLoc; /** * 水库类型 山丘水库 1 平原水库 2 地下水库 3 */ @TableField(value="res_type") @Schema(description="水库类型 山丘水库 1 平原水库 2 地下水库 3") @Size(max = 1,message = "水库类型 山丘水库 1 平原水库 2 地下水库 3最大长度要小于 1") private String resType; /** * 工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 */ @TableField(value="eng_grad") @Schema(description="工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5") @Size(max = 1,message = "工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5最大长度要小于 1") private String engGrad; /** * 工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9 */ @TableField(value="eng_scal") @Schema(description="工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9") @Size(max = 1,message = "工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9最大长度要小于 1") private String engScal; /** * 坝址控制流域面积 */ @TableField(value="wat_shed_area") @Schema(description="坝址控制流域面积") private String watShedArea; /** * 防洪高水位 */ @TableField(value="upp_lev_flco") @Schema(description="防洪高水位") private String uppLevFlco; /** * 正常蓄水位 */ @TableField(value="norm_wat_lev") @Schema(description="正常蓄水位") // @Size(max = 0,message = "正常蓄水位最大长度要小于 0") private String normWatLev; /** * 正常蓄水位相应水面面积 */ @TableField(value="norm_pool_stag_area") @Schema(description="正常蓄水位相应水面面积") // @Size(max = 0,message = "正常蓄水位相应水面面积最大长度要小于 0") private String normPoolStagArea; /** * 正常蓄水位相应库容 */ @TableField(value="norm_pool_stag_cap") @Schema(description="正常蓄水位相应库容") // @Size(max = 0,message = "正常蓄水位相应库容最大长度要小于 0") private String normPoolStagCap; /** * 主汛期防洪限制水位 */ @TableField(value="fl_low_lim_lev") @Schema(description="主汛期防洪限制水位") private BigDecimal flLowLimLev; /** * 防洪限制水位库容 */ @TableField(value="fl_low_lim_lev_cap") @Schema(description="防洪限制水位库容") // @Size(max = 0,message = "防洪限制水位库容最大长度要小于 0") private String flLowLimLevCap; /** * 死水位 */ @TableField(value="dead_lev") @Schema(description="死水位") // @Size(max = 0,message = "死水位最大长度要小于 0") private String deadLev; /** * 总库容 */ @TableField(value="tot_cap") @Schema(description="总库容") // @Size(max = 0,message = "总库容最大长度要小于 0") private String totCap; /** * 兴利库容 */ @TableField(value="ben_res_cap") @Schema(description="兴利库容") // @Size(max = 0,message = "兴利库容最大长度要小于 0") private String benResCap; /** * 死库容 */ @TableField(value="dead_cap") @Schema(description="死库容") // @Size(max = 0,message = "死库容最大长度要小于 0") private String deadCap; /** * 调洪库容 */ @TableField(value="stor_fl_cap") @Schema(description="调洪库容") // @Size(max = 0,message = "调洪库容最大长度要小于 0") private String storFlCap; /** * 防洪库容 */ @TableField(value="flco_cap") @Schema(description="防洪库容") // @Size(max = 0,message = "防洪库容最大长度要小于 0") private String flcoCap; /** * 工程建设情况 在建 0 已建 1 */ @TableField(value="eng_stat") @Schema(description="工程建设情况 在建 0 已建 1") @Size(max = 1,message = "工程建设情况 在建 0 已建 1最大长度要小于 1") private String engStat; /** * 开工时间 */ @TableField(value="start_date") @Schema(description="开工时间") // @Size(max = 0,message = "开工时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date startDate; /** * 建成时间 */ @TableField(value="comp_date") @Schema(description="建成时间") // @Size(max = 0,message = "建成时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date compDate; /** * 归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9 */ @TableField(value="adm_dep") @Schema(description="归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9") @Size(max = 1,message = "归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9最大长度要小于 1") private String admDep; /** * 备注 */ @TableField(value="note") @Schema(description="备注") @Size(max = 256,message = "备注最大长度要小于 256") private String note; /** * 记录生效时间 */ @TableField(value="eff_date") @Schema(description="记录生效时间") // @Size(max = 0,message = "记录生效时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date effDate; /** * 记录失效时间 */ @TableField(value="expr_date") @Schema(description="记录失效时间") // @Size(max = 0,message = "记录失效时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date exprDate; /** * 所在行政区划 行政区划名称 格式:省-市-县-镇 */ @TableField(value="adnm") @Schema(description="所在行政区划 行政区划名称 格式:省-市-县-镇") @Size(max = 256,message = "所在行政区划 行政区划名称 格式:省-市-县-镇最大长度要小于 256") private String adnm; /** * 所在流域 流域名称 */ @TableField(value="bas_name") @Schema(description="所在流域 流域名称") @Size(max = 256,message = "所在流域 流域名称最大长度要小于 256") private String basName; /** * 所在水系 水系名称 */ @TableField(value="ws_name") @Schema(description="所在水系 水系名称") @Size(max = 256,message = "所在水系 水系名称最大长度要小于 256") private String wsName; /** * 所在河流名称 */ @TableField(value="rv_name") @Schema(description="所在河流名称") @Size(max = 256,message = "所在河流名称最大长度要小于 256") private String rvName; /** * 注册时间 */ @TableField(value="reg_time") @Schema(description="注册时间") // @Size(max = 0,message = "注册时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date regTime; /** * 注册登记号 */ @TableField(value="reg_sn") @Schema(description="注册登记号") @Size(max = 256,message = "注册登记号最大长度要小于 256") private String regSn; /** * 管理单位 管理单位名称 */ @TableField(value="manag_name") @Schema(description="管理单位 管理单位名称") @Size(max = 256,message = "管理单位 管理单位名称最大长度要小于 256") private String managName; /** * 高程基准面 基面名称 */ @TableField(value="elev_dat") @Schema(description="高程基准面 基面名称") @Size(max = 256,message = "高程基准面 基面名称最大长度要小于 256") private String elevDat; /** * 水库功能 功能名称 */ @TableField(value="rsv_function") @Schema(description="水库功能 功能名称") @Size(max = 256,message = "水库功能 功能名称最大长度要小于 256") private String rsvFunction; /** * 溢洪道是否有闸 1:有 0:无 */ @TableField(value="spillway_gate") @Schema(description="溢洪道是否有闸 1:有 0:无") @Size(max = 1,message = "溢洪道是否有闸 1:有 0:无最大长度要小于 1") private String spillwayGate; /** * 校核洪水位 */ @TableField(value="cal_flood_lev") @Schema(description="校核洪水位") // @Size(max = 0,message = "校核洪水位最大长度要小于 0") private String calFloodLev; /** * 设计洪水位 */ @TableField(value="des_flood_lev") @Schema(description="设计洪水位") // @Size(max = 0,message = "设计洪水位最大长度要小于 0") private String desFloodLev; /** * 坝顶高程 */ @TableField(value="crest_elev") @Schema(description="坝顶高程") // @Size(max = 0,message = "坝顶高程最大长度要小于 0") private String crestElev; /** * 最大坝高 */ @TableField(value="max_dam_heig") @Schema(description="最大坝高") // @Size(max = 0,message = "最大坝高最大长度要小于 0") private String maxDamHeig; /** * 设计洪水位时最大下泄流量 */ @TableField(value="max_des_flood_flow") @Schema(description="设计洪水位时最大下泄流量") // @Size(max = 0,message = "设计洪水位时最大下泄流量最大长度要小于 0") private String maxDesFloodFlow; /** * 校核洪水位时最大下泄流量 */ @TableField(value="max_cal_flood_flow") @Schema(description="校核洪水位时最大下泄流量") // @Size(max = 0,message = "校核洪水位时最大下泄流量最大长度要小于 0") private String maxCalFloodFlow; /** * 下游河道安全流量 */ @TableField(value="ds_saft_flow") @Schema(description="下游河道安全流量") // @Size(max = 0,message = "下游河道安全流量最大长度要小于 0") private String dsSaftFlow; /** * 工程概况 */ @TableField(value="proj_overview") @Schema(description="工程概况") @Size(max = 1000,message = "工程概况最大长度要小于 1000") private String projOverview; /** * 关联测站 */ @TableField(value="stcd") @Schema(description="关联测站") @Size(max = 18,message = "关联测站最大长度要小于 18") private String stcd; /** * 是否病险 1:病 */ @TableField(value="is_danger") @Schema(description="是否病险 1:病 ") // @Size(max = 0,message = "是否病险 1:病 最大长度要小于 0") private Integer isDanger; /** * 病险概况 */ @TableField(value="danger_overview") @Schema(description="病险概况") // @Size(max = 0,message = "病险概况最大长度要小于 0") private String dangerOverview; /** * 重点水库 */ @TableField(value="is_important") @Schema(description="重点水库") // @Size(max = 0,message = "重点水库最大长度要小于 0") private Integer isImportant; /** * 经度 (°) */ @TableField(value="lgtd") @Schema(description="经度 (°)") // @Size(max = 0,message = "经度 (°)最大长度要小于 0") private String lgtd; /** * 纬度 (°) */ @TableField(value="lttd") @Schema(description="纬度 (°)") // @Size(max = 0,message = "纬度 (°)最大长度要小于 0") private String lttd; /** * geojson */ @TableField(value="geometry") @Schema(description="geojson") // @Size(max = 0,message = "geojson最大长度要小于 0") private String geometry; /** * 是否有大坝安监数据 */ @TableField(value="has_wypress") @Schema(description="是否有大坝安监数据") // @Size(max = 0,message = "是否有大坝安监数据最大长度要小于 0") private Integer hasWypress; /** * adcd */ @TableField(value="adcd") @Schema(description="adcd") @Size(max = 255,message = "adcd最大长度要小于 255") private String adcd; /** * 堰顶高程,m */ @TableField(value="wcrstel") @Schema(description="堰顶高程,m") private BigDecimal wcrstel; @TableField(exist = false) @Schema(description = "文件集合") private List files; }