package com.jeeplus.assess.invoice.domain.OMS.InvoiceDown;

import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Pattern;

/**
 * 建筑服务信息实体类
 * 用于发票中建筑服务相关的特定信息
 */
public class OMSDownBuildingInfo {
    /**
     * 建筑服务发生地
     * 必填，100个字节
     */
    @NotBlank(message = "建筑服务发生地buildingAddress不能为空")
    private String buildingAddress;

    /**
     * 详细地址
     * 非必填，120个字节
     */
    private String detailedAddress;

    /**
     * 土地增值税项目编号
     * 非必填，16个字节
     */
    private String landVatItemNo;

    /**
     * 建筑项目名称
     * 必填，80个字节
     */
    @NotBlank(message = "建筑项目名称itemName不能为空")
    private String itemName;

    /**
     * 跨地（市）标志
     * 必填，1个字节，可选值：0-否，1-是
     */
    @NotBlank(message = "跨地（市）标志crossCityFlag不能为空")
    @Pattern(regexp = "^[01]$", message = "跨地（市）标志crossCityFlag只能是0或1")
    private String crossCityFlag;

    public String getBuildingAddress() {
        return buildingAddress;
    }

    public void setBuildingAddress(String buildingAddress) {
        this.buildingAddress = buildingAddress;
    }

    public String getDetailedAddress() {
        return detailedAddress;
    }

    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress;
    }

    public String getLandVatItemNo() {
        return landVatItemNo;
    }

    public void setLandVatItemNo(String landVatItemNo) {
        this.landVatItemNo = landVatItemNo;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getCrossCityFlag() {
        return crossCityFlag;
    }

    public void setCrossCityFlag(String crossCityFlag) {
        this.crossCityFlag = crossCityFlag;
    }
}
