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.ruoyi.common.annotation.Excel;
import com.ruoyi.gysl.entity.baseModel.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.IndexedColors;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 基本信息(BasicInformation)表实体类
 *
 * @author makejava
 * @since 2025-02-24 09:25:55
 */
@Data
@ApiModel("基本信息")
@TableName(value = "gysl_basic_information")
public class BasicInformation extends BaseModel {

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


    @Excel(name = "统一社会信用代码*", sort = 2, required = true, type = Excel.Type.ALL, headerBackgroundColor = IndexedColors.RED1)
    @ApiModelProperty("统一社会信用代码")
    private String tyshxydm;


    @NotBlank
    @Excel(name = "项目名称*", sort = 2, required = true, type = Excel.Type.ALL, headerBackgroundColor = IndexedColors.RED1)
    @ApiModelProperty("项目名称")
    private String name;

    @ApiModelProperty("总用地面积")
    @Excel(name = "总用地面积", sort = 8, type = Excel.Type.ALL)
    @TableField(exist = false)
    private BigDecimal zydmj;

    @ApiModelProperty("总建筑面积")
    @Excel(name = "总建筑面积", type = Excel.Type.EXPORT)
    @TableField(exist = false)
    private BigDecimal zjzmj;


    @NotBlank
    @Excel(name = "项目法人单位*", sort = 4, required = true, type = Excel.Type.ALL, headerBackgroundColor = IndexedColors.RED1)
    @ApiModelProperty("项目法人单位")
    private String xmfrdwxz;


    @NotBlank
    @ApiModelProperty("项目法人单位性质")
    @Excel(name = "项目法人单位性质", dictType = "xmfrdwxz", comboReadDict = true, type = Excel.Type.EXPORT)
    private Integer nature;

    @ApiModelProperty("施工单位")
    @Excel(name = "施工单位", type = Excel.Type.EXPORT)
    private String sgdw;

    @ApiModelProperty("目录")
    private Integer ml;

    @ApiModelProperty("细分产业")
    private Integer xfcy;

    @ApiModelProperty("设计单位")
    @Excel(name = "设计单位", type = Excel.Type.EXPORT)
    private String sjdw;

    @ApiModelProperty("总投资额")
    @Excel(name = "总投资额", sort = 7, type = Excel.Type.ALL)
    private BigDecimal ztze;

    @NotBlank
    @ApiModelProperty("所属功能区")
    @Excel(name = "所属功能区", dictType = "ssgnq", comboReadDict = true, type = Excel.Type.EXPORT)
    private Integer ssgnq;


    @ApiModelProperty("建设开始时间 yyyy-MM")
    @Excel(name = "建设开始时间", sort = 5, width = 24, type = Excel.Type.EXPORT)
    private String begainTime;

    @ApiModelProperty("建设结束时间 yyyy-MM")
    @Excel(name = "建设结束时间", sort = 6, width = 24, type = Excel.Type.EXPORT)
    private String endTime;

    @NotBlank
    @Excel(name = "现状分类", sort = 3, dictType = "xzfl", comboReadDict = true, type = Excel.Type.ALL)
    @ApiModelProperty("现状分类")
    private Integer xzfl;

    @NotBlank
    @Excel(name = "建设地点", type = Excel.Type.EXPORT)
    @ApiModelProperty("建设地点")
    private String jsdd;

    @NotBlank
    @Excel(name = "重点发展产业", type = Excel.Type.EXPORT)
    @ApiModelProperty("重点发展产业")
    private String prioritize;

    @NotBlank
    @Excel(name = "建设模式", dictType = "jsms", comboReadDict = true, type = Excel.Type.EXPORT)
    @ApiModelProperty("建设模式")
    private Integer jsms;

    @ApiModelProperty("项目标签")
    @Excel(name = "项目标签", type = Excel.Type.EXPORT)
    private String label;

    @NotBlank
    @ApiModelProperty("项目负责人")
    @Excel(name = "项目负责人", type = Excel.Type.EXPORT)
    private String projectLeader;

    @NotBlank
    @ApiModelProperty("联系方式")
    @Excel(name = "联系方式", type = Excel.Type.EXPORT)
    private String phone;


    @ApiModelProperty("施工许可证发放时间")
    @Excel(name = "施工许可证发放时间", type = Excel.Type.EXPORT)
    private String issuingTime;

    @ApiModelProperty("竣工验收时间")
    @Excel(name = "竣工验收时间", type = Excel.Type.EXPORT)
    private String acceptanceTime;


    @ApiModelProperty("建设进度")
    @Excel(name = "建设进度", type = Excel.Type.EXPORT)
    private String jsjd;

    @NotBlank
    @ApiModelProperty("项目法人单位简介")
    private String unitIntroduction;

    @NotBlank
    @ApiModelProperty("项目简介")
    private String introduction;

    @ApiModelProperty("附件")
    private String fj;

    @ApiModelProperty("经度")
    private String longitude;

    @ApiModelProperty("纬度")
    private String latitude;

    @ApiModelProperty("状态 1待填报 2待审核 3审核通过")
    private Integer status;

    @ApiModelProperty("0非负面清单 1是负面清单")
    private Integer isFmqd;

    @ApiModelProperty("计划投资额")
    @Excel(name = "计划投资额", type = Excel.Type.EXPORT)
    private BigDecimal jhtze;

}

