package cn.com.countrygarden.bi.main.model.common;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

@Table(name="comm")
public class Comm {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 项目名称
     */
    
    private String name;

    /**
     * 接管区域ID organ.id
     */
    @Column(name = "organ_id")
    private String organId;
    @Transient
    private String organName;
    @Transient
    private String organCode;
    /**
     * 是否删除
     */
    @Column(name = "is_delete")
    private Byte isDelete;
    /**
     * erp区域code
     */
    @Column(name = "erp_organ_code")
    private String erpOrganCode;
    @Column(name = "erp_organ_name")
    private String erpOrganName;

    /**
     * 项目类型
     */
    @Column(name = "project_type_one")
    private Integer projectType;

    /**
     * 合作类型
     */
    @Column(name = "corp_type_one")
    private Integer corpType;

    /**
     * 项目性质
     */
    @Column(name = "project_nature_one")
    private Integer projectNature;

    /**
     * 开发主体
     */
    @Column(name = "develop_subject")
    private String developSubject;

    /**
     * 规划面积
     */
    private BigDecimal area;

    /**
     * 签约面积（㎡）
     */
    @Column(name = "contract_area")
    private BigDecimal contractArea;

    /**
     * 收费面积
     */
    @Column(name = "charge_area")
    private BigDecimal chargeArea;

    /**
     * NC系统账号
     */
    @Column(name = "nc_account")
    private String ncAccount;

    /**
     * NC系统编号
     */
    @Column(name = "nc_number")
    private String ncNumber;

    /**
     * 跟进人及联系方式
     */
    private String contacts;

    /**
     * 提报区域ID organ.id  拓展区域，用户录入项目时的区域，不变
     */
    @Column(name = "proposal_organ_id")
    private String proposalOrganId;

    /**
     * ERP项目ID
     */
    @Column(name = "comm_code")
    private String commCode;

    /**
     * 创建时间
     */
    @Column(name = "gmt_create")
    private Date gmtCreate;

    /**
     * 创建人ERP UserCode
     */
    @Column(name = "create_by")
    private String createBy;

    /**
     * 更新时间
     */
    @Column(name = "gmt_modified")
    private Date gmtModified;

    /**
     * 更新人ERP UserCode
     */
    @Column(name = "modified_by")
    private String modifiedBy;

    private String status;

    /**
     * 评审状态
     */
    @Column(name = "review_status")
    private String reviewStatus;

    /**
     * 签约日期
     */
    @Column(name = "sign_date")
    private Date signDate;

    /**
     * 解约日期
     */
    @Column(name = "contract_cancel_date")
    private Date contractCancelDate;

    /**
     * 跟进人编号
     */
    @Column(name = "contractor_code")
    private String contractorCode;

    /**
     * 跟进人名字
     */
    @Column(name = "contractor_name")
    private String contractorName;

    /**
     * 项目编号
     */
    @Column(name = "comm_num")
    private String commNum;

    /**
     *  上会日期
     */
    @Column(name = "proposal_date")
    private Date proposalDate;
    /**
     * 中止理由
     */
    @Column(name = "re_reason")
    private String reReason;
    /**
     * 重启理由
     */
    @Column(name = "stop_reason")
    private String stopReason;
    /**
     * 项目/公司简介
     */
    private String comment;

