package com.mortals.xhx.modules.supplement.model;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.common.utils.ExcelConvertApplication;
import com.mortals.xhx.common.utils.ExcelConvertCardType;
import com.mortals.xhx.common.utils.ExcelConvertDateProperty;
import com.mortals.xhx.common.utils.ExcelConvertMainProperty;

/**
*
* Description:Supplement
* date: 2021-8-12 14:22:26
*/
public class SupplementEntity extends BaseEntityLong{
    private static final long serialVersionUID = 1628749346439L;


    /**
     * 实施清单名称
     */
    @ExcelProperty("实施清单名称*")
    private String implName;

    /**
     * 实施清单编码
     */
    @ExcelProperty("实施清单编码*")
    private String implCode;

    /**
     * 申请人属性
     */
    @ExcelProperty(value = "申请人属性*", converter = ExcelConvertApplication.class)
    private String applicationType;

    /**
     * 申请人证件类型
     */
    @ExcelProperty(value = "申请人证件类型*", converter = ExcelConvertCardType.class)
    private String applicationCardType;

    /**
     * 申请人姓名
     */
    @ExcelProperty("申请人姓名*")
    private String applicationName;

    /**
     * 申请人证件号码
     */
    @ExcelProperty("申请人证件号码*")
    private String applicationId;

    /**
     * 申请人手机号码
     */
    @ExcelProperty("申请人手机号码*")
    private String applicationPhone;

    /**
     * 机构名称
     */
    @ExcelProperty("机构名称*")
    private String mechanismName;

    /**
     * 机构地址
     */
    @ExcelProperty("机构地址")
    private String mechanismAddress;

    /**
     * 机构性质
     */
    @ExcelProperty(value = "机构性质*", converter = ExcelConvertMainProperty.class)
    private String mechanismType;

    /**
     * 机构证件类型
     */
    @ExcelProperty(value = "证件类型*", converter = ExcelConvertCardType.class)
    private String mechanismIdType;

    /**
     * 机构编码
     */
    @ExcelProperty("机构编码*")
    private String mechanismId;

    /**
     * 法人姓名
     */
    @ExcelProperty("法人姓名*")
    private String legalPerson;

    /**
     * 办件申请日期
     */
    @ExcelProperty(value = "办件申请日期", converter = ExcelConvertDateProperty.class)
    private String applyTime;

    /**
     * 受理人姓名
     */
    @ExcelProperty("受理人姓名")
    private String acceptName;

    /**
     * 受理人身份证号码
     */
    @ExcelProperty("受理人身份证号码")
    private String acceptId;

    /**
     * 受理人手机号
     */
    @ExcelProperty("受理人手机号")
    private String acceptPhone;

    /**
     * 系统编码
     */
    @ExcelIgnore
    private String sysCode;

    /**
     * 是否执行转化（0.未执行  1.已执行）
     */
    @ExcelIgnore
    private String isExecute;

    /**
     * 是否转化成功（0默认 1成功）
     */
    @ExcelIgnore
    private String isSuccess;

    /**
     * 失败原因
     */
    @ExcelIgnore
    private String failReason;

    /**
    * 创建时间
    */
    @ExcelIgnore
    private Date createDate;

    /**
    * 更新时间
    */
    @ExcelIgnore
    private Date updateDate;

