package com.goafanti.user.bo;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.goafanti.common.constant.AFTConstants;

public class OrgBasicInfoBo {
	private String		id;

	private String		uid;

	private String		hid;

	/**
	 * 企业名称
	 */
	private String		unitName;

	/**
	 * 行政区域--省
	 */
	private Integer		licenceProvince;

	/**
	 * 行政区域--市
	 */
	private Integer		licenceCity;

	/**
	 * 行政区域--区
	 */
	private Integer		licenceArea;

	/**
	 * 通讯地址
	 */
	private String		postalAddress;

	/**
	 * 邮编
	 */
	private String		postcode;

	/**
	 * 联系人电话
	 */
	private String		contactsFixedTel;

	/**
	 * 联系人传真
	 */
	private String		contactsFax;

	/**
	 * 法人电话
	 */
	private String		legalPersonTel;

	/**
	 * 法人传真
	 */
	private String		legalPersonFax;

	/**
	 * 法人Email
	 */
	private String		legalPersonEmail;

	/**
	 * 注册资金
	 */
	private BigDecimal	registeredCapital;

	/**
	 * 注册时间
	 */
	private Date		registrationTime;

	/**
	 * 法人代表姓名
	 */
	private String		legalPerson;

	/**
	 * 法人身份证号
	 */
	private String		legalPersonIdCard;

	/**
	 * 组织机构代码/统一社会信用代码
	 */
	private String		orgCode;

	/**
	 * 税务登记号/统一社会信用代码
	 */
	private String		ratepayCode;

	/**
	 * 所属行业
	 */
	private Integer		industry;

	/**
	 * 企业规模(注册资金)
	 */
	private String		enterpriseScale;

	/**
	 * 注册类型
	 */
	private String		registerType;

	/**
	 * 外资来源地
	 */
	private String		foreignInvestment;

	/**
	 * 领域
	 */
	private String		field;

	/**
	 * 企业所得税主管税务机关
	 */
	private Integer		taxAuthority;

	/**
	 * 企业所得税征收方式
	 */
	private Integer		ratepayMethod;

	/**
	 * 是否上市
	 */
	private Integer		listed;

	/**
	 * 上市时间
	 */
	private Date		listedDate;

	/**
	 * 上市类型
	 */
	private Integer		listedType;

	/**
	 * 股票代码
	 */
	private String		stockCode;

	/**
	 * 是否属于国家级高新区内企业
	 */
	private Integer		highTechZone;

	/**
	 * 国家级高新区名称
	 */
	private String		highTechName;

	/**
	 * 是否引入风险投资
	 */
	private Integer		riskInvestment;

	/**
	 * 经营范围
	 */
	private String		businessScope;

	/**
	 * 企业职工
	 */
	private Integer		firmTotal;

	/**
	 * 科技人员
	 */
	private Integer		techTotal;

	public String getId() {
		return id;
	}

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

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public String getHid() {
		return hid;
	}

	public void setHid(String hid) {
		this.hid = hid;
	}