    /**
     * 前介信息
     */
    private String prophase;
    /**
     * 单一项目
     */
    public final static Integer COMM_TYPE_ONE = 1;
    /**
     * 合资公司
     */
    public final static Integer COMM_TYPE_JOINT = 2;
    /**
     * 股权合作
     */
    public final static Integer COMM_TYPE_STOCK = 3;
    /**
     * 大类
     */
    @Column(name = "general_type")
    private Integer generalType;
    /**
     * 合作方名称/合作方企业名称
     */
    @Column(name = "cooperationf_name")
    private String cooperationfName;
    /**
     * 合同年饱和收入金额
     */
    @Column(name = "saturation")
    private BigDecimal saturation;
    /**
     * 合作方联系人及联系电话
     */
    @Column(name = "cooperationf_contact")
    private String cooperationfContact;
    /**
     * 合作方企业纳税人识别号
     */
    @Column(name = "cooperationf_number")
    private String cooperationfNumber;
    /**
     * 合作股权设计比例
     */
    @Column(name = "proportion")
    private String proportion;
    /**
     *  目标企业在管项目数量
     */
    @Column(name = "project_number")
    private Integer projectNumber;
    /**
     *  目标企业在管建筑面积
     */
    @Column(name = "target_area")
    private BigDecimal targetArea;
    /**
     *  目标企业上一年主营业务收入
     */
    @Column(name = "target_income")
    private BigDecimal  targetIncome;
    /**
     * 项目进展动态
     */
    @Column(name = "schedule")
    private Integer schedule;
    
    
    /**
     * 业态
     */
    @Column(name = "business_type")
    private Integer businessType;
    /**
     * 警示灯 普通
     */
    public final static Integer WARNINGLIGHT_PT = 1;
    /**
     * 警示灯 警告
     */
    public final static Integer WARNINGLIGHT_JG = 2;
    /**
     * 警示灯 严重
     */
    public final static Integer WARNINGLIGHT_YZ = 3;
    /**
     * 警示灯
     */
    @Column(name = "warning_light")
    private Integer warningLight;
    /**
     * 下次边灯时间
     */
    @Column(name = "next_time")
    private Date nextTime;
    /**
     * 华东
     */
    public final static Integer COMM_REGION_HD = 1;
    /**
     * 华东
     */
    public final static Integer COMM_REGION_HB = 2;
    /**
     * 华东
     */
    public final static Integer COMM_REGION_HN = 3;
    /**
     * 华东
     */
    public final static Integer COMM_REGION_HZ = 4;
    /**
     * 华东
     */
    public final static Integer COMM_REGION_XN = 5;
    /**
     * 大区
     */
    @Column(name = "region")
    private String region;
    @Column(name = "city")
    private String city;
    @Column(name = "remark")
    private String remark;
    @Column(name = "additional_charge")
    private Byte additionalCharge;
    @Column(name = "schedule_name")
    private String scheduleName;
    @Column(name = "project_class_code")
    private String projectClassCode;
    @Column(name = "project_plan_code")
    private String projectPlanCode;
    @Column(name = "upper_project_plan_code")
    private String upperProjectPlanCode;
    /**
     *甲方对接人 
     * 
     */
    @Column(name = "joint")
    private String joint;
    /**
     *甲方对接人 职务
     * 
     */
    @Column(name = "joint_duty")
    private String jointDuty;
    /**
     *甲方对接人权利
     * 
     */
    @Column(name = "joint_right")
    private Integer jointRight;
    /**
     * 重要性
     */
    @Column(name = "significance")
    private Integer significance;
    /**
     * 需求
     */
    
    @Column(name = "demand")
    private Integer demand;
    /**
     * 物业费定价测算
     */
    
    @Column(name = "property_fee")
    private Integer propertyFee;
    /**
     * 信息费测算
     */
    
    @Column(name = "message_fee")
    private Integer messageFee;
    /**
     * 信息费测算
     */
    @Column(name = "is_submit")
    private Integer isSubmit;
    /**
     * 主要竞争对手
     */
    @Column(name = "competitor")
    private Integer competitor;
    /**
     * 决策层意见
     */
    @Column(name = "opinion")
    private Integer opinion;
    /**
     * 招标文件
     */
    @Column(name = "call_file")
    private Integer callFile;
    /**
     * 招标机构
     */
    @Column(name = "call_organization")
    private Integer callOrganization;
    /**
     * 招标环境
     */
    @Column(name = "call_environmen")
    private Integer callEnvironmen;
    /**
     * 招标环境
     */
    @Column(name = "this_stage")
    private Date thisStage;
   
    private Integer stage;
  
    
    public Integer getStage() {
		return stage;
	}

	public void setStage(Integer stage) {
		this.stage = stage;
	}

	public Date getThisStage() {
		return thisStage;
	}

	public void setThisStage(Date thisStage) {
		this.thisStage = thisStage;
	}

	public Integer getCallFile() {
		return callFile;
	}

	public void setCallFile(Integer callFile) {
		this.callFile = callFile;
	}

	public Integer getCallOrganization() {
		return callOrganization;
	}

	public void setCallOrganization(Integer callOrganization) {
		this.callOrganization = callOrganization;
	}

	public Integer getCallEnvironmen() {
		return callEnvironmen;
	}

	public void setCallEnvironmen(Integer callEnvironmen) {
		this.callEnvironmen = callEnvironmen;
	}

	public Integer getIsSubmit() {
		return isSubmit;
	}

	public void setIsSubmit(Integer isSubmit) {
		this.isSubmit = isSubmit;
	}

	public Integer getCompetitor() {
		return competitor;
	}

	public void setCompetitor(Integer competitor) {
		this.competitor = competitor;
	}

	public Integer getOpinion() {
		return opinion;
	}

	public void setOpinion(Integer opinion) {
		this.opinion = opinion;
	}

	public Integer getPropertyFee() {
		return propertyFee;
	}

