package com.jianshui.platform.domain;

import java.math.BigDecimal;
import com.jianshui.common.annotation.Excel;
import com.jianshui.common.core.domain.BaseEntity;
import net.logstash.logback.encoder.org.apache.commons.lang3.builder.ToStringBuilder;
import net.logstash.logback.encoder.org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品信息对象 product_info
 * 
 * @author kk
 * @date 2023-06-27
 */
public class ProductInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String productCode;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal taxRate;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specification;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String unitOfMeasurement;

    /** 税收分类编码 */
    @Excel(name = "税收分类编码")
    private String taxCategoryCode;

    /** 税收分类编码Id */
    @Excel(name = "税收分类编码Id")
    private Long taxCategoryCodeId;

    /** 税收分类编码简称 */
    @Excel(name = "税收分类编码简称")
    private String taxCategoryAbbreviation;

    /** 是否享受优惠政策 */
    @Excel(name = "是否享受优惠政策")
    private String isQualifiedForDiscount;

    /** 优惠政策类型 */
    @Excel(name = "优惠政策类型")
    private String discountPolicyType;

    /** 零税率标识 */
    @Excel(name = "零税率标识")
    private String zeroTaxRateIndicator;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setTaxRate(BigDecimal taxRate) 
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate() 
    {
        return taxRate;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }
    public void setUnitOfMeasurement(String unitOfMeasurement) 
    {
        this.unitOfMeasurement = unitOfMeasurement;
    }

    public String getUnitOfMeasurement() 
    {
        return unitOfMeasurement;
    }
    public void setTaxCategoryCode(String taxCategoryCode) 
    {
        this.taxCategoryCode = taxCategoryCode;
    }

    public String getTaxCategoryCode() 
    {
        return taxCategoryCode;
    }
    public void setTaxCategoryCodeId(Long taxCategoryCodeId) 
    {
        this.taxCategoryCodeId = taxCategoryCodeId;
    }

    public Long getTaxCategoryCodeId() 
    {
        return taxCategoryCodeId;
    }
    public void setTaxCategoryAbbreviation(String taxCategoryAbbreviation) 
    {
        this.taxCategoryAbbreviation = taxCategoryAbbreviation;
    }

    public String getTaxCategoryAbbreviation() 
    {
        return taxCategoryAbbreviation;
    }
    public void setIsQualifiedForDiscount(String isQualifiedForDiscount) 
    {
        this.isQualifiedForDiscount = isQualifiedForDiscount;
    }

    public String getIsQualifiedForDiscount() 
    {
        return isQualifiedForDiscount;
    }
    public void setDiscountPolicyType(String discountPolicyType) 
    {
        this.discountPolicyType = discountPolicyType;
    }

    public String getDiscountPolicyType() 
    {
        return discountPolicyType;
    }
    public void setZeroTaxRateIndicator(String zeroTaxRateIndicator) 
    {
        this.zeroTaxRateIndicator = zeroTaxRateIndicator;
    }

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

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productCode", getProductCode())
            .append("productName", getProductName())
            .append("taxRate", getTaxRate())
            .append("unitPrice", getUnitPrice())
            .append("specification", getSpecification())
            .append("unitOfMeasurement", getUnitOfMeasurement())
            .append("taxCategoryCode", getTaxCategoryCode())
            .append("taxCategoryCodeId", getTaxCategoryCodeId())
            .append("taxCategoryAbbreviation", getTaxCategoryAbbreviation())
            .append("isQualifiedForDiscount", getIsQualifiedForDiscount())
            .append("discountPolicyType", getDiscountPolicyType())
            .append("zeroTaxRateIndicator", getZeroTaxRateIndicator())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
