package pwc.taxtech.atms.vat.entity;

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

public class OutputVatInvoiceItemExample {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    protected String orderByClause;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    protected boolean distinct;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    protected List<Criteria> oredCriteria;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public OutputVatInvoiceItemExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andItemIDIsNull() {
            addCriterion("ItemID is null");
            return (Criteria) this;
        }

        public Criteria andItemIDIsNotNull() {
            addCriterion("ItemID is not null");
            return (Criteria) this;
        }

        public Criteria andItemIDEqualTo(String value) {
            addCriterion("ItemID =", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDNotEqualTo(String value) {
            addCriterion("ItemID <>", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDGreaterThan(String value) {
            addCriterion("ItemID >", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDGreaterThanOrEqualTo(String value) {
            addCriterion("ItemID >=", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDLessThan(String value) {
            addCriterion("ItemID <", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDLessThanOrEqualTo(String value) {
            addCriterion("ItemID <=", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDLike(String value) {
            addCriterion("ItemID like", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDNotLike(String value) {
            addCriterion("ItemID not like", value, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDIn(List<String> values) {
            addCriterion("ItemID in", values, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDNotIn(List<String> values) {
            addCriterion("ItemID not in", values, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDBetween(String value1, String value2) {
            addCriterion("ItemID between", value1, value2, "itemID");
            return (Criteria) this;
        }

        public Criteria andItemIDNotBetween(String value1, String value2) {
            addCriterion("ItemID not between", value1, value2, "itemID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDIsNull() {
            addCriterion("InvoiceID is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDIsNotNull() {
            addCriterion("InvoiceID is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDEqualTo(String value) {
            addCriterion("InvoiceID =", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDNotEqualTo(String value) {
            addCriterion("InvoiceID <>", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDGreaterThan(String value) {
            addCriterion("InvoiceID >", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDGreaterThanOrEqualTo(String value) {
            addCriterion("InvoiceID >=", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDLessThan(String value) {
            addCriterion("InvoiceID <", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDLessThanOrEqualTo(String value) {
            addCriterion("InvoiceID <=", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDLike(String value) {
            addCriterion("InvoiceID like", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDNotLike(String value) {
            addCriterion("InvoiceID not like", value, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDIn(List<String> values) {
            addCriterion("InvoiceID in", values, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDNotIn(List<String> values) {
            addCriterion("InvoiceID not in", values, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDBetween(String value1, String value2) {
            addCriterion("InvoiceID between", value1, value2, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andInvoiceIDNotBetween(String value1, String value2) {
            addCriterion("InvoiceID not between", value1, value2, "invoiceID");
            return (Criteria) this;
        }

        public Criteria andCodeVersionIsNull() {
            addCriterion("CodeVersion is null");
            return (Criteria) this;
        }

        public Criteria andCodeVersionIsNotNull() {
            addCriterion("CodeVersion is not null");
            return (Criteria) this;
        }

        public Criteria andCodeVersionEqualTo(String value) {
            addCriterion("CodeVersion =", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionNotEqualTo(String value) {
            addCriterion("CodeVersion <>", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionGreaterThan(String value) {
            addCriterion("CodeVersion >", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionGreaterThanOrEqualTo(String value) {
            addCriterion("CodeVersion >=", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionLessThan(String value) {
            addCriterion("CodeVersion <", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionLessThanOrEqualTo(String value) {
            addCriterion("CodeVersion <=", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionLike(String value) {
            addCriterion("CodeVersion like", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionNotLike(String value) {
            addCriterion("CodeVersion not like", value, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionIn(List<String> values) {
            addCriterion("CodeVersion in", values, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionNotIn(List<String> values) {
            addCriterion("CodeVersion not in", values, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionBetween(String value1, String value2) {
            addCriterion("CodeVersion between", value1, value2, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andCodeVersionNotBetween(String value1, String value2) {
            addCriterion("CodeVersion not between", value1, value2, "codeVersion");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNull() {
            addCriterion("ProductName is null");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNotNull() {
            addCriterion("ProductName is not null");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualTo(String value) {
            addCriterion("ProductName =", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualTo(String value) {
            addCriterion("ProductName <>", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThan(String value) {
            addCriterion("ProductName >", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("ProductName >=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThan(String value) {
            addCriterion("ProductName <", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualTo(String value) {
            addCriterion("ProductName <=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLike(String value) {
            addCriterion("ProductName like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotLike(String value) {
            addCriterion("ProductName not like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameIn(List<String> values) {
            addCriterion("ProductName in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotIn(List<String> values) {
            addCriterion("ProductName not in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameBetween(String value1, String value2) {
            addCriterion("ProductName between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotBetween(String value1, String value2) {
            addCriterion("ProductName not between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andDocumentNumIsNull() {
            addCriterion("DocumentNum is null");
            return (Criteria) this;
        }

        public Criteria andDocumentNumIsNotNull() {
            addCriterion("DocumentNum is not null");
            return (Criteria) this;
        }

        public Criteria andDocumentNumEqualTo(String value) {
            addCriterion("DocumentNum =", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumNotEqualTo(String value) {
            addCriterion("DocumentNum <>", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumGreaterThan(String value) {
            addCriterion("DocumentNum >", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumGreaterThanOrEqualTo(String value) {
            addCriterion("DocumentNum >=", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumLessThan(String value) {
            addCriterion("DocumentNum <", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumLessThanOrEqualTo(String value) {
            addCriterion("DocumentNum <=", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumLike(String value) {
            addCriterion("DocumentNum like", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumNotLike(String value) {
            addCriterion("DocumentNum not like", value, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumIn(List<String> values) {
            addCriterion("DocumentNum in", values, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumNotIn(List<String> values) {
            addCriterion("DocumentNum not in", values, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumBetween(String value1, String value2) {
            addCriterion("DocumentNum between", value1, value2, "documentNum");
            return (Criteria) this;
        }

        public Criteria andDocumentNumNotBetween(String value1, String value2) {
            addCriterion("DocumentNum not between", value1, value2, "documentNum");
            return (Criteria) this;
        }

        public Criteria andProductStandardIsNull() {
            addCriterion("ProductStandard is null");
            return (Criteria) this;
        }

        public Criteria andProductStandardIsNotNull() {
            addCriterion("ProductStandard is not null");
            return (Criteria) this;
        }

        public Criteria andProductStandardEqualTo(String value) {
            addCriterion("ProductStandard =", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardNotEqualTo(String value) {
            addCriterion("ProductStandard <>", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardGreaterThan(String value) {
            addCriterion("ProductStandard >", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardGreaterThanOrEqualTo(String value) {
            addCriterion("ProductStandard >=", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardLessThan(String value) {
            addCriterion("ProductStandard <", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardLessThanOrEqualTo(String value) {
            addCriterion("ProductStandard <=", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardLike(String value) {
            addCriterion("ProductStandard like", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardNotLike(String value) {
            addCriterion("ProductStandard not like", value, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardIn(List<String> values) {
            addCriterion("ProductStandard in", values, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardNotIn(List<String> values) {
            addCriterion("ProductStandard not in", values, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardBetween(String value1, String value2) {
            addCriterion("ProductStandard between", value1, value2, "productStandard");
            return (Criteria) this;
        }

        public Criteria andProductStandardNotBetween(String value1, String value2) {
            addCriterion("ProductStandard not between", value1, value2, "productStandard");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("Unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("Unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("Unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("Unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("Unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("Unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("Unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("Unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("Unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("Unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("Unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("Unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("Unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("Unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andQuantityIsNull() {
            addCriterion("Quantity is null");
            return (Criteria) this;
        }

        public Criteria andQuantityIsNotNull() {
            addCriterion("Quantity is not null");
            return (Criteria) this;
        }

        public Criteria andQuantityEqualTo(Integer value) {
            addCriterion("Quantity =", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityNotEqualTo(Integer value) {
            addCriterion("Quantity <>", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityGreaterThan(Integer value) {
            addCriterion("Quantity >", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityGreaterThanOrEqualTo(Integer value) {
            addCriterion("Quantity >=", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityLessThan(Integer value) {
            addCriterion("Quantity <", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityLessThanOrEqualTo(Integer value) {
            addCriterion("Quantity <=", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityIn(List<Integer> values) {
            addCriterion("Quantity in", values, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityNotIn(List<Integer> values) {
            addCriterion("Quantity not in", values, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityBetween(Integer value1, Integer value2) {
            addCriterion("Quantity between", value1, value2, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityNotBetween(Integer value1, Integer value2) {
            addCriterion("Quantity not between", value1, value2, "quantity");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIsNull() {
            addCriterion("UnitPrice is null");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIsNotNull() {
            addCriterion("UnitPrice is not null");
            return (Criteria) this;
        }

        public Criteria andUnitPriceEqualTo(Double value) {
            addCriterion("UnitPrice =", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotEqualTo(Double value) {
            addCriterion("UnitPrice <>", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceGreaterThan(Double value) {
            addCriterion("UnitPrice >", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("UnitPrice >=", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceLessThan(Double value) {
            addCriterion("UnitPrice <", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceLessThanOrEqualTo(Double value) {
            addCriterion("UnitPrice <=", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIn(List<Double> values) {
            addCriterion("UnitPrice in", values, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotIn(List<Double> values) {
            addCriterion("UnitPrice not in", values, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceBetween(Double value1, Double value2) {
            addCriterion("UnitPrice between", value1, value2, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotBetween(Double value1, Double value2) {
            addCriterion("UnitPrice not between", value1, value2, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("Amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("Amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(BigDecimal value) {
            addCriterion("Amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(BigDecimal value) {
            addCriterion("Amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(BigDecimal value) {
            addCriterion("Amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(BigDecimal value) {
            addCriterion("Amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<BigDecimal> values) {
            addCriterion("Amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<BigDecimal> values) {
            addCriterion("Amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andTaxRateIsNull() {
            addCriterion("TaxRate is null");
            return (Criteria) this;
        }

        public Criteria andTaxRateIsNotNull() {
            addCriterion("TaxRate is not null");
            return (Criteria) this;
        }

        public Criteria andTaxRateEqualTo(BigDecimal value) {
            addCriterion("TaxRate =", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotEqualTo(BigDecimal value) {
            addCriterion("TaxRate <>", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateGreaterThan(BigDecimal value) {
            addCriterion("TaxRate >", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TaxRate >=", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLessThan(BigDecimal value) {
            addCriterion("TaxRate <", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TaxRate <=", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateIn(List<BigDecimal> values) {
            addCriterion("TaxRate in", values, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotIn(List<BigDecimal> values) {
            addCriterion("TaxRate not in", values, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TaxRate between", value1, value2, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TaxRate not between", value1, value2, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxAmountIsNull() {
            addCriterion("TaxAmount is null");
            return (Criteria) this;
        }

        public Criteria andTaxAmountIsNotNull() {
            addCriterion("TaxAmount is not null");
            return (Criteria) this;
        }

        public Criteria andTaxAmountEqualTo(BigDecimal value) {
            addCriterion("TaxAmount =", value, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountNotEqualTo(BigDecimal value) {
            addCriterion("TaxAmount <>", value, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountGreaterThan(BigDecimal value) {
            addCriterion("TaxAmount >", value, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TaxAmount >=", value, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountLessThan(BigDecimal value) {
            addCriterion("TaxAmount <", value, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TaxAmount <=", value, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountIn(List<BigDecimal> values) {
            addCriterion("TaxAmount in", values, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountNotIn(List<BigDecimal> values) {
            addCriterion("TaxAmount not in", values, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TaxAmount between", value1, value2, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andTaxAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TaxAmount not between", value1, value2, "taxAmount");
            return (Criteria) this;
        }

        public Criteria andSeqNoIsNull() {
            addCriterion("SeqNo is null");
            return (Criteria) this;
        }

        public Criteria andSeqNoIsNotNull() {
            addCriterion("SeqNo is not null");
            return (Criteria) this;
        }

        public Criteria andSeqNoEqualTo(Integer value) {
            addCriterion("SeqNo =", value, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoNotEqualTo(Integer value) {
            addCriterion("SeqNo <>", value, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoGreaterThan(Integer value) {
            addCriterion("SeqNo >", value, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("SeqNo >=", value, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoLessThan(Integer value) {
            addCriterion("SeqNo <", value, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoLessThanOrEqualTo(Integer value) {
            addCriterion("SeqNo <=", value, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoIn(List<Integer> values) {
            addCriterion("SeqNo in", values, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoNotIn(List<Integer> values) {
            addCriterion("SeqNo not in", values, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoBetween(Integer value1, Integer value2) {
            addCriterion("SeqNo between", value1, value2, "seqNo");
            return (Criteria) this;
        }

        public Criteria andSeqNoNotBetween(Integer value1, Integer value2) {
            addCriterion("SeqNo not between", value1, value2, "seqNo");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeIsNull() {
            addCriterion("TaxClassCode is null");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeIsNotNull() {
            addCriterion("TaxClassCode is not null");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeEqualTo(String value) {
            addCriterion("TaxClassCode =", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeNotEqualTo(String value) {
            addCriterion("TaxClassCode <>", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeGreaterThan(String value) {
            addCriterion("TaxClassCode >", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeGreaterThanOrEqualTo(String value) {
            addCriterion("TaxClassCode >=", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeLessThan(String value) {
            addCriterion("TaxClassCode <", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeLessThanOrEqualTo(String value) {
            addCriterion("TaxClassCode <=", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeLike(String value) {
            addCriterion("TaxClassCode like", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeNotLike(String value) {
            addCriterion("TaxClassCode not like", value, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeIn(List<String> values) {
            addCriterion("TaxClassCode in", values, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeNotIn(List<String> values) {
            addCriterion("TaxClassCode not in", values, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeBetween(String value1, String value2) {
            addCriterion("TaxClassCode between", value1, value2, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andTaxClassCodeNotBetween(String value1, String value2) {
            addCriterion("TaxClassCode not between", value1, value2, "taxClassCode");
            return (Criteria) this;
        }

        public Criteria andCreatorIDIsNull() {
            addCriterion("CreatorID is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIDIsNotNull() {
            addCriterion("CreatorID is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorIDEqualTo(String value) {
            addCriterion("CreatorID =", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDNotEqualTo(String value) {
            addCriterion("CreatorID <>", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDGreaterThan(String value) {
            addCriterion("CreatorID >", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDGreaterThanOrEqualTo(String value) {
            addCriterion("CreatorID >=", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDLessThan(String value) {
            addCriterion("CreatorID <", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDLessThanOrEqualTo(String value) {
            addCriterion("CreatorID <=", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDLike(String value) {
            addCriterion("CreatorID like", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDNotLike(String value) {
            addCriterion("CreatorID not like", value, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDIn(List<String> values) {
            addCriterion("CreatorID in", values, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDNotIn(List<String> values) {
            addCriterion("CreatorID not in", values, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDBetween(String value1, String value2) {
            addCriterion("CreatorID between", value1, value2, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreatorIDNotBetween(String value1, String value2) {
            addCriterion("CreatorID not between", value1, value2, "creatorID");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("CreateTime =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("CreateTime <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("CreateTime >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CreateTime >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("CreateTime <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("CreateTime <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("CreateTime in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("CreateTime not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("CreateTime between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("CreateTime not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andPeriodIDIsNull() {
            addCriterion("PeriodID is null");
            return (Criteria) this;
        }

        public Criteria andPeriodIDIsNotNull() {
            addCriterion("PeriodID is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodIDEqualTo(Integer value) {
            addCriterion("PeriodID =", value, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDNotEqualTo(Integer value) {
            addCriterion("PeriodID <>", value, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDGreaterThan(Integer value) {
            addCriterion("PeriodID >", value, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDGreaterThanOrEqualTo(Integer value) {
            addCriterion("PeriodID >=", value, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDLessThan(Integer value) {
            addCriterion("PeriodID <", value, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDLessThanOrEqualTo(Integer value) {
            addCriterion("PeriodID <=", value, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDIn(List<Integer> values) {
            addCriterion("PeriodID in", values, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDNotIn(List<Integer> values) {
            addCriterion("PeriodID not in", values, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDBetween(Integer value1, Integer value2) {
            addCriterion("PeriodID between", value1, value2, "periodID");
            return (Criteria) this;
        }

        public Criteria andPeriodIDNotBetween(Integer value1, Integer value2) {
            addCriterion("PeriodID not between", value1, value2, "periodID");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table OutputVATInvoiceItem
     *
     * @mbg.generated
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}