package com.ruoyi.gysl.entity;

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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 规划信息(PlanInformation)实体类
 *
 * @author makejava
 * @since 2025-02-24 14:21:58
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("plan_information")
@ApiModel(value = "PlanInformation", description = "规划信息")
public class PlanInformation implements Serializable {
    private static final long serialVersionUID = 949116362621294280L;

    @ApiModelProperty(value = "${column.comment}")
    @TableField("id")
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    @TableField("xm_id")
    private Long xmId;

    /**
     * 总用地面积
     */
    @ApiModelProperty(value = "总用地面积 ")
    @TableField("zydmj")
    private BigDecimal zydmj;

    /**
     * 容积率
     */
    @ApiModelProperty(value = "容积率")
    @TableField("rjl")
    private BigDecimal rjl;

    /**
     * 总建筑面积
     */
    @ApiModelProperty(value = "总建筑面积 ")
    @TableField("zjzmj")
    private BigDecimal zjzmj;

    /**
     * 标准层建筑面积
     */
    @ApiModelProperty(value = "标准层建筑面积")
    @TableField("bzcjzmj")
    private BigDecimal bzcjzmj;

    /**
     * 计容积率建筑面积
     * ﻿
     */
    @ApiModelProperty(value = "计容积率建筑面积")
    @TableField(" jrjljzmj")
    private BigDecimal jrjljzmj;

    /**
     * 建筑密度
     */
    @ApiModelProperty(value = "建筑密度")
    @TableField("jzmd")
    private BigDecimal jzmd;

    /**
     * 绿地率
     */
    @ApiModelProperty(value = "绿地率")
    @TableField("ldl")
    private BigDecimal ldl;

    /**
     * 建筑栋数
     * ﻿
     */
    @ApiModelProperty(value = "建筑栋数")
    @TableField(" jzds")
    private Integer jzds;

    /**
     * 地上建筑面积
     * ﻿
     */
    @ApiModelProperty(value = "地上建筑面积")
    @TableField(" dsjzmj")
    private BigDecimal dsjzmj;

    /**
     * 地下建筑面积
     * ﻿
     */
    @ApiModelProperty(value = "地下建筑面积")
    @TableField(" dxjzmj")
    private BigDecimal dxjzmj;

    /**
     * 最高建筑层数
     */
    @ApiModelProperty(value = "最高建筑层数")
    @TableField("zgjzcs")
    private Integer zgjzcs;

    /**
     * 最高建筑高度
     */
    @ApiModelProperty(value = "最高建筑高度")
    @TableField("zgjzgd")
    private BigDecimal zgjzgd;

    /**
     * 机动车停车位
     *
     */
    @ApiModelProperty(value = "机动车停车位")
    @TableField(" jdctcw")
    private Integer jdctcw;

    /**
     * 非机动车停车位
     */
    @ApiModelProperty(value = "非机动车停车位")
    @TableField("fjdctcw")
    private Integer fjdctcw;

    /**
     * 规划文件
     */
    @ApiModelProperty(value = "规划文件")
    @TableField("ghwj")
    private String ghwj;

    /**
     * 防火等级
     */
    @ApiModelProperty(value = "防火等级")
    @TableField("fhdj")
    private String fhdj;

    /**
     * 创建者id
     */
    @ApiModelProperty(value = "创建者id")
    @TableField("create_id")
    private Integer createId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private String createBy;

    /**
     * 更新者ID
     */
    @ApiModelProperty(value = "更新者ID")
    @TableField("update_id")
    private Long updateId;

    /**
     * 更新者
     */
    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private String updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
