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

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 项目详情对象 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 = "项目状态")
    private Integer status;

    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("status", getStatus())
            .toString();
    }
}
