package com.sifang.modules.customer.entity;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;

@Entity
@Table(name = "crm_customer_incoming_application_per_info")
public class CrmCustomerIncomingApplicationPerInfo implements Serializable {

    /**
     * id
     */
    private String id;

    //就业状况:11-国家公务员 13-专业技术人员 17-职员 21-企业管理人员 24-工人 27-农民 31-学生 37-现役军人 51-自由职业者 54-个体经营者
    // 70-无业人员 80-退（离）休人员 90-其他 91-在职 99-未知
    private String employmentStatus;

    //单位性质:01-国家机关及事业单位 04-国有企业 07-外资企业 08-合资企业 09-民营企业 10-个体工商户 11-其他
    private String jobNature;

    /**
     * 进件申请id
     */
    private String applicationId;

    /**
     * crm_customer_entry 表id
     */
    private String entryId;

    /**
     * 姓名
     */
    private String name;

    /**
     * 性别(MALE:男 FEMALE:女 UNKNOW:未知)
     */
    private String sex;

    /**
     * 出生日期(yyyy-MM-dd)
     */
    private String birthdayDate;

    /**
     * 单位名称
     */
    private String workCorp;

    /**
     * 职业(0：国家机关、党群组织、企业、事业单位负责人;1：专业技术人员;3：表示办事人员和有关人员;4：商业、服务业人员;5：农、林、牧、渔、水利业生产人员;6：生产、运输设备操作人员及有关人员;X：表示军人;Y：表示不便分类的其他从业人员;Z：表示未知;)
     */
    private String occupation;

    /**
     * 职务(1：表示高级领导 2：表示中级领导 3：表示一般员工;4：表示其他;9：表示未知;)
     */
    private String headShip;

    /**
     * 职称(0：无;1：高级;2：中级;3：初级;9：未知;)
     */
    private String position;

    /**
     * 行业(填写GB/T 4754的小类)
     */
    private Integer industry;

    /**
     * 最高学位(0：其他;1：名誉博士;2：博士;3：硕士;4：学士;9：未知)
     */
    private String eduDegree;

    /**
     * 最高学历(POST_GRADUATE_OR_HIGHER:硕士或以上学位;UNDERGRADUATE:本科;PROFESSIONAL_TRAINING:专科;SENIOR:高中;JUNIOR:初中;PRIMARY:小学)
     */
    private String eduExperience;

    /**
     * 证件类型(0:身份证;1:护照;2:军官证;3:户口簿;4:士兵证;5:警官证;6:台湾同胞来往内地通行证;7:港澳居民来往内地通行证;8:外国人居住证;9:临时身份证;10:其他证件;)
     */
    private String idCardType;

    /**
     * 身份证号码
     */
    private String idCardNo;

    /**
     * 身份证生效日(yyyy-MM-dd)
     */
    private String icValidityBegin;

    /**
     * 身份证到期日(9999-12-31代表长期)
     */
    private String icValidityEnd;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 手机号码
     */
    private String telephoneNum;

    /**
     * 民族
     */
    private String nationalId;

    /**
     * 个人年收入
     */
    private BigDecimal personalAnnualIncome;

    /**
     * 家庭年收入
     */
    private BigDecimal familyAnnualIncome;

    /**
     * 自有房产情况(0：无自有房产;1：自置;2：按揭;3：亲属楼宇;4：集体宿舍;5：租房;6：共有住宅;7：其他;9：未知;)
     */
    private String houseProperty;

    /**
     * 居住状况(1：自置;2：按揭;3：亲属楼宇;4：集体宿舍;5：租房;6：共有住宅;7：其他;9：未知;)
     */
    private String familyStatus;

    /**
     * 家庭地址(如：110000,110100,110101(对应北京市,市辖区,东城区))
     */
    private String familyAddr;

    /**
     * 详细家庭地址
     */
    private String familyAddrDetails;

    /**
     * 家庭地址邮政编码
     */
    private String familyZip;

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

    /**
     * 详细通讯地址
     */
    private String mailingAddrDetails;

    /**
     * 通讯地址邮政编码
     */
    private String mailingZip;

    /**
     * 邮箱地址
     */
    private String clientEmail;

