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