    public SupplementEntity(){

    }
    /**
    * 获取 实施清单名称
    * @return implName
    */
    public String getImplName() {
        return this.implName;
    }
    /**
    * 设置 实施清单名称
    * @param implName
    */
    public void setImplName(String implName) {
        this.implName = implName;
    }
    /**
    * 获取 实施清单编码
    * @return implCode
    */
    public String getImplCode() {
        return this.implCode;
    }
    /**
    * 设置 实施清单编码
    * @param implCode
    */
    public void setImplCode(String implCode) {
        this.implCode = implCode;
    }
    /**
    * 获取 申请人属性
    * @return applicationType
    */
    public String getApplicationType() {
        return this.applicationType;
    }
    /**
    * 设置 申请人属性
    * @param applicationType
    */
    public void setApplicationType(String applicationType) {
        this.applicationType = applicationType;
    }
    /**
    * 获取 申请人证件类型
    * @return applicationCardType
    */
    public String getApplicationCardType() {
        return this.applicationCardType;
    }
    /**
    * 设置 申请人证件类型
    * @param applicationCardType
    */
    public void setApplicationCardType(String applicationCardType) {
        this.applicationCardType = applicationCardType;
    }
    /**
    * 获取 申请人姓名
    * @return applicationName
    */
    public String getApplicationName() {
        return this.applicationName;
    }
    /**
    * 设置 申请人姓名
    * @param applicationName
    */
    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }
    /**
    * 获取 申请人证件号码
    * @return applicationId
    */
    public String getApplicationId() {
        return this.applicationId;
    }
    /**
    * 设置 申请人证件号码
    * @param applicationId
    */
    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }
    /**
    * 获取 申请人手机号码
    * @return applicationPhone
    */
    public String getApplicationPhone() {
        return this.applicationPhone;
    }
    /**
    * 设置 申请人手机号码
    * @param applicationPhone
    */
    public void setApplicationPhone(String applicationPhone) {
        this.applicationPhone = applicationPhone;
    }
    /**
    * 获取 机构名称
    * @return mechanismName
    */
    public String getMechanismName() {
        return this.mechanismName;
    }
    /**
    * 设置 机构名称
    * @param mechanismName
    */
    public void setMechanismName(String mechanismName) {
        this.mechanismName = mechanismName;
    }
    /**
    * 获取 机构地址
    * @return mechanismAddress
    */
    public String getMechanismAddress() {
        return this.mechanismAddress;
    }
    /**
    * 设置 机构地址
    * @param mechanismAddress
    */
    public void setMechanismAddress(String mechanismAddress) {
        this.mechanismAddress = mechanismAddress;
    }
    /**
    * 获取 机构性质
    * @return mechanismType
    */
    public String getMechanismType() {
        return this.mechanismType;
    }
    /**
    * 设置 机构性质
    * @param mechanismType
    */
    public void setMechanismType(String mechanismType) {
        this.mechanismType = mechanismType;
    }
    /**
    * 获取 机构证件类型
    * @return mechanismIdType
    */
    public String getMechanismIdType() {
        return this.mechanismIdType;
    }
    /**
    * 设置 机构证件类型
    * @param mechanismIdType
    */
    public void setMechanismIdType(String mechanismIdType) {
        this.mechanismIdType = mechanismIdType;
    }
    /**
    * 获取 机构编码
    * @return mechanismId
    */
    public String getMechanismId() {
        return this.mechanismId;
    }
    /**
    * 设置 机构编码
    * @param mechanismId
    */
    public void setMechanismId(String mechanismId) {
        this.mechanismId = mechanismId;
    }
    /**
    * 获取 法人姓名
    * @return legalPerson
    */
    public String getLegalPerson() {
        return this.legalPerson;
    }
    /**
    * 设置 法人姓名
    * @param legalPerson
    */
    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }
    /**
    * 获取 办件申请日期
    * @return applyTime
    */
    public String getApplyTime() {
        return this.applyTime;
    }
    /**
    * 设置 办件申请日期
    * @param applyTime
    */
    public void setApplyTime(String applyTime) {
        this.applyTime = applyTime;
    }
    /**
    * 获取 受理人姓名
    * @return acceptName
    */
    public String getAcceptName() {
        return this.acceptName;
    }
    /**
    * 设置 受理人姓名
    * @param acceptName
    */
    public void setAcceptName(String acceptName) {
        this.acceptName = acceptName;
    }
    /**
    * 获取 受理人身份证号码
    * @return acceptId
    */
    public String getAcceptId() {
        return this.acceptId;
    }
    /**
    * 设置 受理人身份证号码
    * @param acceptId
    */
    public void setAcceptId(String acceptId) {
        this.acceptId = acceptId;
    }
    /**
    * 获取 受理人手机号
    * @return acceptPhone
    */
    public String getAcceptPhone() {
        return this.acceptPhone;
    }
    /**
    * 设置 受理人手机号
    * @param acceptPhone
    */
    public void setAcceptPhone(String acceptPhone) {
        this.acceptPhone = acceptPhone;
    }
    /**
    * 获取 系统编码
    * @return sysCode
    */
    public String getSysCode() {
        return this.sysCode;
    }
    /**
    * 设置 系统编码
    * @param sysCode
    */
    public void setSysCode(String sysCode) {
        this.sysCode = sysCode;
    }
    /**
    * 获取 是否执行转化（0.未执行  1.已执行）
    * @return isExecute
    */
    public String getIsExecute() {
        return this.isExecute;
    }
    /**
    * 设置 是否执行转化（0.未执行  1.已执行）
    * @param isExecute
    */
    public void setIsExecute(String isExecute) {
        this.isExecute = isExecute;
    }
    /**
    * 获取 是否转化成功（0默认 1成功）
    * @return isSuccess
    */
    public String getIsSuccess() {
        return this.isSuccess;
    }
    /**
    * 设置 是否转化成功（0默认 1成功）
    * @param isSuccess
    */
    public void setIsSuccess(String isSuccess) {
        this.isSuccess = isSuccess;
    }
    /**
    * 获取 失败原因
    * @return failReason
    */
    public String getFailReason() {
        return this.failReason;
    }
    /**
    * 设置 失败原因
    * @param failReason
    */
    public void setFailReason(String failReason) {
        this.failReason = failReason;
    }
    /**
    * 获取 创建时间
    * @return createDate
    */
    public Date getCreateDate() {
        return this.createDate;
    }
    /**
    * 设置 创建时间
    * @param createDate
    */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
    /**
    * 获取 更新时间
    * @return updateDate
    */
    public Date getUpdateDate() {
        return this.updateDate;
    }
    /**
    * 设置 更新时间
    * @param updateDate
    */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null)
            return false;
        if (obj instanceof SupplementEntity) {
            SupplementEntity tmp = (SupplementEntity) obj;
            if (this.getId().longValue() == tmp.getId().longValue()) {
                return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb
        .append(",id:").append(getId())
                .append(",implName:").append(getImplName())
                .append(",implCode:").append(getImplCode())
                .append(",applicationType:").append(getApplicationType())
                .append(",applicationCardType:").append(getApplicationCardType())
                .append(",applicationName:").append(getApplicationName())
                .append(",applicationId:").append(getApplicationId())
                .append(",applicationPhone:").append(getApplicationPhone())
                .append(",mechanismName:").append(getMechanismName())
                .append(",mechanismAddress:").append(getMechanismAddress())
                .append(",mechanismType:").append(getMechanismType())
                .append(",mechanismIdType:").append(getMechanismIdType())
                .append(",mechanismId:").append(getMechanismId())
                .append(",legalPerson:").append(getLegalPerson())
                .append(",applyTime:").append(getApplyTime())
                .append(",acceptName:").append(getAcceptName())
                .append(",acceptId:").append(getAcceptId())
                .append(",acceptPhone:").append(getAcceptPhone())
                .append(",sysCode:").append(getSysCode())
                .append(",isExecute:").append(getIsExecute())
                .append(",isSuccess:").append(getIsSuccess())
                .append(",failReason:").append(getFailReason())
                .append(",createDate:").append(getCreateDate())
                .append(",updateDate:").append(getUpdateDate())
        ;
        return sb.toString();
    }

    public void initAttrValue(){
         this.implName = null;
         this.implCode = null;
         this.applicationType = null;
         this.applicationCardType = null;
         this.applicationName = null;
         this.applicationId = null;
         this.applicationPhone = null;
         this.mechanismName = null;
         this.mechanismAddress = null;
         this.mechanismType = null;
         this.mechanismIdType = null;
         this.mechanismId = null;
         this.legalPerson = null;
         this.applyTime = null;
         this.acceptName = null;
         this.acceptId = null;
         this.acceptPhone = null;
         this.sysCode = null;
         this.isExecute = null;
         this.isSuccess = null;
         this.failReason = null;
         this.createDate = null;
         this.updateDate = null;
    }
}