    /**
     * 客户类型(01:个体工商户;02:小企业主;03:其他)
     */
    private String superviseClientType;

    /**
     * 业务品种(01:个人经营性;02:个人消费性;03:其他)
     */
    private String superviseBizType;

    /**
     * 婚姻状况(UNMARRIED:未婚;MARRIED:已婚;DIVORCED:离婚;WIDOWED:丧偶;OTHER:其他)
     */
    private String marriageInfo;

    /**
     * 子女状况(填写子女数量，0-9)
     */
    private String childrenInfo;

    /**
     * 配偶性别(MALE:男 FEMALE:女 UNKNOW:未知)
     */
    private String spouseSex;

    /**
     * 配偶姓名
     */
    private String partnerNameSpan;

    /**
     * 配偶证件类型
     */
    private String spouseIdCardType;

    /**
     * 配偶证件号码
     */
    private String spouseIdCardNo;

    /**
     * 状态(状态(0 正常 1 删除))
     */
    private String status;

    private String payAccountName;
    private String payBankName;
    private String payAccountNo;
    private String payBankCode;

    private String idCardFrontImg;
    private String idCardBackImg;
    private String housePropertyImg;
    private String residenceFrontImg;
    private String residenceBackImg;
    private String accountCardImg;



    private String province;
    private String city;
    private String area;

    private static final long serialVersionUID = 1L;

    public String getStatus() {
        return status;
    }

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

    @Transient
    public String getProvince() {
        return province;
    }

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

    @Transient
    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
    @Transient
    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    /**
     * id
     */
    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    public String getId() {
        return id;
    }

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

    /**
     * crm_customer_entry 表id
     */
    public String getEntryId() {
        return entryId;
    }

    /**
     * crm_customer_entry 表id
     */
    public void setEntryId(String entryId) {
        this.entryId = entryId;
    }

    /**
     * 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 性别(MALE:男 FEMALE:女 UNKNOW:未知)
     */
    public String getSex() {
        return sex;
    }

    /**
     * 性别(MALE:男 FEMALE:女 UNKNOW:未知)
     */
    public void setSex(String sex) {
        this.sex = sex;
    }

    /**
     * 出生日期(yyyy-MM-dd)
     */
    public String getBirthdayDate() {
        return birthdayDate;
    }

    /**
     * 出生日期(yyyy-MM-dd)
     */
    public void setBirthdayDate(String birthdayDate) {
        this.birthdayDate = birthdayDate;
    }

    /**
     * 单位名称
     */
    public String getWorkCorp() {
        return workCorp;
    }

    /**
     * 单位名称
     */
    public void setWorkCorp(String workCorp) {
        this.workCorp = workCorp;
    }

    /**
     * 职业(0：国家机关、党群组织、企业、事业单位负责人;1：专业技术人员;3：表示办事人员和有关人员;4：商业、服务业人员;5：农、林、牧、渔、水利业生产人员;6：生产、运输设备操作人员及有关人员;X：表示军人;Y：表示不便分类的其他从业人员;Z：表示未知;)
     */
    public String getOccupation() {
        return occupation;
    }

    /**
     * 职业(0：国家机关、党群组织、企业、事业单位负责人;1：专业技术人员;3：表示办事人员和有关人员;4：商业、服务业人员;5：农、林、牧、渔、水利业生产人员;6：生产、运输设备操作人员及有关人员;X：表示军人;Y：表示不便分类的其他从业人员;Z：表示未知;)
     */
    public void setOccupation(String occupation) {
        this.occupation = occupation;
    }

    /**
     * 职务(1：表示高级领导 2：表示中级领导 3：表示一般员工;4：表示其他;9：表示未知;)
     */
    public String getHeadShip() {
        return headShip;
    }

    /**
     * 职务(1：表示高级领导 2：表示中级领导 3：表示一般员工;4：表示其他;9：表示未知;)
     */
    public void setHeadShip(String headShip) {
        this.headShip = headShip;
    }

    /**
     * 职称(0：无;1：高级;2：中级;3：初级;9：未知;)
     */
    public String getPosition() {
        return position;
    }

