package com.miaxis.app.school.domain;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.miaxis.common.core.domain.BaseBusinessEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.miaxis.common.annotation.Excel;
import com.miaxis.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

/**
 * 驾校对象 school_info
 *
 * @author miaxis
 * @date 2020-12-24
 */
@Data
@TableName("school_info")
@ApiModel(value = "SchoolInfo", description = "驾校对象 school_info")
public class SchoolInfo extends BaseBusinessEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 驾校全国统一编号
     */
    @TableId(value = "inscode")
    @ApiModelProperty(value = "驾校全国统一编号")
    private String inscode;

    /**
     * 驾校名称
     */
    @Excel(name = "驾校名称")
    @TableField("name")
    @ApiModelProperty(value = "驾校名称")
    private String name;

    /**
     * 驾校简称
     */
    @Excel(name = "驾校简称")
    @TableField("sname")
    @ApiModelProperty(value = "驾校简称")
    private String sname;

    /**
     * 驾校地址
     */
    @Excel(name = "驾校地址")
    @TableField("address")
    @ApiModelProperty(value = "驾校地址")
    private String address;

    /**
     * 法人代表证件号码
     */
    @Excel(name = "法人代表证件号码")
    @TableField("legal_person_id_number")
    @ApiModelProperty(value = "法人代表证件号码")
    private String legalPersonIdNumber;

    /**
     * 经营负责人
     */
    @Excel(name = "经营负责人")
    @TableField("responsible_person")
    @ApiModelProperty(value = "经营负责人")
    private String responsiblePerson;

    /**
     * 法人代表
     */
    @Excel(name = "法人代表")
    @TableField("legal_person_name")
    @ApiModelProperty(value = "法人代表")
    private String legalPersonName;

    /**
     * 行政区划名称
     */
    @Excel(name = "行政区划名称")
    @TableField("area_name")
    @ApiModelProperty(value = "行政区划名称")
    private String areaName;

    /**
     * 行政区划代码
     */
    @Excel(name = "行政区划代码")
    @TableField("area_code")
    @ApiModelProperty(value = "行政区划代码")
    private String areaCode;

    /**
     * 驾校电话
     */
    @Excel(name = "驾校电话")
    @TableField("tel")
    @ApiModelProperty(value = "驾校电话")
    private String tel;

    /**
     * 驾校微信号
     */
    @Excel(name = "驾校微信号")
    @TableField("wechar")
    @ApiModelProperty(value = "驾校微信号")
    private String wechar;

    /**
     * 注册日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("registration_date")
    @ApiModelProperty(value = "注册日期")
    private Date registrationDate;

    /**
     * 经营许可证号
     */
    @Excel(name = "经营许可证号")
    @TableField("license_number")
    @ApiModelProperty(value = "经营许可证号")
    private String licenseNumber;

    /**
     * 经营许可证字
     */
    @Excel(name = "经营许可证字")
    @TableField("license_word")
    @ApiModelProperty(value = "经营许可证字")
    private String licenseWord;

    /**
     * 有效期起
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期起", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("license_valid_period_from")
    @ApiModelProperty(value = "有效期起")
    private Date licenseValidPeriodFrom;

    /**
     * 有效期止
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期止", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("license_valid_period_end")
    @ApiModelProperty(value = "有效期止")
    private Date licenseValidPeriodEnd;

    /**
     * 上年度信用等级
     */
    @Excel(name = "上年度信用等级")
    @TableField("credibility_grade")
    @ApiModelProperty(value = "上年度信用等级")
    private String credibilityGrade;

    /**
     * 当前信用得分
     */
    @Excel(name = "当前信用得分")
    @TableField("credibility_score")
    @ApiModelProperty(value = "当前信用得分")
    private String credibilityScore;

    /**
     * 业户车辆总数
     */
    @Excel(name = "业户车辆总数")
    @TableField("vehicle_sum")
    @ApiModelProperty(value = "业户车辆总数")
    private Long vehicleSum;

    /**
     * 注册资金（单位:万元）
     */
    @Excel(name = "注册资金", readConverterExp = "单=位:万元")
    @TableField("regcapital")
    @ApiModelProperty(value = "注册资金（单位:万元）")
    private Long regcapital;

    /**
     * 工商执照号
     */
    @Excel(name = "工商执照号")
    @TableField("bizlicense")
    @ApiModelProperty(value = "工商执照号")
    private String bizlicense;

    /**
     * 原始gps经度，单位为1*10-6 度
     */
    @Excel(name = "原始gps经度，单位为1*10-6 度")
    @TableField("poi_lon")
    @ApiModelProperty(value = "原始gps经度，单位为1*10-6 度")
    private BigDecimal poiLon;

    /**
     * 原始gps纬度，单位为1*10-6 度
     */
    @Excel(name = "原始gps纬度，单位为1*10-6 度")
    @TableField("poi_lat")
    @ApiModelProperty(value = "原始gps纬度，单位为1*10-6 度")
    private BigDecimal poiLat;

    /**
     * 逻辑删除标识（1：是；0：否）
     */
    @Excel(name = "逻辑删除标识", readConverterExp = "1=：是；0：否")
    @TableField("removed")
    @ApiModelProperty(value = "逻辑删除标识（1：是；0：否）")
    private Long removed;

    /**
     * 初次领证日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次领证日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("initial_receipt_date")
    @ApiModelProperty(value = "初次领证日期")
    private Date initialReceiptDate;

    /**
     * 业户经营状态
     */
    @Excel(name = "业户经营状态")
    @TableField("business_status_name")
    @ApiModelProperty(value = "业户经营状态")
    private String businessStatusName;

    /**
     * 培训车型
     */
    @Excel(name = "培训车型")
    @TableField("pxcx")
    @ApiModelProperty(value = "培训车型")
    private String pxcx;

    /**
     * 运政code
     */
    @Excel(name = "运政code")
    @TableField("yz_code")
    @ApiModelProperty(value = "运政code")
    private String yzCode;


    public void setInscode(String inscode) {
        this.inscode = inscode;
    }

    public String getInscode() {
        return inscode;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getSname() {
        return sname;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setLegalPersonIdNumber(String legalPersonIdNumber) {
        this.legalPersonIdNumber = legalPersonIdNumber;
    }

    public String getLegalPersonIdNumber() {
        return legalPersonIdNumber;
    }

    public void setResponsiblePerson(String responsiblePerson) {
        this.responsiblePerson = responsiblePerson;
    }

    public String getResponsiblePerson() {
        return responsiblePerson;
    }

    public void setLegalPersonName(String legalPersonName) {
        this.legalPersonName = legalPersonName;
    }

    public String getLegalPersonName() {
        return legalPersonName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getTel() {
        return tel;
    }

    public void setWechar(String wechar) {
        this.wechar = wechar;
    }

    public String getWechar() {
        return wechar;
    }

    public void setRegistrationDate(Date registrationDate) {
        this.registrationDate = registrationDate;
    }

    public Date getRegistrationDate() {
        return registrationDate;
    }

    public void setLicenseNumber(String licenseNumber) {
        this.licenseNumber = licenseNumber;
    }

    public String getLicenseNumber() {
        return licenseNumber;
    }

    public void setLicenseWord(String licenseWord) {
        this.licenseWord = licenseWord;
    }

    public String getLicenseWord() {
        return licenseWord;
    }

    public void setLicenseValidPeriodFrom(Date licenseValidPeriodFrom) {
        this.licenseValidPeriodFrom = licenseValidPeriodFrom;
    }

    public Date getLicenseValidPeriodFrom() {
        return licenseValidPeriodFrom;
    }

    public void setLicenseValidPeriodEnd(Date licenseValidPeriodEnd) {
        this.licenseValidPeriodEnd = licenseValidPeriodEnd;
    }

    public Date getLicenseValidPeriodEnd() {
        return licenseValidPeriodEnd;
    }

    public void setCredibilityGrade(String credibilityGrade) {
        this.credibilityGrade = credibilityGrade;
    }

    public String getCredibilityGrade() {
        return credibilityGrade;
    }

    public void setCredibilityScore(String credibilityScore) {
        this.credibilityScore = credibilityScore;
    }

    public String getCredibilityScore() {
        return credibilityScore;
    }

    public void setVehicleSum(Long vehicleSum) {
        this.vehicleSum = vehicleSum;
    }

    public Long getVehicleSum() {
        return vehicleSum;
    }

    public void setRegcapital(Long regcapital) {
        this.regcapital = regcapital;
    }

    public Long getRegcapital() {
        return regcapital;
    }

    public void setBizlicense(String bizlicense) {
        this.bizlicense = bizlicense;
    }

    public String getBizlicense() {
        return bizlicense;
    }

    public void setPoiLon(BigDecimal poiLon) {
        this.poiLon = poiLon;
    }

    public BigDecimal getPoiLon() {
        return poiLon;
    }

    public void setPoiLat(BigDecimal poiLat) {
        this.poiLat = poiLat;
    }

    public BigDecimal getPoiLat() {
        return poiLat;
    }

    public void setRemoved(Long removed) {
        this.removed = removed;
    }

    public Long getRemoved() {
        return removed;
    }

    public void setInitialReceiptDate(Date initialReceiptDate) {
        this.initialReceiptDate = initialReceiptDate;
    }

    public Date getInitialReceiptDate() {
        return initialReceiptDate;
    }

    public void setBusinessStatusName(String businessStatusName) {
        this.businessStatusName = businessStatusName;
    }

    public String getBusinessStatusName() {
        return businessStatusName;
    }

    public void setPxcx(String pxcx) {
        this.pxcx = pxcx;
    }

    public String getPxcx() {
        return pxcx;
    }

    public String getYzCode() {
        return yzCode;
    }

    public void setYzCode(String yzCode) {
        this.yzCode = yzCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("inscode", getInscode())
                .append("name", getName())
                .append("sname", getSname())
                .append("address", getAddress())
                .append("legalPersonIdNumber", getLegalPersonIdNumber())
                .append("responsiblePerson", getResponsiblePerson())
                .append("legalPersonName", getLegalPersonName())
                .append("areaName", getAreaName())
                .append("areaCode", getAreaCode())
                .append("tel", getTel())
                .append("wechar", getWechar())
                .append("registrationDate", getRegistrationDate())
                .append("licenseNumber", getLicenseNumber())
                .append("licenseWord", getLicenseWord())
                .append("licenseValidPeriodFrom", getLicenseValidPeriodFrom())
                .append("licenseValidPeriodEnd", getLicenseValidPeriodEnd())
                .append("credibilityGrade", getCredibilityGrade())
                .append("credibilityScore", getCredibilityScore())
                .append("vehicleSum", getVehicleSum())
                .append("regcapital", getRegcapital())
                .append("bizlicense", getBizlicense())
                .append("poiLon", getPoiLon())
                .append("poiLat", getPoiLat())
                .append("removed", getRemoved())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("initialReceiptDate", getInitialReceiptDate())
                .append("businessStatusName", getBusinessStatusName())
                .append("pxcx", getPxcx())
                .append("yzCode", getYzCode())
                .toString();
    }
}