	public void setPropertyFee(Integer propertyFee) {
		this.propertyFee = propertyFee;
	}

	public Integer getMessageFee() {
		return messageFee;
	}

	public void setMessageFee(Integer messageFee) {
		this.messageFee = messageFee;
	}

	public Integer getSignificance() {
		return significance;
	}

	public void setSignificance(Integer significance) {
		this.significance = significance;
	}

	public Integer getDemand() {
		return demand;
	}

	public void setDemand(Integer demand) {
		this.demand = demand;
	}

	public String getJoint() {
		return joint;
	}

	public void setJoint(String joint) {
		this.joint = joint;
	}

	public String getJointDuty() {
		return jointDuty;
	}

	public void setJointDuty(String jointDuty) {
		this.jointDuty = jointDuty;
	}

	public Integer getJointRight() {
		return jointRight;
	}

	public void setJointRight(Integer jointRight) {
		this.jointRight = jointRight;
	}

	public Byte getAdditionalCharge() {
        return additionalCharge;
    }

    public void setAdditionalCharge(Byte additionalCharge) {
        this.additionalCharge = additionalCharge;
    }

    public Integer getGeneralType() {
		return generalType;
	}

	public void setGeneralType(Integer generalType) {
		this.generalType = generalType;
	}

	public String getCooperationfName() {
		return cooperationfName;
	}

	public void setCooperationfName(String cooperationfName) {
		this.cooperationfName = cooperationfName;
	}

	public BigDecimal getSaturation() {
		return saturation;
	}

	public void setSaturation(BigDecimal saturation) {
		this.saturation = saturation;
	}

	

	public String getCooperationfContact() {
		return cooperationfContact;
	}

	public void setCooperationfContact(String cooperationfContact) {
		this.cooperationfContact = cooperationfContact;
	}

	public String getCooperationfNumber() {
		return cooperationfNumber;
	}

	public void setCooperationfNumber(String cooperationfNumber) {
		this.cooperationfNumber = cooperationfNumber;
	}

	public String getProportion() {
		return proportion;
	}

	public void setProportion(String proportion) {
		this.proportion = proportion;
	}

	public Integer getProjectNumber() {
		return projectNumber;
	}

	public void setProjectNumber(Integer projectNumber) {
		this.projectNumber = projectNumber;
	}

	public BigDecimal getTargetArea() {
		return targetArea;
	}

	public void setTargetArea(BigDecimal targetArea) {
		this.targetArea = targetArea;
	}

	public BigDecimal getTargetIncome() {
		return targetIncome;
	}

	public void setTargetIncome(BigDecimal targetIncome) {
		this.targetIncome = targetIncome;
	}
	

	public Integer getSchedule() {
		return schedule;
	}

	public void setSchedule(Integer schedule) {
		this.schedule = schedule;
	}

	public String getRegion() {
		return region;
	}

	public void setRegion(String region) {
		this.region = region;
	}

	public String getCity() {
		return city;
	}

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

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取项目名称
     *
     * @return name - 项目名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置项目名称
     *
     * @param name 项目名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取接管区域ID organ.id
     *
     * @return organ_id - 接管区域ID organ.id
     */
    public String getOrganId() {
        return organId;
    }

    /**
     * 设置接管区域ID organ.id
     *
     * @param organId 接管区域ID organ.id
     */
    public void setOrganId(String organId) {
        this.organId = organId == null ? null : organId.trim();
    }

    /**
     * 获取是否删除
     *
     * @return is_delete - 是否删除
     */
    public Byte getIsDelete() {
        return isDelete;
    }

    /**
     * 设置是否删除
     *
     * @param isDelete 是否删除
     */
    public void setIsDelete(Byte isDelete) {
        this.isDelete = isDelete;
    }

    

    public Integer getProjectType() {
		return projectType;
	}

	public void setProjectType(Integer projectType) {
		this.projectType = projectType;
	}

	public Integer getCorpType() {
		return corpType;
	}

	public void setCorpType(Integer corpType) {
		this.corpType = corpType;
	}

	public Integer getProjectNature() {
		return projectNature;
	}

	public void setProjectNature(Integer projectNature) {
		this.projectNature = projectNature;
	}

	/**
     * 获取开发主体
     *
     * @return develop_subject - 开发主体
     */
    public String getDevelopSubject() {
        return developSubject;
    }

    /**
     * 设置开发主体
     *
     * @param developSubject 开发主体
     */
    public void setDevelopSubject(String developSubject) {
        this.developSubject = developSubject == null ? null : developSubject.trim();
    }

    /**
     * 获取规划面积
     *
     * @return area - 规划面积
     */
    public BigDecimal getArea() {
        return area;
    }