    /**
     * 职称(0：无;1：高级;2：中级;3：初级;9：未知;)
     */
    public void setPosition(String position) {
        this.position = position;
    }

    /**
     * 行业(填写GB/T 4754的小类)
     */
    public Integer getIndustry() {
        return industry;
    }

    /**
     * 行业(填写GB/T 4754的小类)
     */
    public void setIndustry(Integer industry) {
        this.industry = industry;
    }

    /**
     * 最高学位(0：其他;1：名誉博士;2：博士;3：硕士;4：学士;9：未知)
     */
    public String getEduDegree() {
        return eduDegree;
    }

    /**
     * 最高学位(0：其他;1：名誉博士;2：博士;3：硕士;4：学士;9：未知)
     */
    public void setEduDegree(String eduDegree) {
        this.eduDegree = eduDegree;
    }

    /**
     * 最高学历(POST_GRADUATE_OR_HIGHER:硕士或以上学位;UNDERGRADUATE:本科;PROFESSIONAL_TRAINING:专科;SENIOR:高中;JUNIOR:初中;PRIMARY:小学)
     */
    public String getEduExperience() {
        return eduExperience;
    }

    /**
     * 最高学历(POST_GRADUATE_OR_HIGHER:硕士或以上学位;UNDERGRADUATE:本科;PROFESSIONAL_TRAINING:专科;SENIOR:高中;JUNIOR:初中;PRIMARY:小学)
     */
    public void setEduExperience(String eduExperience) {
        this.eduExperience = eduExperience;
    }

    /**
     * 证件类型(0:身份证;1:护照;2:军官证;3:户口簿;4:士兵证;5:警官证;6:台湾同胞来往内地通行证;7:港澳居民来往内地通行证;8:外国人居住证;9:临时身份证;10:其他证件;)
     */
    public String getIdCardType() {
        return idCardType;
    }

    /**
     * 证件类型(0:身份证;1:护照;2:军官证;3:户口簿;4:士兵证;5:警官证;6:台湾同胞来往内地通行证;7:港澳居民来往内地通行证;8:外国人居住证;9:临时身份证;10:其他证件;)
     */
    public void setIdCardType(String idCardType) {
        this.idCardType = idCardType;
    }

    /**
     * 身份证号码
     */
    public String getIdCardNo() {
        return idCardNo;
    }

    /**
     * 身份证号码
     */
    public void setIdCardNo(String idCardNo) {
        this.idCardNo = idCardNo;
    }

    /**
     * 身份证生效日(yyyy-MM-dd)
     */
    public String getIcValidityBegin() {
        return icValidityBegin;
    }

    /**
     * 身份证生效日(yyyy-MM-dd)
     */
    public void setIcValidityBegin(String icValidityBegin) {
        this.icValidityBegin = icValidityBegin;
    }

    /**
     * 身份证到期日(9999-12-31代表长期)
     */
    public String getIcValidityEnd() {
        return icValidityEnd;
    }

    /**
     * 身份证到期日(9999-12-31代表长期)
     */
    public void setIcValidityEnd(String icValidityEnd) {
        this.icValidityEnd = icValidityEnd;
    }

    /**
     * 年龄
     */
    public Integer getAge() {
        return age;
    }

    /**
     * 年龄
     */
    public void setAge(Integer age) {
        this.age = age;
    }

    /**
     * 手机号码
     */
    public String getTelephoneNum() {
        return telephoneNum;
    }

    /**
     * 手机号码
     */
    public void setTelephoneNum(String telephoneNum) {
        this.telephoneNum = telephoneNum;
    }

    /**
     * 民族
     */
    public String getNationalId() {
        return nationalId;
    }

    /**
     * 民族
     */
    public void setNationalId(String nationalId) {
        this.nationalId = nationalId;
    }

    /**
     * 个人年收入
     */
    public BigDecimal getPersonalAnnualIncome() {
        return personalAnnualIncome;
    }

    /**
     * 个人年收入
     */
    public void setPersonalAnnualIncome(BigDecimal personalAnnualIncome) {
        this.personalAnnualIncome = personalAnnualIncome;
    }

