package com.yanzhu.manage.domain;

import com.yanzhu.common.core.annotation.Excel;
import com.yanzhu.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 项目信息对象 pro_project_info
 * 
 * @author JiangYuQi
 * @date 2024-08-25
 */
public class ProProjectInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 所属单位 */
    @Excel(name = "公司主键")
    private Long comId;

    /** 单位名称 */
    @Excel(name = "公司名称")
    private String comName;

    /** 显示部门 */
    @Excel(name = "显示部门")
    private Long disDeptId;

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

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectCode;

    /** 项目简称 */
    @Excel(name = "项目简称")
    private String simpleName;

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

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

    /** 项目区县 */
    @Excel(name = "项目区县")
    private String projectRegional;

    /** 项目包名 */
    private String projectPackage;

    /** 项目地址 */
    @Excel(name = "项目地址")
    private String projectAddress;

    /** 项目建设属性 */
    @Excel(name = "项目建设属性")
    private String projectNature;

    /** 许可证号 */
    @Excel(name = "许可证号")
    private String licenceNumber;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String projectPerson;

    /** 负责人电话 */
    @Excel(name = "负责人电话")
    private String projectPersonPhone;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    @Excel(name = "技术负责人")
    private String techLeader;
    @Excel(name = "技术负责人联系电话")
    private String techLeaderPhone;
    @Excel(name = "省份")
    private String province;
    @Excel(name = "城市")
    private String city;
    @Excel(name = "区县")
    private String district;

    public String getTechLeader() {
        return techLeader;
    }

    public void setTechLeader(String techLeader) {
        this.techLeader = techLeader;
    }

    public String getTechLeaderPhone() {
        return techLeaderPhone;
    }

    public void setTechLeaderPhone(String techLeaderPhone) {
        this.techLeaderPhone = techLeaderPhone;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    /** 项目工期 */
    @Excel(name = "项目工期")
    private Long projectTimeLimit;

    /** 总投资 */
    @Excel(name = "总投资")
    private String totalInvestment;

    /** 建筑面积 */
    @Excel(name = "建筑面积")
    private String floorArea;

    /** 开累产值 */
    @Excel(name = "开累产值")
    private String totalOutputValue;

    /** 计划完工时间 */
    @Excel(name = "计划完工时间")
    private String plannedCompletionTime;

    /** 计划开始时间 */
    @Excel(name = "计划开始时间")
    private String scheduledStartTime;

    /** 实际开始时间 */
    @Excel(name = "实际开始时间")
    private String actualOperatingTime;

    /** 实际完工时间 */
    @Excel(name = "实际完工时间")
    private String actualCompletionTime;

    /** 合同总金额 */
    @Excel(name = "合同总金额")
    private String contractAmount;

    /** 已支付金额 */
    @Excel(name = "已支付金额")
    private String paidAmount;

    /** 挂账金额 */
    @Excel(name = "挂账金额")
    private String onAccountAmount;

    /** 项目进度 */
    @Excel(name = "项目进度")
    private String projectSchedule;

    /** 项目概述 */
    @Excel(name = "项目概述")
    private String projectSummarize;

    /** 项目二维码 */
    @Excel(name = "项目二维码")
    private String projectQrCode;

    /** 项目状态 */
    @Excel(name = "项目状态")
    private String projectStatus;

    /** 项目排序 */
    @Excel(name = "项目排序")
    private Long projectSort;

    /** 删除标识 */
    @Excel(name = "删除标识")
    private Long isDel;

    private ProProjectInfoSetting setting;
    private List<ProProjectInfoDepts> projectDeptsList;

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

    public Long getId() 
    {
        return id;
    }

    public Long getComId() {
        return comId;
    }

    public void setComId(Long comId) {
        this.comId = comId;
    }

    public String getComName() {
        return comName;
    }

    public void setComName(String comName) {
        this.comName = comName;
    }

    public void setDisDeptId(Long disDeptId)
    {
        this.disDeptId = disDeptId;
    }

    public Long getDisDeptId() 
    {
        return disDeptId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectCode(String projectCode) 
    {
        this.projectCode = projectCode;
    }

    public String getProjectCode() 
    {
        return projectCode;
    }
    public void setSimpleName(String simpleName) 
    {
        this.simpleName = simpleName;
    }

    public String getSimpleName() 
    {
        return simpleName;
    }
    public void setProjectType(String projectType) 
    {
        this.projectType = projectType;
    }

    public String getProjectType() 
    {
        return projectType;
    }

    public void setProjectRegional(String projectRegional) 
    {
        this.projectRegional = projectRegional;
    }

    public String getProjectRegional() 
    {
        return projectRegional;
    }
    public void setProjectAddress(String projectAddress) 
    {
        this.projectAddress = projectAddress;
    }

    public String getProjectAddress() 
    {
        return projectAddress;
    }
    public void setProjectNature(String projectNature) 
    {
        this.projectNature = projectNature;
    }

    public String getProjectNature() 
    {
        return projectNature;
    }
    public void setLicenceNumber(String licenceNumber) 
    {
        this.licenceNumber = licenceNumber;
    }

    public String getLicenceNumber() 
    {
        return licenceNumber;
    }
    public void setProjectPerson(String projectPerson) 
    {
        this.projectPerson = projectPerson;
    }

    public String getProjectPerson() 
    {
        return projectPerson;
    }
    public void setProjectPersonPhone(String projectPersonPhone) 
    {
        this.projectPersonPhone = projectPersonPhone;
    }

    public String getProjectPersonPhone() 
    {
        return projectPersonPhone;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }
    public void setProjectTimeLimit(Long projectTimeLimit) 
    {
        this.projectTimeLimit = projectTimeLimit;
    }

    public Long getProjectTimeLimit() 
    {
        return projectTimeLimit;
    }
    public void setTotalInvestment(String totalInvestment) 
    {
        this.totalInvestment = totalInvestment;
    }

    public String getTotalInvestment() 
    {
        return totalInvestment;
    }
    public void setFloorArea(String floorArea) 
    {
        this.floorArea = floorArea;
    }

    public String getFloorArea() 
    {
        return floorArea;
    }
    public void setTotalOutputValue(String totalOutputValue) 
    {
        this.totalOutputValue = totalOutputValue;
    }

    public String getTotalOutputValue() 
    {
        return totalOutputValue;
    }
    public void setPlannedCompletionTime(String plannedCompletionTime) 
    {
        this.plannedCompletionTime = plannedCompletionTime;
    }

    public String getPlannedCompletionTime() 
    {
        return plannedCompletionTime;
    }
    public void setScheduledStartTime(String scheduledStartTime) 
    {
        this.scheduledStartTime = scheduledStartTime;
    }

    public String getScheduledStartTime() 
    {
        return scheduledStartTime;
    }
    public void setActualOperatingTime(String actualOperatingTime) 
    {
        this.actualOperatingTime = actualOperatingTime;
    }

    public String getActualOperatingTime() 
    {
        return actualOperatingTime;
    }
    public void setActualCompletionTime(String actualCompletionTime) 
    {
        this.actualCompletionTime = actualCompletionTime;
    }

    public String getActualCompletionTime() 
    {
        return actualCompletionTime;
    }
    public void setContractAmount(String contractAmount) 
    {
        this.contractAmount = contractAmount;
    }

    public String getContractAmount() 
    {
        return contractAmount;
    }
    public void setPaidAmount(String paidAmount) 
    {
        this.paidAmount = paidAmount;
    }

    public String getPaidAmount() 
    {
        return paidAmount;
    }
    public void setOnAccountAmount(String onAccountAmount) 
    {
        this.onAccountAmount = onAccountAmount;
    }

    public String getOnAccountAmount() 
    {
        return onAccountAmount;
    }
    public void setProjectSchedule(String projectSchedule) 
    {
        this.projectSchedule = projectSchedule;
    }

    public String getProjectSchedule() 
    {
        return projectSchedule;
    }
    public void setProjectSummarize(String projectSummarize) 
    {
        this.projectSummarize = projectSummarize;
    }

    public String getProjectSummarize() 
    {
        return projectSummarize;
    }
    public void setProjectQrCode(String projectQrCode) 
    {
        this.projectQrCode = projectQrCode;
    }

    public String getProjectQrCode() 
    {
        return projectQrCode;
    }
    public void setProjectStatus(String projectStatus) 
    {
        this.projectStatus = projectStatus;
    }

    public String getProjectStatus() 
    {
        return projectStatus;
    }
    public void setProjectSort(Long projectSort) 
    {
        this.projectSort = projectSort;
    }

    public Long getProjectSort() 
    {
        return projectSort;
    }
    public void setIsDel(Long isDel) 
    {
        this.isDel = isDel;
    }

    public Long getIsDel() 
    {
        return isDel;
    }

    public String getProjectLevel() {
        return projectLevel;
    }

    public void setProjectLevel(String projectLevel) {
        this.projectLevel = projectLevel;
    }

    public ProProjectInfoSetting getSetting() {
        return setting;
    }

    public void setSetting(ProProjectInfoSetting setting) {
        this.setting = setting;
    }

    public List<ProProjectInfoDepts> getProjectDeptsList() {
        return projectDeptsList;
    }

    public void setProjectDeptsList(List<ProProjectInfoDepts> projectDeptsList) {
        this.projectDeptsList = projectDeptsList;
    }

    public String getProjectPackage() {
        return projectPackage;
    }

    public void setProjectPackage(String projectPackage) {
        this.projectPackage = projectPackage;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("comId", getComId())
            .append("disDeptId", getDisDeptId())
            .append("projectName", getProjectName())
            .append("projectCode", getProjectCode())
            .append("simpleName", getSimpleName())
            .append("projectType", getProjectType())
            .append("projectLevel", getProjectLevel())
            .append("projectRegional", getProjectRegional())
            .append("projectAddress", getProjectAddress())
            .append("projectNature", getProjectNature())
            .append("licenceNumber", getLicenceNumber())
            .append("projectPerson", getProjectPerson())
            .append("projectPersonPhone", getProjectPersonPhone())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("projectTimeLimit", getProjectTimeLimit())
            .append("totalInvestment", getTotalInvestment())
            .append("floorArea", getFloorArea())
            .append("totalOutputValue", getTotalOutputValue())
            .append("plannedCompletionTime", getPlannedCompletionTime())
            .append("scheduledStartTime", getScheduledStartTime())
            .append("actualOperatingTime", getActualOperatingTime())
            .append("actualCompletionTime", getActualCompletionTime())
            .append("contractAmount", getContractAmount())
            .append("paidAmount", getPaidAmount())
            .append("onAccountAmount", getOnAccountAmount())
            .append("projectSchedule", getProjectSchedule())
            .append("projectSummarize", getProjectSummarize())
            .append("projectQrCode", getProjectQrCode())
            .append("projectStatus", getProjectStatus())
            .append("projectSort", getProjectSort())
            .append("isDel", getIsDel())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
