package com.dsk.common.core.domain.entity;

import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
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
 */
public class BusinessInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

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

    /** 资金来源 */
    @Excel(name = "资金来源")
    private String amountSource;

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

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

    /** 项目级别 */
    @Excel(name = "项目级别")
    private String projectLevel;

    /** 项目阶段 */
    @Excel(name = "项目阶段")
    private String projectStage;

    /** 建设性质 */
    @Excel(name = "建设性质")
    private String buildProperty;

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

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

    /** 省 */
    @Excel(name = "省")
    private String provinceName;

    /** 省id */
    @Excel(name = "省id")
    private Integer provinceId;

    /** 市 */
    @Excel(name = "市")
    private String cityName;

    /** 市id */
    @Excel(name = "市id")
    private Integer cityId;

    /** 区 */
    @Excel(name = "区")
    private String districtName;

    /** 区id */
    @Excel(name = "区id")
    private Integer districtId;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String projectType;

    /** 项目类别 */
    @Excel(name = "项目类别")
    private String projectCategory;

    /** 商务团队 */
    @Excel(name = "商务团队")
    private String team;

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

    /** 客户id */
    @Excel(name = "客户id")
    private String customerId;

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

    /** 评标办法 */
    @Excel(name = "评标办法")
    private String evaluationBidWay;

    /** 开标时间 */
    @Excel(name = "开标时间")
    private String bidOpenTime;

    /** 开标地点 */
    @Excel(name = "开标地点")
    private String bidOpenPlace;

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

    /** 保证金金额 */
    @Excel(name = "保证金金额")
    private String earnestMoney;

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

    /** 建设单位 */
    @Excel(name = "建设单位")
    private String constructionUnit;

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

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

    /** 主管单位 */
    @Excel(name = "主管单位")
    private String supervisorUnit;

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

    /** 主管单位联系电话 */
    @Excel(name = "主管单位联系电话")
    private String supervisorPhone;

    public String getConstructionUnit() {
        return constructionUnit;
    }

    public void setConstructionUnit(String constructionUnit) {
        this.constructionUnit = constructionUnit;
    }

    public String getConstructionPrincipal() {
        return constructionPrincipal;
    }

    public void setConstructionPrincipal(String constructionPrincipal) {
        this.constructionPrincipal = constructionPrincipal;
    }

    public String getConstructionPhone() {
        return constructionPhone;
    }

    public void setConstructionPhone(String constructionPhone) {
        this.constructionPhone = constructionPhone;
    }

    public String getSupervisorUnit() {
        return supervisorUnit;
    }

    public void setSupervisorUnit(String supervisorUnit) {
        this.supervisorUnit = supervisorUnit;
    }

    public String getSupervisorPrincipal() {
        return supervisorPrincipal;
    }

    public void setSupervisorPrincipal(String supervisorPrincipal) {
        this.supervisorPrincipal = supervisorPrincipal;
    }

    public String getSupervisorPhone() {
        return supervisorPhone;
    }

    public void setSupervisorPhone(String supervisorPhone) {
        this.supervisorPhone = supervisorPhone;
    }

    public String getEvaluationBidWay() {
        return evaluationBidWay;
    }

    public void setEvaluationBidWay(String evaluationBidWay) {
        this.evaluationBidWay = evaluationBidWay;
    }

    public String getBidOpenTime() {
        return bidOpenTime;
    }

    public void setBidOpenTime(String bidOpenTime) {
        this.bidOpenTime = bidOpenTime;
    }

    public String getBidOpenPlace() {
        return bidOpenPlace;
    }

    public void setBidOpenPlace(String bidOpenPlace) {
        this.bidOpenPlace = bidOpenPlace;
    }

    public String getEarnestMoneyPay() {
        return earnestMoneyPay;
    }

    public void setEarnestMoneyPay(String earnestMoneyPay) {
        this.earnestMoneyPay = earnestMoneyPay;
    }

    public String getEarnestMoney() {
        return earnestMoney;
    }

    public void setEarnestMoney(String earnestMoney) {
        this.earnestMoney = earnestMoney;
    }

    public String getEvaluationBidCouncil() {
        return evaluationBidCouncil;
    }

    public void setEvaluationBidCouncil(String evaluationBidCouncil) {
        this.evaluationBidCouncil = evaluationBidCouncil;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setInvestmentAmount(Double investmentAmount)
    {
        this.investmentAmount = investmentAmount;
    }

    public Double getInvestmentAmount()
    {
        return investmentAmount;
    }
    public void setAmountSource(String amountSource)
    {
        this.amountSource = amountSource;
    }

    public String getAmountSource()
    {
        return amountSource;
    }
    public void setPlanBidTime(Date planBidTime)
    {
        this.planBidTime = planBidTime;
    }

    public Date getPlanBidTime()
    {
        return planBidTime;
    }
    public void setPlanStartTime(Date planStartTime)
    {
        this.planStartTime = planStartTime;
    }

    public Date getPlanStartTime()
    {
        return planStartTime;
    }
    public void setProjectLevel(String projectLevel)
    {
        this.projectLevel = projectLevel;
    }

    public String getProjectLevel()
    {
        return projectLevel;
    }
    public void setProjectStage(String projectStage)
    {
        this.projectStage = projectStage;
    }

    public String getProjectStage()
    {
        return projectStage;
    }
    public void setBuildProperty(String buildProperty)
    {
        this.buildProperty = buildProperty;
    }

    public String getBuildProperty()
    {
        return buildProperty;
    }
    public void setPlanCompleteTime(Date planCompleteTime)
    {
        this.planCompleteTime = planCompleteTime;
    }

    public Date getPlanCompleteTime()
    {
        return planCompleteTime;
    }
    public void setProjectDetails(String projectDetails)
    {
        this.projectDetails = projectDetails;
    }

    public String getProjectDetails()
    {
        return projectDetails;
    }
    public void setProvinceName(String provinceName)
    {
        this.provinceName = provinceName;
    }

    public String getProvinceName()
    {
        return provinceName;
    }
    public void setProvinceId(Integer provinceId)
    {
        this.provinceId = provinceId;
    }

    public Integer getProvinceId()
    {
        return provinceId;
    }
    public void setCityName(String cityName)
    {
        this.cityName = cityName;
    }

    public String getCityName()
    {
        return cityName;
    }
    public void setCityId(Integer cityId)
    {
        this.cityId = cityId;
    }

    public Integer getCityId()
    {
        return cityId;
    }
    public void setDistrictName(String districtName)
    {
        this.districtName = districtName;
    }

    public String getDistrictName()
    {
        return districtName;
    }
    public void setDistrictId(Integer districtId)
    {
        this.districtId = districtId;
    }

    public Integer getDistrictId()
    {
        return districtId;
    }
    public void setProjectType(String projectType)
    {
        this.projectType = projectType;
    }

    public String getProjectType()
    {
        return projectType;
    }
    public void setProjectCategory(String projectCategory)
    {
        this.projectCategory = projectCategory;
    }

    public String getProjectCategory()
    {
        return projectCategory;
    }
    public void setTeam(String team)
    {
        this.team = team;
    }

    public String getTeam()
    {
        return team;
    }
    public void setIsPrivate(Integer isPrivate)
    {
        this.isPrivate = isPrivate;
    }

    public Integer getIsPrivate()
    {
        return isPrivate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectName", getProjectName())
            .append("investmentAmount", getInvestmentAmount())
            .append("amountSource", getAmountSource())
            .append("planBidTime", getPlanBidTime())
            .append("planStartTime", getPlanStartTime())
            .append("projectLevel", getProjectLevel())
            .append("projectStage", getProjectStage())
            .append("buildProperty", getBuildProperty())
            .append("planCompleteTime", getPlanCompleteTime())
            .append("projectDetails", getProjectDetails())
            .append("provinceName", getProvinceName())
            .append("provinceId", getProvinceId())
            .append("cityName", getCityName())
            .append("cityId", getCityId())
            .append("districtName", getDistrictName())
            .append("districtId", getDistrictId())
            .append("projectType", getProjectType())
            .append("projectCategory", getProjectCategory())
            .append("team", getTeam())
            .append("isPrivate", getIsPrivate())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("customerId", getCustomerId())
            .append("evaluationBidWay", getEvaluationBidWay())
            .append("bidOpenTime", getBidOpenTime())
            .append("bidOpenPlace", getBidOpenPlace())
            .append("earnestMoneyPay", getEarnestMoneyPay())
            .append("earnestMoney", getEarnestMoney())
            .append("evaluationBidCouncil", getEvaluationBidCouncil())
            .append("constructionUnit", getConstructionUnit())
            .append("constructionPrincipal", getConstructionPrincipal())
            .append("constructionPhone", getConstructionPhone())
            .append("supervisorUnit", getSupervisorUnit())
            .append("supervisorPrincipal", getSupervisorPrincipal())
            .append("supervisorPhone", getSupervisorPhone())
            .toString();
    }
}