    /**
     * 家庭年收入
     */
    public BigDecimal getFamilyAnnualIncome() {
        return familyAnnualIncome;
    }

    /**
     * 家庭年收入
     */
    public void setFamilyAnnualIncome(BigDecimal familyAnnualIncome) {
        this.familyAnnualIncome = familyAnnualIncome;
    }

    /**
     * 自有房产情况(0：无自有房产;1：自置;2：按揭;3：亲属楼宇;4：集体宿舍;5：租房;6：共有住宅;7：其他;9：未知;)
     */
    public String getHouseProperty() {
        return houseProperty;
    }

    /**
     * 自有房产情况(0：无自有房产;1：自置;2：按揭;3：亲属楼宇;4：集体宿舍;5：租房;6：共有住宅;7：其他;9：未知;)
     */
    public void setHouseProperty(String houseProperty) {
        this.houseProperty = houseProperty;
    }

    /**
     * 居住状况(1：自置;2：按揭;3：亲属楼宇;4：集体宿舍;5：租房;6：共有住宅;7：其他;9：未知;)
     */
    public String getFamilyStatus() {
        return familyStatus;
    }

    /**
     * 居住状况(1：自置;2：按揭;3：亲属楼宇;4：集体宿舍;5：租房;6：共有住宅;7：其他;9：未知;)
     */
    public void setFamilyStatus(String familyStatus) {
        this.familyStatus = familyStatus;
    }

    /**
     * 家庭地址(如：110000,110100,110101(对应北京市,市辖区,东城区))
     */
    public String getFamilyAddr() {
        return familyAddr;
    }

    /**
     * 家庭地址(如：110000,110100,110101(对应北京市,市辖区,东城区))
     */
    public void setFamilyAddr(String familyAddr) {
        this.familyAddr = familyAddr;
    }

    /**
     * 详细家庭地址
     */
    public String getFamilyAddrDetails() {
        return familyAddrDetails;
    }

    /**
     * 详细家庭地址
     */
    public void setFamilyAddrDetails(String familyAddrDetails) {
        this.familyAddrDetails = familyAddrDetails;
    }

    /**
     * 家庭地址邮政编码
     */
    public String getFamilyZip() {
        return familyZip;
    }

    /**
     * 家庭地址邮政编码
     */
    public void setFamilyZip(String familyZip) {
        this.familyZip = familyZip;
    }

    /**
     * 通讯地址
     */
    public String getMailingAddr() {
        return mailingAddr;
    }

    /**
     * 通讯地址
     */
    public void setMailingAddr(String mailingAddr) {
        this.mailingAddr = mailingAddr;
    }

    /**
     * 详细通讯地址
     */
    public String getMailingAddrDetails() {
        return mailingAddrDetails;
    }

    /**
     * 详细通讯地址
     */
    public void setMailingAddrDetails(String mailingAddrDetails) {
        this.mailingAddrDetails = mailingAddrDetails;
    }

    /**
     * 通讯地址邮政编码
     */
    public String getMailingZip() {
        return mailingZip;
    }

    /**
     * 通讯地址邮政编码
     */
    public void setMailingZip(String mailingZip) {
        this.mailingZip = mailingZip;
    }

    /**
     * 邮箱地址
     */
    public String getClientEmail() {
        return clientEmail;
    }

    /**
     * 邮箱地址
     */
    public void setClientEmail(String clientEmail) {
        this.clientEmail = clientEmail;
    }

    /**
     * 客户类型(01:个体工商户;02:小企业主;03:其他)
     */
    public String getSuperviseClientType() {
        return superviseClientType;
    }

    /**
     * 客户类型(01:个体工商户;02:小企业主;03:其他)
     */
    public void setSuperviseClientType(String superviseClientType) {
        this.superviseClientType = superviseClientType;
    }

    /**
     * 业务品种(01:个人经营性;02:个人消费性;03:其他)
     */
    public String getSuperviseBizType() {
        return superviseBizType;
    }

    /**
     * 业务品种(01:个人经营性;02:个人消费性;03:其他)
     */
    public void setSuperviseBizType(String superviseBizType) {
        this.superviseBizType = superviseBizType;
    }

