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 com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * (BuildingInformation)实体类
 *
 * @author makejava
 * @since 2025-02-24 11:10:05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("gysl_building_information")
@ApiModel(value = "建筑信息")
public class BuildingInformation implements Serializable {


    @ApiModelProperty(value = "id}")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 楼栋名称
     */
    @Excel(name = "楼栋名称",headerBackgroundColor= IndexedColors.RED1,required = true)
    @ApiModelProperty(value = "楼栋名称")
    @TableField("name")
    private String name;

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

    /**
     * 层数
     */
    @Excel(name = "层数",headerBackgroundColor= IndexedColors.RED1,required = true)
    @ApiModelProperty(value = "层数")
    @TableField("floor")
    private Integer floor;

    /**
     * 总建筑高度
     */
    @Excel(name = "总建筑高度",headerBackgroundColor= IndexedColors.RED1,required = true)
    @ApiModelProperty(value = "总建筑高度")
    @TableField("total_building_height")
    private BigDecimal totalBuildingHeight;

    /**
     * 首层高度
     */
    @Excel(name = "首层高度",headerBackgroundColor= IndexedColors.RED1,required = true)
    @ApiModelProperty(value = "首层高度")
    @TableField("scgd")
    private BigDecimal scgd;

    /**
     * 2至4层高
     */
    @Excel(name = "2至4层高")
    @ApiModelProperty(value = "2至4层高")
    @TableField("two_and_four_cg")
    private BigDecimal twoAndFourCg;

    /**
     * 4层以上层高
     */
    @Excel(name = "4层以上层高")
    @ApiModelProperty(value = "4层以上层高")
    @TableField("four_yscg")
    private BigDecimal fourYscg;

    /**
     * 首层地面荷载
     */
    @Excel(name = "首层地面荷载")
    @ApiModelProperty(value = "首层地面荷载")
    @TableField("scdmhz")
    private BigDecimal scdmhz;

    /**
     * 二至三层楼面荷载
     */
    @Excel(name = "二至三层楼面荷载")
    @ApiModelProperty(value = "二至三层楼面荷载")
    @TableField("two_and_three_lmhz")
    private BigDecimal twoAndThreeLmhz;

    /**
     * 四层及以上楼面荷载
     */
    @Excel(name = "四层及以上楼面荷载")
    @ApiModelProperty(value = "四层及以上楼面荷载")
    @TableField("four_yslmhz")
    private BigDecimal fourYslmhz;

    /**
     * 标准层面积
     */
    @Excel(name = "标准层面积")
    @ApiModelProperty(value = "标准层面积")
    @TableField("bzcmj")
    private BigDecimal bzcmj;

    /**
     * 柱距
     */
    @Excel(name = "柱距")
    @ApiModelProperty(value = "柱距")
    @TableField("zj")
    private String zj;

    /**
     * 是否有吊装口
     */
    @Excel(name = "是否有吊装口",readConverterExp="1=是,2=否")
    @ApiModelProperty(value = "是否有吊装口 ，1是2否")
    @TableField("sfydzk")
    private Integer sfydzk;

    /**
     * 地基基础等级
     */
    @Excel(name = "地基基础等级")
    @ApiModelProperty(value = "地基基础等级")
    private String djjcdj;

    /**
     * 吊车情况
     */
    @Excel(name = "吊车情况")
    @ApiModelProperty(value = "吊车情况")
    private String dcqk;
    /**
     * 货梯情况
     */
    @Excel(name = "货梯情况")
    @ApiModelProperty(value = "货梯情况")
    private String htqk;


    /**
     * 是否有汽车盘道
     */
    @Excel(name = "是否有汽车盘道",readConverterExp="1=是,2=否")
    @ApiModelProperty(value = "是否有汽车盘道 , 1是2否")
    @TableField("sfyqcpd")
    private Integer sfyqcpd;

    /**
     * 是否为重要楼栋
     */
    @Excel(name = "是否为重要楼栋",readConverterExp="1=是,2=否")
    @ApiModelProperty(value = "是否为重要楼栋 , 1是2否")
    @TableField("sfwzyld")
    private Integer sfwzyld;

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

    //创建时间
    @ApiModelProperty("创建时间")
    @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("创建者")
    private String createBy;

    //更新者ID
    @ApiModelProperty("更新者ID")
    private Long updateId;

    //更新者
    @ApiModelProperty("更新者")
    private String updateBy;

    //更新时间
    @ApiModelProperty("更新时间")
    @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;
}