	public String getUnitName() {
		return unitName;
	}

	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}

	public Integer getLicenceProvince() {
		return licenceProvince;
	}

	public void setLicenceProvince(Integer licenceProvince) {
		this.licenceProvince = licenceProvince;
	}

	public Integer getLicenceCity() {
		return licenceCity;
	}

	public void setLicenceCity(Integer licenceCity) {
		this.licenceCity = licenceCity;
	}

	public Integer getLicenceArea() {
		return licenceArea;
	}

	public void setLicenceArea(Integer licenceArea) {
		this.licenceArea = licenceArea;
	}

	public String getPostalAddress() {
		return postalAddress;
	}

	public void setPostalAddress(String postalAddress) {
		this.postalAddress = postalAddress;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public String getContactsFixedTel() {
		return contactsFixedTel;
	}

	public void setContactsFixedTel(String contactsFixedTel) {
		this.contactsFixedTel = contactsFixedTel;
	}

	public String getContactsFax() {
		return contactsFax;
	}

	public void setContactsFax(String contactsFax) {
		this.contactsFax = contactsFax;
	}

	public String getLegalPersonTel() {
		return legalPersonTel;
	}

	public void setLegalPersonTel(String legalPersonTel) {
		this.legalPersonTel = legalPersonTel;
	}

	public String getLegalPersonFax() {
		return legalPersonFax;
	}

	public void setLegalPersonFax(String legalPersonFax) {
		this.legalPersonFax = legalPersonFax;
	}

	public String getLegalPersonEmail() {
		return legalPersonEmail;
	}

	public void setLegalPersonEmail(String legalPersonEmail) {
		this.legalPersonEmail = legalPersonEmail;
	}

	public BigDecimal getRegisteredCapital() {
		return registeredCapital;
	}

	public void setRegisteredCapital(BigDecimal registeredCapital) {
		this.registeredCapital = registeredCapital;
	}

	public Date getRegistrationTime() {
		return registrationTime;
	}

	public void setRegistrationTime(Date registrationTime) {
		this.registrationTime = registrationTime;
	}

	public String getLegalPerson() {
		return legalPerson;
	}

	public void setLegalPerson(String legalPerson) {
		this.legalPerson = legalPerson;
	}

	public String getLegalPersonIdCard() {
		return legalPersonIdCard;
	}

	public void setLegalPersonIdCard(String legalPersonIdCard) {
		this.legalPersonIdCard = legalPersonIdCard;
	}

	public String getOrgCode() {
		return orgCode;
	}

	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}

	public String getRatepayCode() {
		return ratepayCode;
	}

	public void setRatepayCode(String ratepayCode) {
		this.ratepayCode = ratepayCode;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getIndustry() {
		return industry;
	}

	public void setIndustry(Integer industry) {
		this.industry = industry;
	}

	
	public String getEnterpriseScale() {
		return enterpriseScale;
	}

	public void setEnterpriseScale(String enterpriseScale) {
		this.enterpriseScale = enterpriseScale;
	}

	public String getRegisterType() {
		return registerType;
	}

	public void setRegisterType(String registerType) {
		this.registerType = registerType;
	}

	public String getForeignInvestment() {
		return foreignInvestment;
	}

	public void setForeignInvestment(String foreignInvestment) {
		this.foreignInvestment = foreignInvestment;
	}

	public String getField() {
		return field;
	}

	public void setField(String field) {
		this.field = field;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getTaxAuthority() {
		return taxAuthority;
	}

	public void setTaxAuthority(Integer taxAuthority) {
		this.taxAuthority = taxAuthority;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getRatepayMethod() {
		return ratepayMethod;
	}

	public void setRatepayMethod(Integer ratepayMethod) {
		this.ratepayMethod = ratepayMethod;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getListed() {
		return listed;
	}

	public void setListed(Integer listed) {
		this.listed = listed;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getHighTechZone() {
		return highTechZone;
	}

	public void setHighTechZone(Integer highTechZone) {
		this.highTechZone = highTechZone;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getRiskInvestment() {
		return riskInvestment;
	}

	public void setRiskInvestment(Integer riskInvestment) {
		this.riskInvestment = riskInvestment;
	}

	public String getBusinessScope() {
		return businessScope;
	}

	public void setBusinessScope(String businessScope) {
		this.businessScope = businessScope;
	}

	public Integer getFirmTotal() {
		return firmTotal;
	}

	public void setFirmTotal(Integer firmTotal) {
		this.firmTotal = firmTotal;
	}

	public Integer getTechTotal() {
		return techTotal;
	}

	public void setTechTotal(Integer techTotal) {
		this.techTotal = techTotal;
	}

	public Date getListedDate() {
		return listedDate;
	}

	public void setListedDate(Date listedDate) {
		this.listedDate = listedDate;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getListedType() {
		return listedType;
	}

	public void setListedType(Integer listedType) {
		this.listedType = listedType;
	}

	public String getStockCode() {
		return stockCode;
	}

	public void setStockCode(String stockCode) {
		this.stockCode = stockCode;
	}

	public String getHighTechName() {
		return highTechName;
	}

	public void setHighTechName(String highTechName) {
		this.highTechName = highTechName;
	}

	public String getRegistrationTimeFormattedDate() {
		if (this.registrationTime == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getRegistrationTime(), AFTConstants.YYYYMMDD);
		}
	}

	public void setRegistrationTimeFormattedDate(String registrationTimeFormattedDate) {

	}

	public String getListedDateFormattedDate() {
		if (this.listedDate == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getListedDate(), AFTConstants.YYYYMMDD);
		}
	}

	public void setListedDateFormattedDate(String listedDateFormattedDate) {

	}

}