    /**
     * 婚姻状况(UNMARRIED:未婚;MARRIED:已婚;DIVORCED:离婚;WIDOWED:丧偶;OTHER:其他)
     */
    public String getMarriageInfo() {
        return marriageInfo;
    }

    /**
     * 婚姻状况(UNMARRIED:未婚;MARRIED:已婚;DIVORCED:离婚;WIDOWED:丧偶;OTHER:其他)
     */
    public void setMarriageInfo(String marriageInfo) {
        this.marriageInfo = marriageInfo;
    }

    /**
     * 子女状况(填写子女数量，0-9)
     */
    public String getChildrenInfo() {
        return childrenInfo;
    }

    /**
     * 子女状况(填写子女数量，0-9)
     */
    public void setChildrenInfo(String childrenInfo) {
        this.childrenInfo = childrenInfo;
    }

    /**
     * 配偶性别(MALE:男 FEMALE:女 UNKNOW:未知)
     */
    public String getSpouseSex() {
        return spouseSex;
    }

    /**
     * 配偶性别(MALE:男 FEMALE:女 UNKNOW:未知)
     */
    public void setSpouseSex(String spouseSex) {
        this.spouseSex = spouseSex;
    }

    /**
     * 配偶姓名
     */
    public String getPartnerNameSpan() {
        return partnerNameSpan;
    }

    /**
     * 配偶姓名
     */
    public void setPartnerNameSpan(String partnerNameSpan) {
        this.partnerNameSpan = partnerNameSpan;
    }

    /**
     * 配偶证件类型
     */
    public String getSpouseIdCardType() {
        return spouseIdCardType;
    }

    /**
     * 配偶证件类型
     */
    public void setSpouseIdCardType(String spouseIdCardType) {
        this.spouseIdCardType = spouseIdCardType;
    }

    public String getSpouseIdCardNo() {
        return spouseIdCardNo;
    }

    public void setSpouseIdCardNo(String spouseIdCardNo) {
        this.spouseIdCardNo = spouseIdCardNo;
    }

    public String getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    public String getPayAccountName() {
        return payAccountName;
    }

    public void setPayAccountName(String payAccountName) {
        this.payAccountName = payAccountName;
    }

    public String getPayBankName() {
        return payBankName;
    }

    public void setPayBankName(String payBankName) {
        this.payBankName = payBankName;
    }

    public String getPayAccountNo() {
        return payAccountNo;
    }

    public void setPayAccountNo(String payAccountNo) {
        this.payAccountNo = payAccountNo;
    }

    public String getPayBankCode() {
        return payBankCode;
    }

    public void setPayBankCode(String payBankCode) {
        this.payBankCode = payBankCode;
    }


    public String getIdCardFrontImg() {
        return idCardFrontImg;
    }

    public void setIdCardFrontImg(String idCardFrontImg) {
        this.idCardFrontImg = idCardFrontImg;
    }

    public String getIdCardBackImg() {
        return idCardBackImg;
    }

    public void setIdCardBackImg(String idCardBackImg) {
        this.idCardBackImg = idCardBackImg;
    }

    public String getHousePropertyImg() {
        return housePropertyImg;
    }

    public void setHousePropertyImg(String housePropertyImg) {
        this.housePropertyImg = housePropertyImg;
    }

    public String getResidenceFrontImg() {
        return residenceFrontImg;
    }

    public void setResidenceFrontImg(String residenceFrontImg) {
        this.residenceFrontImg = residenceFrontImg;
    }

    public String getResidenceBackImg() {
        return residenceBackImg;
    }

    public void setResidenceBackImg(String residenceBackImg) {
        this.residenceBackImg = residenceBackImg;
    }

    public String getAccountCardImg() {
        return accountCardImg;
    }

    public void setAccountCardImg(String accountCardImg) {
        this.accountCardImg = accountCardImg;
    }

    public String getEmploymentStatus() {
        return employmentStatus;
    }

    public void setEmploymentStatus(String employmentStatus) {
        this.employmentStatus = employmentStatus;
    }

    public String getJobNature() {
        return jobNature;
    }

    public void setJobNature(String jobNature) {
        this.jobNature = jobNature;
    }
}
