package com.jeeplus.assess.invoice.domain.OMS;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Size;

/**
 * 二手车销售统一发票信息子实体类
 * 发票类型为84（数电票二手车销售统一发票）、88（数电纸票二手车销售统一发票）时必传
 */
public class UsedCarSale {

    /**
     * 车牌照号
     * 必填，最大20字符
     */
    @NotBlank(message = "车牌照号carNo不能为空")
    @Size(max = 20, message = "车牌照号长度不能超过20字符")
    private String carNo;

    /**
     * 登记证号
     * 必填，最大20字符
     */
    @NotBlank(message = "登记证号registrationNo不能为空")
    @Size(max = 20, message = "登记证号长度不能超过20字符")
    private String registrationNo;

    /**
     * 车辆识别代号/车架号码
     * 必填，最大23字符
     */
    @NotBlank(message = "车辆识别代号/车架号码frameNo不能为空")
    @Size(max = 23, message = "车辆识别代号长度不能超过23字符")
    private String frameNo;

    /**
     * 厂牌型号
     * 必填，最大60字符
     */
    @NotBlank(message = "厂牌型号brandModel不能为空")
    @Size(max = 60, message = "厂牌型号长度不能超过60字符")
    private String brandModel;

    /**
     * 转入地车辆管理所名称
     * 必填，最大80字符
     */
    @NotBlank(message = "转入地车辆管理所名称transferInVehicleRegistrationOffice不能为空")
    @Size(max = 80, message = "转入地车辆管理所名称长度不能超过80字符")
    private String transferInVehicleRegistrationOffice;

    /**
     * 经营单位名称
     * 必填，最大100字符
     */
    @NotBlank(message = "经营单位名称businessEntityName不能为空")
    @Size(max = 100, message = "经营单位名称长度不能超过100字符")
    private String businessEntityName;

    /**
     * 经营单位纳税人识别号
     * 必填，最大20字符
     */
    @NotBlank(message = "经营单位纳税人识别号businessEntityTaxno不能为空")
    @Size(max = 20, message = "经营单位纳税人识别号长度不能超过20字符")
    private String businessEntityTaxno;

    /**
     * 经营单位地址
     * 必填，最大100字符
     */
    @NotBlank(message = "经营单位地址businessEntityAddr不能为空")
    @Size(max = 100, message = "经营单位地址长度不能超过100字符")
    private String businessEntityAddr;

    /**
     * 经营单位电话
     * 必填，最大11字符
     */
    @NotBlank(message = "经营单位电话businessEntityPhone不能为空")
    @Size(max = 11, message = "经营单位电话长度不能超过11字符")
    private String businessEntityPhone;

    /**
     * 经营单位开户银行
     * 必填，最大100字符
     */
    @NotBlank(message = "经营单位开户银行businessEntityBank不能为空")
    @Size(max = 100, message = "经营单位开户银行长度不能超过100字符")
    private String businessEntityBank;

    /**
     * 经营单位银行账号
     * 必填，最大60字符
     */
    @NotBlank(message = "经营单位银行账号businessEntityBankAccount不能为空")
    @Size(max = 60, message = "经营单位银行账号长度不能超过60字符")
    private String businessEntityBankAccount;

    public String getCarNo() {
        return carNo;
    }

    public void setCarNo(String carNo) {
        this.carNo = carNo;
    }

    public String getRegistrationNo() {
        return registrationNo;
    }

    public void setRegistrationNo(String registrationNo) {
        this.registrationNo = registrationNo;
    }

    public String getFrameNo() {
        return frameNo;
    }

    public void setFrameNo(String frameNo) {
        this.frameNo = frameNo;
    }

    public String getBrandModel() {
        return brandModel;
    }

    public void setBrandModel(String brandModel) {
        this.brandModel = brandModel;
    }

    public String getTransferInVehicleRegistrationOffice() {
        return transferInVehicleRegistrationOffice;
    }

    public void setTransferInVehicleRegistrationOffice(String transferInVehicleRegistrationOffice) {
        this.transferInVehicleRegistrationOffice = transferInVehicleRegistrationOffice;
    }

    public String getBusinessEntityName() {
        return businessEntityName;
    }

    public void setBusinessEntityName(String businessEntityName) {
        this.businessEntityName = businessEntityName;
    }

    public String getBusinessEntityTaxno() {
        return businessEntityTaxno;
    }

    public void setBusinessEntityTaxno(String businessEntityTaxno) {
        this.businessEntityTaxno = businessEntityTaxno;
    }

    public String getBusinessEntityAddr() {
        return businessEntityAddr;
    }

    public void setBusinessEntityAddr(String businessEntityAddr) {
        this.businessEntityAddr = businessEntityAddr;
    }

    public String getBusinessEntityPhone() {
        return businessEntityPhone;
    }

    public void setBusinessEntityPhone(String businessEntityPhone) {
        this.businessEntityPhone = businessEntityPhone;
    }

    public String getBusinessEntityBank() {
        return businessEntityBank;
    }

    public void setBusinessEntityBank(String businessEntityBank) {
        this.businessEntityBank = businessEntityBank;
    }

    public String getBusinessEntityBankAccount() {
        return businessEntityBankAccount;
    }

    public void setBusinessEntityBankAccount(String businessEntityBankAccount) {
        this.businessEntityBankAccount = businessEntityBankAccount;
    }
}