    /**
     * 设置规划面积
     *
     * @param area 规划面积
     */
    public void setArea(BigDecimal area) {
        this.area = area;
    }

    /**
     * 获取签约面积（㎡）
     *
     * @return contract_area - 签约面积（㎡）
     */
    public BigDecimal getContractArea() {
        return contractArea;
    }

    /**
     * 设置签约面积（㎡）
     *
     * @param contractArea 签约面积（㎡）
     */
    public void setContractArea(BigDecimal contractArea) {
        this.contractArea = contractArea;
    }

    /**
     * 获取收费面积
     *
     * @return charge_area - 收费面积
     */
    public BigDecimal getChargeArea() {
        return chargeArea;
    }

    /**
     * 设置收费面积
     *
     * @param chargeArea 收费面积
     */
    public void setChargeArea(BigDecimal chargeArea) {
        this.chargeArea = chargeArea;
    }

    /**
     * 获取NC系统账号
     *
     * @return nc_account - NC系统账号
     */
    public String getNcAccount() {
        return ncAccount;
    }

    /**
     * 设置NC系统账号
     *
     * @param ncAccount NC系统账号
     */
    public void setNcAccount(String ncAccount) {
        this.ncAccount = ncAccount == null ? null : ncAccount.trim();
    }

    /**
     * 获取NC系统编号
     *
     * @return nc_number - NC系统编号
     */
    public String getNcNumber() {
        return ncNumber;
    }

    /**
     * 设置NC系统编号
     *
     * @param ncNumber NC系统编号
     */
    public void setNcNumber(String ncNumber) {
        this.ncNumber = ncNumber == null ? null : ncNumber.trim();
    }

    /**
     * 获取跟进人及联系方式
     *
     * @return contacts - 跟进人及联系方式
     */
    public String getContacts() {
        return contacts;
    }

    /**
     * 设置跟进人及联系方式
     *
     * @param contacts 跟进人及联系方式
     */
    public void setContacts(String contacts) {
        this.contacts = contacts == null ? null : contacts.trim();
    }

    /**
     * 获取提报区域ID organ.id
     *
     * @return proposal_organ_id - 提报区域ID organ.id
     */
    public String getProposalOrganId() {
        return proposalOrganId;
    }

    /**
     * 设置提报区域ID organ.id
     *
     * @param proposalOrganId 提报区域ID organ.id
     */
    public void setProposalOrganId(String proposalOrganId) {
        this.proposalOrganId = proposalOrganId == null ? null : proposalOrganId.trim();
    }

    

    public String getCommCode() {
		return commCode;
	}

	public void setCommCode(String commCode) {
		this.commCode = commCode;
	}

	/**
     * 获取创建时间
     *
     * @return gmt_create - 创建时间
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 设置创建时间
     *
     * @param gmtCreate 创建时间
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 获取创建人ERP UserCode
     *
     * @return create_by - 创建人ERP UserCode
     */
    public String getCreateBy() {
        return createBy;
    }

    /**
     * 设置创建人ERP UserCode
     *
     * @param createBy 创建人ERP UserCode
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy == null ? null : createBy.trim();
    }

    /**
     * 获取更新时间
     *
     * @return gmt_modified - 更新时间
     */
    public Date getGmtModified() {
        return gmtModified;
    }

    /**
     * 设置更新时间
     *
     * @param gmtModified 更新时间
     */
    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * 获取更新人ERP UserCode
     *
     * @return modified_by - 更新人ERP UserCode
     */
    public String getModifiedBy() {
        return modifiedBy;
    }

    /**
     * 设置更新人ERP UserCode
     *
     * @param modifiedBy 更新人ERP UserCode
     */
    public void setModifiedBy(String modifiedBy) {
        this.modifiedBy = modifiedBy == null ? null : modifiedBy.trim();
    }

    /**
     * @return status
     */
    public String getStatus() {
        return status;
    }

    /**
     * @param status
     */
    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    /**
     * 获取评审状态
     *
     * @return review_status - 评审状态
     */
    public String getReviewStatus() {
        return reviewStatus;
    }

    /**
     * 设置评审状态
     *
     * @param reviewStatus 评审状态
     */
    public void setReviewStatus(String reviewStatus) {
        this.reviewStatus = reviewStatus == null ? null : reviewStatus.trim();
    }

    /**
     * 获取签约日期
     *
     * @return sign_date - 签约日期
     */
    public Date getSignDate() {
        return signDate;
    }

    /**
     * 设置签约日期
     *
     * @param signDate 签约日期
     */
    public void setSignDate(Date signDate) {
        this.signDate = signDate;
    }

