package com.ruoyi.system.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 发票项对象 fnc_invoice_item
 *
 * @author jlf
 * @date 2022-11-20
 */
public class FncInvoiceItem extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 发票项id
     */
    @TableId
    private Long invoiceItemId;

    /**
     * 发票id
     */
    @Excel(name = "发票id")
    private Long invoiceId;

    /**
~+   * 货物或应税劳务、服务名称

     */
    @Excel(name = "货物或应税劳务、服务名称")
    private String objectName;

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

    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;

    /**
     * 数量
     */
    @Excel(name = "数量")
    private BigDecimal quantity;

    /**
     * 单价(含税)
     */
    @Excel(name = "单价(含税)")
    private BigDecimal unitPriceTax;

    /**
     * 金额(不含税)
     */
    @Excel(name = "金额(不含税)")
    private BigDecimal amountNoTax;

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

    /**
     * 税额
     */
    @Excel(name = "税额")
    private BigDecimal taxAmount;

    public void setInvoiceItemId(Long invoiceItemId) {
        this.invoiceItemId = invoiceItemId;
    }

    public Long getInvoiceItemId() {
        return invoiceItemId;
    }

    public void setInvoiceId(Long invoiceId) {
        this.invoiceId = invoiceId;
    }

    public Long getInvoiceId() {
        return invoiceId;
    }

    public void setObjectName(String objectName) {
        this.objectName = objectName;
    }

    public String getObjectName() {
        return objectName;
    }

    public void setSpecs(String specs) {
        this.specs = specs;
    }

    public String getSpecs() {
        return specs;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    public BigDecimal getQuantity() {
        return quantity;
    }

    public void setUnitPriceTax(BigDecimal unitPriceTax) {
        this.unitPriceTax = unitPriceTax;
    }

    public BigDecimal getUnitPriceTax() {
        return unitPriceTax;
    }

    public void setAmountNoTax(BigDecimal amountNoTax) {
        this.amountNoTax = amountNoTax;
    }

    public BigDecimal getAmountNoTax() {
        return amountNoTax;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxAmount(BigDecimal taxAmount) {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getTaxAmount() {
        return taxAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("invoiceItemId", getInvoiceItemId())
                .append("invoiceId", getInvoiceId())
                .append("objectName", getObjectName())
                .append("specs", getSpecs())
                .append("unit", getUnit())
                .append("quantity", getQuantity())
                .append("unitPriceTax", getUnitPriceTax())
                .append("amountNoTax", getAmountNoTax())
                .append("taxRate", getTaxRate())
                .append("taxAmount", getTaxAmount())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
