package com.dsk.biz.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 项目详情对象 business_info
 *
 * @author lxl
 * @date 2023-05-17
 */
@Data
@NoArgsConstructor
public class BusinessInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    private Integer userId;

    /** $column.columnComment */
    private Integer id;

    /** 项目名称 */
    @ExcelProperty(value = "项目名称")
    private String projectName;

    /** 总投金额(万元) */
    @ExcelProperty(value ="总投金额(万元)")
    private Double investmentAmount;

    /** 资金来源 */
    @ExcelProperty(value ="资金来源")
    private String amountSource;

    /** 计划招标时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @ExcelProperty(value ="计划招标时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planBidTime;

    /** 计划开工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @ExcelProperty(value ="计划开工时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planStartTime;

    /** 项目级别 */
    @ExcelProperty(value ="项目级别")
    private String projectLevel;

    /** 项目阶段 */
    @ExcelProperty(value ="项目阶段")
    private String projectStage;

    /** 建设性质 */
    @ExcelProperty(value ="建设性质")
    private String buildProperty;

    /** 计划竣工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @ExcelProperty(value ="计划竣工时间", width = 30, format = "yyyy-MM-dd")
    private Date planCompleteTime;

    /** 项目概况与建设规模 */
    @ExcelProperty(value ="项目概况与建设规模")
    private String projectDetails;

    /** 省 */
    @ExcelProperty(value ="省")
    private String provinceName;

    /** 省id */
    @ExcelProperty(value ="省id")
    private Integer provinceId;

    /** 市 */
    @ExcelProperty(value ="市")
    private String cityName;

    /** 市id */
    @ExcelProperty(value ="市id")
    private Integer cityId;

    /** 区 */
    @ExcelProperty(value ="区")
    private String districtName;

    /** 区id */
    @ExcelProperty(value ="区id")
    private Integer districtId;

    /** 项目类型 */
    @ExcelProperty(value ="项目类型")
    private String projectType;

    /** 项目类别 */
    @ExcelProperty(value ="项目类别")
    private String projectCategory;

    /** 商务团队 */
    @ExcelProperty(value ="商务团队")
    private String team;

    /** 0 仅自己可见，1 他人可见 */
    @ExcelProperty(value ="0 仅自己可见，1 他人可见")
    private Integer isPrivate;

    /** 客户id */
    @ExcelProperty(value ="客户id")
    private String customerId;

    /** 项目状态 */
    @ExcelProperty(value ="项目状态(0.储备中1.跟进中2.已合作)")
    private Integer status;

    /** 评标办法 */
    @ExcelProperty(value ="评标办法")
    private String evaluationBidWay;

    /** 开标时间 */
    @ExcelProperty(value ="开标时间")
    private String bidOpenTime;

    /** 开标地点 */
    @ExcelProperty(value ="开标地点")
    private String bidOpenPlace;

    /** 保证金缴纳 */
    @ExcelProperty(value ="保证金缴纳")
    private String earnestMoneyPay;

    /** 保证金金额 */
    @ExcelProperty(value ="保证金金额")
    private String earnestMoney;

    /** 评标委员会 */
    @ExcelProperty(value ="评标委员会")
    private String evaluationBidCouncil;

    /** 建设单位 */
    @ExcelProperty(value ="建设单位")
    private String constructionUnit;

    /** 建设单位负责人 */
    @ExcelProperty(value ="建设单位负责人")
    private String constructionPrincipal;

    /** 建设单位联系电话 */
    @ExcelProperty(value ="建设单位联系电话")
    private String constructionPhone;

    /** 主管单位 */
    @ExcelProperty(value ="主管单位")
    private String supervisorUnit;

    /** 主管单位负责人 */
    @ExcelProperty(value ="主管单位负责人")
    private String supervisorPrincipal;

    /** 主管单位联系电话 */
    @ExcelProperty(value ="主管单位联系电话")
    private String supervisorPhone;
    /** 建设单位城投id */
    @ExcelProperty(value ="建设单位城投id")
    private String constructionUnitUipId;
    /** 建设单位建设库id */
    @ExcelProperty(value ="建设单位建设库id")
    private Integer constructionUnitCid;
    /**
     * 租户编号
     */
    private String tenantId;
}