    /**
     * 获取解约日期
     *
     * @return contract_cancel_date - 解约日期
     */
    public Date getContractCancelDate() {
        return contractCancelDate;
    }

    /**
     * 设置解约日期
     *
     * @param contractCancelDate 解约日期
     */
    public void setContractCancelDate(Date contractCancelDate) {
        this.contractCancelDate = contractCancelDate;
    }

    /**
     * 获取跟进人编号
     *
     * @return contractor_code - 跟进人编号
     */
    public String getContractorCode() {
        return contractorCode;
    }

    /**
     * 设置跟进人编号
     *
     * @param contractorCode 跟进人编号
     */
    public void setContractorCode(String contractorCode) {
        this.contractorCode = contractorCode == null ? null : contractorCode.trim();
    }

    /**
     * 获取跟进人名字
     *
     * @return contractor_name - 跟进人名字
     */
    public String getContractorName() {
        return contractorName;
    }

    /**
     * 设置跟进人名字
     *
     * @param contractorName 跟进人名字
     */
    public void setContractorName(String contractorName) {
        this.contractorName = contractorName == null ? null : contractorName.trim();
    }

    /**
     * 获取项目编号
     *
     * @return comm_num - 项目编号
     */
    public String getCommNum() {
        return commNum;
    }

    /**
     * 设置项目编号
     *
     * @param commNum 项目编号
     */
    public void setCommNum(String commNum) {
        this.commNum = commNum == null ? null : commNum.trim();
    }

    /**
     * 获取 上会日期
     *
     * @return proposal_date -  上会日期
     */
    public Date getProposalDate() {
        return proposalDate;
    }

    /**
     * 设置 上会日期
     *
     * @param proposalDate  上会日期
     */
    public void setProposalDate(Date proposalDate) {
        this.proposalDate = proposalDate;
    }

    /**
     * 获取项目/公司简介
     *
     * @return comment - 项目/公司简介
     */
    public String getComment() {
        return comment;
    }

    /**
     * 设置项目/公司简介
     *
     * @param comment 项目/公司简介
     */
    public void setComment(String comment) {
        this.comment = comment == null ? null : comment.trim();
    }

    /**
     * 获取前介信息
     *
     * @return prophase - 前介信息
     */
    public String getProphase() {
        return prophase;
    }

    public String getScheduleName() {
		return scheduleName;
	}

	public void setScheduleName(String scheduleName) {
		this.scheduleName = scheduleName;
	}

	/**
     * 设置前介信息
     *
     * @param prophase 前介信息
     */
    public void setProphase(String prophase) {
        this.prophase = prophase == null ? null : prophase.trim();
    }

	public String getProjectClassCode() {
		return projectClassCode;
	}

	public void setProjectClassCode(String projectClassCode) {
		this.projectClassCode = projectClassCode;
	}

	public String getProjectPlanCode() {
		return projectPlanCode;
	}

	public void setProjectPlanCode(String projectPlanCode) {
		this.projectPlanCode = projectPlanCode;
	}

	public Integer getBusinessType() {
		return businessType;
	}

	public void setBusinessType(Integer businessType) {
		this.businessType = businessType;
	}

	public Integer getWarningLight() {
		return warningLight;
	}

	public void setWarningLight(Integer warningLight) {
		this.warningLight = warningLight;
	}

	public Date getNextTime() {
		return nextTime;
	}

	public void setNextTime(Date nextTime) {
		this.nextTime = nextTime;
	}

	public String getReReason() {
		return reReason;
	}

	public void setReReason(String reReason) {
		this.reReason = reReason;
	}

	public String getStopReason() {
		return stopReason;
	}

	public void setStopReason(String stopReason) {
		this.stopReason = stopReason;
	}

	public String getErpOrganCode() {
		return erpOrganCode;
	}

	public void setErpOrganCode(String erpOrganCode) {
		this.erpOrganCode = erpOrganCode;
	}

	public String getUpperProjectPlanCode() {
		return upperProjectPlanCode;
	}

	public void setUpperProjectPlanCode(String upperProjectPlanCode) {
		this.upperProjectPlanCode = upperProjectPlanCode;
	}

	public String getOrganName() {
		return organName;
	}

	public void setOrganName(String organName) {
		this.organName = organName;
	}

	public String getErpOrganName() {
		return erpOrganName;
	}

	public void setErpOrganName(String erpOrganName) {
		this.erpOrganName = erpOrganName;
	}

	public String getOrganCode() {
		return organCode;
	}

	public void setOrganCode(String organCode) {
		this.organCode = organCode;
	}
	
    
}