package cn.superdesk.uniorder.dao.entity.thirdpart.qchjc.invoice;

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

public class QchjcInvoiceApplySupplierEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public QchjcInvoiceApplySupplierEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    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 andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeIsNull() {
            addCriterion("accounting_order_type is null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeIsNotNull() {
            addCriterion("accounting_order_type is not null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeEqualTo(Integer value) {
            addCriterion("accounting_order_type =", value, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeNotEqualTo(Integer value) {
            addCriterion("accounting_order_type <>", value, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeGreaterThan(Integer value) {
            addCriterion("accounting_order_type >", value, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("accounting_order_type >=", value, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeLessThan(Integer value) {
            addCriterion("accounting_order_type <", value, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeLessThanOrEqualTo(Integer value) {
            addCriterion("accounting_order_type <=", value, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeIn(List<Integer> values) {
            addCriterion("accounting_order_type in", values, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeNotIn(List<Integer> values) {
            addCriterion("accounting_order_type not in", values, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeBetween(Integer value1, Integer value2) {
            addCriterion("accounting_order_type between", value1, value2, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("accounting_order_type not between", value1, value2, "accountingOrderType");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdIsNull() {
            addCriterion("accounting_order_id is null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdIsNotNull() {
            addCriterion("accounting_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdEqualTo(Long value) {
            addCriterion("accounting_order_id =", value, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdNotEqualTo(Long value) {
            addCriterion("accounting_order_id <>", value, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdGreaterThan(Long value) {
            addCriterion("accounting_order_id >", value, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("accounting_order_id >=", value, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdLessThan(Long value) {
            addCriterion("accounting_order_id <", value, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("accounting_order_id <=", value, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdIn(List<Long> values) {
            addCriterion("accounting_order_id in", values, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdNotIn(List<Long> values) {
            addCriterion("accounting_order_id not in", values, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdBetween(Long value1, Long value2) {
            addCriterion("accounting_order_id between", value1, value2, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("accounting_order_id not between", value1, value2, "accountingOrderId");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnIsNull() {
            addCriterion("accounting_order_sn is null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnIsNotNull() {
            addCriterion("accounting_order_sn is not null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnEqualTo(String value) {
            addCriterion("accounting_order_sn =", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnNotEqualTo(String value) {
            addCriterion("accounting_order_sn <>", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnGreaterThan(String value) {
            addCriterion("accounting_order_sn >", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnGreaterThanOrEqualTo(String value) {
            addCriterion("accounting_order_sn >=", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnLessThan(String value) {
            addCriterion("accounting_order_sn <", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnLessThanOrEqualTo(String value) {
            addCriterion("accounting_order_sn <=", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnLike(String value) {
            addCriterion("accounting_order_sn like", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnNotLike(String value) {
            addCriterion("accounting_order_sn not like", value, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnIn(List<String> values) {
            addCriterion("accounting_order_sn in", values, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnNotIn(List<String> values) {
            addCriterion("accounting_order_sn not in", values, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnBetween(String value1, String value2) {
            addCriterion("accounting_order_sn between", value1, value2, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnNotBetween(String value1, String value2) {
            addCriterion("accounting_order_sn not between", value1, value2, "accountingOrderSn");
            return (Criteria) this;
        }

        public Criteria andDimCreateByIsNull() {
            addCriterion("dim_create_by is null");
            return (Criteria) this;
        }

        public Criteria andDimCreateByIsNotNull() {
            addCriterion("dim_create_by is not null");
            return (Criteria) this;
        }

        public Criteria andDimCreateByEqualTo(Integer value) {
            addCriterion("dim_create_by =", value, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByNotEqualTo(Integer value) {
            addCriterion("dim_create_by <>", value, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByGreaterThan(Integer value) {
            addCriterion("dim_create_by >", value, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByGreaterThanOrEqualTo(Integer value) {
            addCriterion("dim_create_by >=", value, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByLessThan(Integer value) {
            addCriterion("dim_create_by <", value, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByLessThanOrEqualTo(Integer value) {
            addCriterion("dim_create_by <=", value, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByIn(List<Integer> values) {
            addCriterion("dim_create_by in", values, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByNotIn(List<Integer> values) {
            addCriterion("dim_create_by not in", values, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByBetween(Integer value1, Integer value2) {
            addCriterion("dim_create_by between", value1, value2, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andDimCreateByNotBetween(Integer value1, Integer value2) {
            addCriterion("dim_create_by not between", value1, value2, "dimCreateBy");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnIsNull() {
            addCriterion("invoice_sn is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnIsNotNull() {
            addCriterion("invoice_sn is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnEqualTo(String value) {
            addCriterion("invoice_sn =", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnNotEqualTo(String value) {
            addCriterion("invoice_sn <>", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnGreaterThan(String value) {
            addCriterion("invoice_sn >", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_sn >=", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnLessThan(String value) {
            addCriterion("invoice_sn <", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnLessThanOrEqualTo(String value) {
            addCriterion("invoice_sn <=", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnLike(String value) {
            addCriterion("invoice_sn like", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnNotLike(String value) {
            addCriterion("invoice_sn not like", value, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnIn(List<String> values) {
            addCriterion("invoice_sn in", values, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnNotIn(List<String> values) {
            addCriterion("invoice_sn not in", values, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnBetween(String value1, String value2) {
            addCriterion("invoice_sn between", value1, value2, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceSnNotBetween(String value1, String value2) {
            addCriterion("invoice_sn not between", value1, value2, "invoiceSn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnIsNull() {
            addCriterion("invoice_apply_sn is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnIsNotNull() {
            addCriterion("invoice_apply_sn is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnEqualTo(String value) {
            addCriterion("invoice_apply_sn =", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotEqualTo(String value) {
            addCriterion("invoice_apply_sn <>", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnGreaterThan(String value) {
            addCriterion("invoice_apply_sn >", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_apply_sn >=", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnLessThan(String value) {
            addCriterion("invoice_apply_sn <", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnLessThanOrEqualTo(String value) {
            addCriterion("invoice_apply_sn <=", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnLike(String value) {
            addCriterion("invoice_apply_sn like", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotLike(String value) {
            addCriterion("invoice_apply_sn not like", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnIn(List<String> values) {
            addCriterion("invoice_apply_sn in", values, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotIn(List<String> values) {
            addCriterion("invoice_apply_sn not in", values, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnBetween(String value1, String value2) {
            addCriterion("invoice_apply_sn between", value1, value2, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotBetween(String value1, String value2) {
            addCriterion("invoice_apply_sn not between", value1, value2, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountIsNull() {
            addCriterion("invoice_apply_amount is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountIsNotNull() {
            addCriterion("invoice_apply_amount is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountEqualTo(BigDecimal value) {
            addCriterion("invoice_apply_amount =", value, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountNotEqualTo(BigDecimal value) {
            addCriterion("invoice_apply_amount <>", value, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountGreaterThan(BigDecimal value) {
            addCriterion("invoice_apply_amount >", value, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("invoice_apply_amount >=", value, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountLessThan(BigDecimal value) {
            addCriterion("invoice_apply_amount <", value, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("invoice_apply_amount <=", value, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountIn(List<BigDecimal> values) {
            addCriterion("invoice_apply_amount in", values, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountNotIn(List<BigDecimal> values) {
            addCriterion("invoice_apply_amount not in", values, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("invoice_apply_amount between", value1, value2, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("invoice_apply_amount not between", value1, value2, "invoiceApplyAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountIsNull() {
            addCriterion("free_amount is null");
            return (Criteria) this;
        }

        public Criteria andFreeAmountIsNotNull() {
            addCriterion("free_amount is not null");
            return (Criteria) this;
        }

        public Criteria andFreeAmountEqualTo(BigDecimal value) {
            addCriterion("free_amount =", value, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountNotEqualTo(BigDecimal value) {
            addCriterion("free_amount <>", value, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountGreaterThan(BigDecimal value) {
            addCriterion("free_amount >", value, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("free_amount >=", value, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountLessThan(BigDecimal value) {
            addCriterion("free_amount <", value, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("free_amount <=", value, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountIn(List<BigDecimal> values) {
            addCriterion("free_amount in", values, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountNotIn(List<BigDecimal> values) {
            addCriterion("free_amount not in", values, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("free_amount between", value1, value2, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andFreeAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("free_amount not between", value1, value2, "freeAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountIsNull() {
            addCriterion("un_accounting_amount is null");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountIsNotNull() {
            addCriterion("un_accounting_amount is not null");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountEqualTo(BigDecimal value) {
            addCriterion("un_accounting_amount =", value, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountNotEqualTo(BigDecimal value) {
            addCriterion("un_accounting_amount <>", value, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountGreaterThan(BigDecimal value) {
            addCriterion("un_accounting_amount >", value, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("un_accounting_amount >=", value, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountLessThan(BigDecimal value) {
            addCriterion("un_accounting_amount <", value, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("un_accounting_amount <=", value, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountIn(List<BigDecimal> values) {
            addCriterion("un_accounting_amount in", values, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountNotIn(List<BigDecimal> values) {
            addCriterion("un_accounting_amount not in", values, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("un_accounting_amount between", value1, value2, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andUnAccountingAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("un_accounting_amount not between", value1, value2, "unAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountIsNull() {
            addCriterion("jc_un_accounting_amount is null");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountIsNotNull() {
            addCriterion("jc_un_accounting_amount is not null");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountEqualTo(BigDecimal value) {
            addCriterion("jc_un_accounting_amount =", value, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountNotEqualTo(BigDecimal value) {
            addCriterion("jc_un_accounting_amount <>", value, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountGreaterThan(BigDecimal value) {
            addCriterion("jc_un_accounting_amount >", value, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("jc_un_accounting_amount >=", value, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountLessThan(BigDecimal value) {
            addCriterion("jc_un_accounting_amount <", value, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("jc_un_accounting_amount <=", value, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountIn(List<BigDecimal> values) {
            addCriterion("jc_un_accounting_amount in", values, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountNotIn(List<BigDecimal> values) {
            addCriterion("jc_un_accounting_amount not in", values, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("jc_un_accounting_amount between", value1, value2, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andJcUnAccountingAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("jc_un_accounting_amount not between", value1, value2, "jcUnAccountingAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountIsNull() {
            addCriterion("real_amount is null");
            return (Criteria) this;
        }

        public Criteria andRealAmountIsNotNull() {
            addCriterion("real_amount is not null");
            return (Criteria) this;
        }

        public Criteria andRealAmountEqualTo(BigDecimal value) {
            addCriterion("real_amount =", value, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountNotEqualTo(BigDecimal value) {
            addCriterion("real_amount <>", value, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountGreaterThan(BigDecimal value) {
            addCriterion("real_amount >", value, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("real_amount >=", value, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountLessThan(BigDecimal value) {
            addCriterion("real_amount <", value, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("real_amount <=", value, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountIn(List<BigDecimal> values) {
            addCriterion("real_amount in", values, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountNotIn(List<BigDecimal> values) {
            addCriterion("real_amount not in", values, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("real_amount between", value1, value2, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRealAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("real_amount not between", value1, value2, "realAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountIsNull() {
            addCriterion("rebate_amount is null");
            return (Criteria) this;
        }

        public Criteria andRebateAmountIsNotNull() {
            addCriterion("rebate_amount is not null");
            return (Criteria) this;
        }

        public Criteria andRebateAmountEqualTo(BigDecimal value) {
            addCriterion("rebate_amount =", value, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountNotEqualTo(BigDecimal value) {
            addCriterion("rebate_amount <>", value, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountGreaterThan(BigDecimal value) {
            addCriterion("rebate_amount >", value, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("rebate_amount >=", value, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountLessThan(BigDecimal value) {
            addCriterion("rebate_amount <", value, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("rebate_amount <=", value, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountIn(List<BigDecimal> values) {
            addCriterion("rebate_amount in", values, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountNotIn(List<BigDecimal> values) {
            addCriterion("rebate_amount not in", values, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rebate_amount between", value1, value2, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andRebateAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rebate_amount not between", value1, value2, "rebateAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIsNull() {
            addCriterion("invoice_type is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIsNotNull() {
            addCriterion("invoice_type is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeEqualTo(Integer value) {
            addCriterion("invoice_type =", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotEqualTo(Integer value) {
            addCriterion("invoice_type <>", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeGreaterThan(Integer value) {
            addCriterion("invoice_type >", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("invoice_type >=", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeLessThan(Integer value) {
            addCriterion("invoice_type <", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("invoice_type <=", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIn(List<Integer> values) {
            addCriterion("invoice_type in", values, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotIn(List<Integer> values) {
            addCriterion("invoice_type not in", values, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeBetween(Integer value1, Integer value2) {
            addCriterion("invoice_type between", value1, value2, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("invoice_type not between", value1, value2, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeIsNull() {
            addCriterion("invoice_mode is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeIsNotNull() {
            addCriterion("invoice_mode is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeEqualTo(String value) {
            addCriterion("invoice_mode =", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeNotEqualTo(String value) {
            addCriterion("invoice_mode <>", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeGreaterThan(String value) {
            addCriterion("invoice_mode >", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_mode >=", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeLessThan(String value) {
            addCriterion("invoice_mode <", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeLessThanOrEqualTo(String value) {
            addCriterion("invoice_mode <=", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeLike(String value) {
            addCriterion("invoice_mode like", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeNotLike(String value) {
            addCriterion("invoice_mode not like", value, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeIn(List<String> values) {
            addCriterion("invoice_mode in", values, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeNotIn(List<String> values) {
            addCriterion("invoice_mode not in", values, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeBetween(String value1, String value2) {
            addCriterion("invoice_mode between", value1, value2, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andInvoiceModeNotBetween(String value1, String value2) {
            addCriterion("invoice_mode not between", value1, value2, "invoiceMode");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdIsNull() {
            addCriterion("sys_platform_ext_invoice_id is null");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdIsNotNull() {
            addCriterion("sys_platform_ext_invoice_id is not null");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdEqualTo(Long value) {
            addCriterion("sys_platform_ext_invoice_id =", value, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdNotEqualTo(Long value) {
            addCriterion("sys_platform_ext_invoice_id <>", value, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdGreaterThan(Long value) {
            addCriterion("sys_platform_ext_invoice_id >", value, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdGreaterThanOrEqualTo(Long value) {
            addCriterion("sys_platform_ext_invoice_id >=", value, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdLessThan(Long value) {
            addCriterion("sys_platform_ext_invoice_id <", value, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdLessThanOrEqualTo(Long value) {
            addCriterion("sys_platform_ext_invoice_id <=", value, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdIn(List<Long> values) {
            addCriterion("sys_platform_ext_invoice_id in", values, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdNotIn(List<Long> values) {
            addCriterion("sys_platform_ext_invoice_id not in", values, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdBetween(Long value1, Long value2) {
            addCriterion("sys_platform_ext_invoice_id between", value1, value2, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

        public Criteria andSysPlatformExtInvoiceIdNotBetween(Long value1, Long value2) {
            addCriterion("sys_platform_ext_invoice_id not between", value1, value2, "sysPlatformExtInvoiceId");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

        public Criteria andTaxRateLike(String value) {
            addCriterion("tax_rate like", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotLike(String value) {
            addCriterion("tax_rate not like", value, "taxRate");
            return (Criteria) this;
        }

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

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

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

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

        public Criteria andInvoiceNumberIsNull() {
            addCriterion("invoice_number is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberIsNotNull() {
            addCriterion("invoice_number is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberEqualTo(String value) {
            addCriterion("invoice_number =", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberNotEqualTo(String value) {
            addCriterion("invoice_number <>", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberGreaterThan(String value) {
            addCriterion("invoice_number >", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_number >=", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberLessThan(String value) {
            addCriterion("invoice_number <", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberLessThanOrEqualTo(String value) {
            addCriterion("invoice_number <=", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberLike(String value) {
            addCriterion("invoice_number like", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberNotLike(String value) {
            addCriterion("invoice_number not like", value, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberIn(List<String> values) {
            addCriterion("invoice_number in", values, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberNotIn(List<String> values) {
            addCriterion("invoice_number not in", values, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberBetween(String value1, String value2) {
            addCriterion("invoice_number between", value1, value2, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andInvoiceNumberNotBetween(String value1, String value2) {
            addCriterion("invoice_number not between", value1, value2, "invoiceNumber");
            return (Criteria) this;
        }

        public Criteria andSaleIdIsNull() {
            addCriterion("sale_id is null");
            return (Criteria) this;
        }

        public Criteria andSaleIdIsNotNull() {
            addCriterion("sale_id is not null");
            return (Criteria) this;
        }

        public Criteria andSaleIdEqualTo(String value) {
            addCriterion("sale_id =", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdNotEqualTo(String value) {
            addCriterion("sale_id <>", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdGreaterThan(String value) {
            addCriterion("sale_id >", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdGreaterThanOrEqualTo(String value) {
            addCriterion("sale_id >=", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdLessThan(String value) {
            addCriterion("sale_id <", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdLessThanOrEqualTo(String value) {
            addCriterion("sale_id <=", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdLike(String value) {
            addCriterion("sale_id like", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdNotLike(String value) {
            addCriterion("sale_id not like", value, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdIn(List<String> values) {
            addCriterion("sale_id in", values, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdNotIn(List<String> values) {
            addCriterion("sale_id not in", values, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdBetween(String value1, String value2) {
            addCriterion("sale_id between", value1, value2, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleIdNotBetween(String value1, String value2) {
            addCriterion("sale_id not between", value1, value2, "saleId");
            return (Criteria) this;
        }

        public Criteria andSaleNameIsNull() {
            addCriterion("sale_name is null");
            return (Criteria) this;
        }

        public Criteria andSaleNameIsNotNull() {
            addCriterion("sale_name is not null");
            return (Criteria) this;
        }

        public Criteria andSaleNameEqualTo(String value) {
            addCriterion("sale_name =", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameNotEqualTo(String value) {
            addCriterion("sale_name <>", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameGreaterThan(String value) {
            addCriterion("sale_name >", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameGreaterThanOrEqualTo(String value) {
            addCriterion("sale_name >=", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameLessThan(String value) {
            addCriterion("sale_name <", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameLessThanOrEqualTo(String value) {
            addCriterion("sale_name <=", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameLike(String value) {
            addCriterion("sale_name like", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameNotLike(String value) {
            addCriterion("sale_name not like", value, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameIn(List<String> values) {
            addCriterion("sale_name in", values, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameNotIn(List<String> values) {
            addCriterion("sale_name not in", values, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameBetween(String value1, String value2) {
            addCriterion("sale_name between", value1, value2, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleNameNotBetween(String value1, String value2) {
            addCriterion("sale_name not between", value1, value2, "saleName");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportIsNull() {
            addCriterion("sale_is_export is null");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportIsNotNull() {
            addCriterion("sale_is_export is not null");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportEqualTo(Integer value) {
            addCriterion("sale_is_export =", value, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportNotEqualTo(Integer value) {
            addCriterion("sale_is_export <>", value, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportGreaterThan(Integer value) {
            addCriterion("sale_is_export >", value, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportGreaterThanOrEqualTo(Integer value) {
            addCriterion("sale_is_export >=", value, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportLessThan(Integer value) {
            addCriterion("sale_is_export <", value, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportLessThanOrEqualTo(Integer value) {
            addCriterion("sale_is_export <=", value, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportIn(List<Integer> values) {
            addCriterion("sale_is_export in", values, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportNotIn(List<Integer> values) {
            addCriterion("sale_is_export not in", values, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportBetween(Integer value1, Integer value2) {
            addCriterion("sale_is_export between", value1, value2, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andSaleIsExportNotBetween(Integer value1, Integer value2) {
            addCriterion("sale_is_export not between", value1, value2, "saleIsExport");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdIsNull() {
            addCriterion("apply_user_id is null");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdIsNotNull() {
            addCriterion("apply_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdEqualTo(String value) {
            addCriterion("apply_user_id =", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdNotEqualTo(String value) {
            addCriterion("apply_user_id <>", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdGreaterThan(String value) {
            addCriterion("apply_user_id >", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("apply_user_id >=", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdLessThan(String value) {
            addCriterion("apply_user_id <", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdLessThanOrEqualTo(String value) {
            addCriterion("apply_user_id <=", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdLike(String value) {
            addCriterion("apply_user_id like", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdNotLike(String value) {
            addCriterion("apply_user_id not like", value, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdIn(List<String> values) {
            addCriterion("apply_user_id in", values, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdNotIn(List<String> values) {
            addCriterion("apply_user_id not in", values, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdBetween(String value1, String value2) {
            addCriterion("apply_user_id between", value1, value2, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserIdNotBetween(String value1, String value2) {
            addCriterion("apply_user_id not between", value1, value2, "applyUserId");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameIsNull() {
            addCriterion("apply_user_name is null");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameIsNotNull() {
            addCriterion("apply_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameEqualTo(String value) {
            addCriterion("apply_user_name =", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameNotEqualTo(String value) {
            addCriterion("apply_user_name <>", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameGreaterThan(String value) {
            addCriterion("apply_user_name >", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("apply_user_name >=", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameLessThan(String value) {
            addCriterion("apply_user_name <", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameLessThanOrEqualTo(String value) {
            addCriterion("apply_user_name <=", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameLike(String value) {
            addCriterion("apply_user_name like", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameNotLike(String value) {
            addCriterion("apply_user_name not like", value, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameIn(List<String> values) {
            addCriterion("apply_user_name in", values, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameNotIn(List<String> values) {
            addCriterion("apply_user_name not in", values, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameBetween(String value1, String value2) {
            addCriterion("apply_user_name between", value1, value2, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyUserNameNotBetween(String value1, String value2) {
            addCriterion("apply_user_name not between", value1, value2, "applyUserName");
            return (Criteria) this;
        }

        public Criteria andApplyTimeIsNull() {
            addCriterion("apply_time is null");
            return (Criteria) this;
        }

        public Criteria andApplyTimeIsNotNull() {
            addCriterion("apply_time is not null");
            return (Criteria) this;
        }

        public Criteria andApplyTimeEqualTo(Date value) {
            addCriterion("apply_time =", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeNotEqualTo(Date value) {
            addCriterion("apply_time <>", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeGreaterThan(Date value) {
            addCriterion("apply_time >", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("apply_time >=", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeLessThan(Date value) {
            addCriterion("apply_time <", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeLessThanOrEqualTo(Date value) {
            addCriterion("apply_time <=", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeIn(List<Date> values) {
            addCriterion("apply_time in", values, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeNotIn(List<Date> values) {
            addCriterion("apply_time not in", values, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeBetween(Date value1, Date value2) {
            addCriterion("apply_time between", value1, value2, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeNotBetween(Date value1, Date value2) {
            addCriterion("apply_time not between", value1, value2, "applyTime");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNull() {
            addCriterion("update_user_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNotNull() {
            addCriterion("update_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdEqualTo(String value) {
            addCriterion("update_user_id =", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotEqualTo(String value) {
            addCriterion("update_user_id <>", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThan(String value) {
            addCriterion("update_user_id >", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("update_user_id >=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThan(String value) {
            addCriterion("update_user_id <", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanOrEqualTo(String value) {
            addCriterion("update_user_id <=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLike(String value) {
            addCriterion("update_user_id like", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotLike(String value) {
            addCriterion("update_user_id not like", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIn(List<String> values) {
            addCriterion("update_user_id in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotIn(List<String> values) {
            addCriterion("update_user_id not in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdBetween(String value1, String value2) {
            addCriterion("update_user_id between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotBetween(String value1, String value2) {
            addCriterion("update_user_id not between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameIsNull() {
            addCriterion("update_user_name is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameIsNotNull() {
            addCriterion("update_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameEqualTo(String value) {
            addCriterion("update_user_name =", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotEqualTo(String value) {
            addCriterion("update_user_name <>", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameGreaterThan(String value) {
            addCriterion("update_user_name >", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("update_user_name >=", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameLessThan(String value) {
            addCriterion("update_user_name <", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameLessThanOrEqualTo(String value) {
            addCriterion("update_user_name <=", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameLike(String value) {
            addCriterion("update_user_name like", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotLike(String value) {
            addCriterion("update_user_name not like", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameIn(List<String> values) {
            addCriterion("update_user_name in", values, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotIn(List<String> values) {
            addCriterion("update_user_name not in", values, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameBetween(String value1, String value2) {
            addCriterion("update_user_name between", value1, value2, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotBetween(String value1, String value2) {
            addCriterion("update_user_name not between", value1, value2, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdIsNull() {
            addCriterion("make_invoice_user_id is null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdIsNotNull() {
            addCriterion("make_invoice_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdEqualTo(String value) {
            addCriterion("make_invoice_user_id =", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdNotEqualTo(String value) {
            addCriterion("make_invoice_user_id <>", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdGreaterThan(String value) {
            addCriterion("make_invoice_user_id >", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("make_invoice_user_id >=", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdLessThan(String value) {
            addCriterion("make_invoice_user_id <", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdLessThanOrEqualTo(String value) {
            addCriterion("make_invoice_user_id <=", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdLike(String value) {
            addCriterion("make_invoice_user_id like", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdNotLike(String value) {
            addCriterion("make_invoice_user_id not like", value, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdIn(List<String> values) {
            addCriterion("make_invoice_user_id in", values, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdNotIn(List<String> values) {
            addCriterion("make_invoice_user_id not in", values, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdBetween(String value1, String value2) {
            addCriterion("make_invoice_user_id between", value1, value2, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserIdNotBetween(String value1, String value2) {
            addCriterion("make_invoice_user_id not between", value1, value2, "makeInvoiceUserId");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameIsNull() {
            addCriterion("make_invoice_user_name is null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameIsNotNull() {
            addCriterion("make_invoice_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameEqualTo(String value) {
            addCriterion("make_invoice_user_name =", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameNotEqualTo(String value) {
            addCriterion("make_invoice_user_name <>", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameGreaterThan(String value) {
            addCriterion("make_invoice_user_name >", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("make_invoice_user_name >=", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameLessThan(String value) {
            addCriterion("make_invoice_user_name <", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameLessThanOrEqualTo(String value) {
            addCriterion("make_invoice_user_name <=", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameLike(String value) {
            addCriterion("make_invoice_user_name like", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameNotLike(String value) {
            addCriterion("make_invoice_user_name not like", value, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameIn(List<String> values) {
            addCriterion("make_invoice_user_name in", values, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameNotIn(List<String> values) {
            addCriterion("make_invoice_user_name not in", values, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameBetween(String value1, String value2) {
            addCriterion("make_invoice_user_name between", value1, value2, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceUserNameNotBetween(String value1, String value2) {
            addCriterion("make_invoice_user_name not between", value1, value2, "makeInvoiceUserName");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusIsNull() {
            addCriterion("make_invoice_status is null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusIsNotNull() {
            addCriterion("make_invoice_status is not null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusEqualTo(Integer value) {
            addCriterion("make_invoice_status =", value, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusNotEqualTo(Integer value) {
            addCriterion("make_invoice_status <>", value, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusGreaterThan(Integer value) {
            addCriterion("make_invoice_status >", value, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("make_invoice_status >=", value, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusLessThan(Integer value) {
            addCriterion("make_invoice_status <", value, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusLessThanOrEqualTo(Integer value) {
            addCriterion("make_invoice_status <=", value, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusIn(List<Integer> values) {
            addCriterion("make_invoice_status in", values, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusNotIn(List<Integer> values) {
            addCriterion("make_invoice_status not in", values, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusBetween(Integer value1, Integer value2) {
            addCriterion("make_invoice_status between", value1, value2, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("make_invoice_status not between", value1, value2, "makeInvoiceStatus");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeIsNull() {
            addCriterion("make_invoice_time is null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeIsNotNull() {
            addCriterion("make_invoice_time is not null");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeEqualTo(Date value) {
            addCriterion("make_invoice_time =", value, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeNotEqualTo(Date value) {
            addCriterion("make_invoice_time <>", value, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeGreaterThan(Date value) {
            addCriterion("make_invoice_time >", value, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("make_invoice_time >=", value, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeLessThan(Date value) {
            addCriterion("make_invoice_time <", value, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeLessThanOrEqualTo(Date value) {
            addCriterion("make_invoice_time <=", value, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeIn(List<Date> values) {
            addCriterion("make_invoice_time in", values, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeNotIn(List<Date> values) {
            addCriterion("make_invoice_time not in", values, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeBetween(Date value1, Date value2) {
            addCriterion("make_invoice_time between", value1, value2, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andMakeInvoiceTimeNotBetween(Date value1, Date value2) {
            addCriterion("make_invoice_time not between", value1, value2, "makeInvoiceTime");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdIsNull() {
            addCriterion("express_company_id is null");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdIsNotNull() {
            addCriterion("express_company_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdEqualTo(Long value) {
            addCriterion("express_company_id =", value, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdNotEqualTo(Long value) {
            addCriterion("express_company_id <>", value, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdGreaterThan(Long value) {
            addCriterion("express_company_id >", value, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("express_company_id >=", value, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdLessThan(Long value) {
            addCriterion("express_company_id <", value, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdLessThanOrEqualTo(Long value) {
            addCriterion("express_company_id <=", value, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdIn(List<Long> values) {
            addCriterion("express_company_id in", values, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdNotIn(List<Long> values) {
            addCriterion("express_company_id not in", values, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdBetween(Long value1, Long value2) {
            addCriterion("express_company_id between", value1, value2, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyIdNotBetween(Long value1, Long value2) {
            addCriterion("express_company_id not between", value1, value2, "expressCompanyId");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameIsNull() {
            addCriterion("express_company_name is null");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameIsNotNull() {
            addCriterion("express_company_name is not null");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameEqualTo(String value) {
            addCriterion("express_company_name =", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameNotEqualTo(String value) {
            addCriterion("express_company_name <>", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameGreaterThan(String value) {
            addCriterion("express_company_name >", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameGreaterThanOrEqualTo(String value) {
            addCriterion("express_company_name >=", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameLessThan(String value) {
            addCriterion("express_company_name <", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameLessThanOrEqualTo(String value) {
            addCriterion("express_company_name <=", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameLike(String value) {
            addCriterion("express_company_name like", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameNotLike(String value) {
            addCriterion("express_company_name not like", value, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameIn(List<String> values) {
            addCriterion("express_company_name in", values, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameNotIn(List<String> values) {
            addCriterion("express_company_name not in", values, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameBetween(String value1, String value2) {
            addCriterion("express_company_name between", value1, value2, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressCompanyNameNotBetween(String value1, String value2) {
            addCriterion("express_company_name not between", value1, value2, "expressCompanyName");
            return (Criteria) this;
        }

        public Criteria andExpressNoIsNull() {
            addCriterion("express_no is null");
            return (Criteria) this;
        }

        public Criteria andExpressNoIsNotNull() {
            addCriterion("express_no is not null");
            return (Criteria) this;
        }

        public Criteria andExpressNoEqualTo(String value) {
            addCriterion("express_no =", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoNotEqualTo(String value) {
            addCriterion("express_no <>", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoGreaterThan(String value) {
            addCriterion("express_no >", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoGreaterThanOrEqualTo(String value) {
            addCriterion("express_no >=", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoLessThan(String value) {
            addCriterion("express_no <", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoLessThanOrEqualTo(String value) {
            addCriterion("express_no <=", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoLike(String value) {
            addCriterion("express_no like", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoNotLike(String value) {
            addCriterion("express_no not like", value, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoIn(List<String> values) {
            addCriterion("express_no in", values, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoNotIn(List<String> values) {
            addCriterion("express_no not in", values, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoBetween(String value1, String value2) {
            addCriterion("express_no between", value1, value2, "expressNo");
            return (Criteria) this;
        }

        public Criteria andExpressNoNotBetween(String value1, String value2) {
            addCriterion("express_no not between", value1, value2, "expressNo");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeIsNull() {
            addCriterion("mail_tick_time is null");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeIsNotNull() {
            addCriterion("mail_tick_time is not null");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeEqualTo(Date value) {
            addCriterion("mail_tick_time =", value, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeNotEqualTo(Date value) {
            addCriterion("mail_tick_time <>", value, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeGreaterThan(Date value) {
            addCriterion("mail_tick_time >", value, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("mail_tick_time >=", value, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeLessThan(Date value) {
            addCriterion("mail_tick_time <", value, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeLessThanOrEqualTo(Date value) {
            addCriterion("mail_tick_time <=", value, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeIn(List<Date> values) {
            addCriterion("mail_tick_time in", values, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeNotIn(List<Date> values) {
            addCriterion("mail_tick_time not in", values, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeBetween(Date value1, Date value2) {
            addCriterion("mail_tick_time between", value1, value2, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickTimeNotBetween(Date value1, Date value2) {
            addCriterion("mail_tick_time not between", value1, value2, "mailTickTime");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdIsNull() {
            addCriterion("mail_tick_user_id is null");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdIsNotNull() {
            addCriterion("mail_tick_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdEqualTo(String value) {
            addCriterion("mail_tick_user_id =", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdNotEqualTo(String value) {
            addCriterion("mail_tick_user_id <>", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdGreaterThan(String value) {
            addCriterion("mail_tick_user_id >", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("mail_tick_user_id >=", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdLessThan(String value) {
            addCriterion("mail_tick_user_id <", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdLessThanOrEqualTo(String value) {
            addCriterion("mail_tick_user_id <=", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdLike(String value) {
            addCriterion("mail_tick_user_id like", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdNotLike(String value) {
            addCriterion("mail_tick_user_id not like", value, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdIn(List<String> values) {
            addCriterion("mail_tick_user_id in", values, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdNotIn(List<String> values) {
            addCriterion("mail_tick_user_id not in", values, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdBetween(String value1, String value2) {
            addCriterion("mail_tick_user_id between", value1, value2, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickUserIdNotBetween(String value1, String value2) {
            addCriterion("mail_tick_user_id not between", value1, value2, "mailTickUserId");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusIsNull() {
            addCriterion("mail_tick_status is null");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusIsNotNull() {
            addCriterion("mail_tick_status is not null");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusEqualTo(Integer value) {
            addCriterion("mail_tick_status =", value, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusNotEqualTo(Integer value) {
            addCriterion("mail_tick_status <>", value, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusGreaterThan(Integer value) {
            addCriterion("mail_tick_status >", value, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("mail_tick_status >=", value, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusLessThan(Integer value) {
            addCriterion("mail_tick_status <", value, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusLessThanOrEqualTo(Integer value) {
            addCriterion("mail_tick_status <=", value, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusIn(List<Integer> values) {
            addCriterion("mail_tick_status in", values, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusNotIn(List<Integer> values) {
            addCriterion("mail_tick_status not in", values, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusBetween(Integer value1, Integer value2) {
            addCriterion("mail_tick_status between", value1, value2, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andMailTickStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("mail_tick_status not between", value1, value2, "mailTickStatus");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIsNull() {
            addCriterion("sync_time is null");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIsNotNull() {
            addCriterion("sync_time is not null");
            return (Criteria) this;
        }

        public Criteria andSyncTimeEqualTo(Date value) {
            addCriterion("sync_time =", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotEqualTo(Date value) {
            addCriterion("sync_time <>", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeGreaterThan(Date value) {
            addCriterion("sync_time >", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sync_time >=", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLessThan(Date value) {
            addCriterion("sync_time <", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLessThanOrEqualTo(Date value) {
            addCriterion("sync_time <=", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIn(List<Date> values) {
            addCriterion("sync_time in", values, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotIn(List<Date> values) {
            addCriterion("sync_time not in", values, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeBetween(Date value1, Date value2) {
            addCriterion("sync_time between", value1, value2, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotBetween(Date value1, Date value2) {
            addCriterion("sync_time not between", value1, value2, "syncTime");
            return (Criteria) this;
        }

        public Criteria andStorageStatusIsNull() {
            addCriterion("storage_status is null");
            return (Criteria) this;
        }

        public Criteria andStorageStatusIsNotNull() {
            addCriterion("storage_status is not null");
            return (Criteria) this;
        }

        public Criteria andStorageStatusEqualTo(Integer value) {
            addCriterion("storage_status =", value, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusNotEqualTo(Integer value) {
            addCriterion("storage_status <>", value, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusGreaterThan(Integer value) {
            addCriterion("storage_status >", value, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("storage_status >=", value, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusLessThan(Integer value) {
            addCriterion("storage_status <", value, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusLessThanOrEqualTo(Integer value) {
            addCriterion("storage_status <=", value, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusIn(List<Integer> values) {
            addCriterion("storage_status in", values, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusNotIn(List<Integer> values) {
            addCriterion("storage_status not in", values, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusBetween(Integer value1, Integer value2) {
            addCriterion("storage_status between", value1, value2, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("storage_status not between", value1, value2, "storageStatus");
            return (Criteria) this;
        }

        public Criteria andStorageTimeIsNull() {
            addCriterion("storage_time is null");
            return (Criteria) this;
        }

        public Criteria andStorageTimeIsNotNull() {
            addCriterion("storage_time is not null");
            return (Criteria) this;
        }

        public Criteria andStorageTimeEqualTo(Date value) {
            addCriterion("storage_time =", value, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeNotEqualTo(Date value) {
            addCriterion("storage_time <>", value, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeGreaterThan(Date value) {
            addCriterion("storage_time >", value, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("storage_time >=", value, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeLessThan(Date value) {
            addCriterion("storage_time <", value, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeLessThanOrEqualTo(Date value) {
            addCriterion("storage_time <=", value, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeIn(List<Date> values) {
            addCriterion("storage_time in", values, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeNotIn(List<Date> values) {
            addCriterion("storage_time not in", values, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeBetween(Date value1, Date value2) {
            addCriterion("storage_time between", value1, value2, "storageTime");
            return (Criteria) this;
        }

        public Criteria andStorageTimeNotBetween(Date value1, Date value2) {
            addCriterion("storage_time not between", value1, value2, "storageTime");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountIsNull() {
            addCriterion("jc_order_count is null");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountIsNotNull() {
            addCriterion("jc_order_count is not null");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountEqualTo(Integer value) {
            addCriterion("jc_order_count =", value, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountNotEqualTo(Integer value) {
            addCriterion("jc_order_count <>", value, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountGreaterThan(Integer value) {
            addCriterion("jc_order_count >", value, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("jc_order_count >=", value, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountLessThan(Integer value) {
            addCriterion("jc_order_count <", value, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountLessThanOrEqualTo(Integer value) {
            addCriterion("jc_order_count <=", value, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountIn(List<Integer> values) {
            addCriterion("jc_order_count in", values, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountNotIn(List<Integer> values) {
            addCriterion("jc_order_count not in", values, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountBetween(Integer value1, Integer value2) {
            addCriterion("jc_order_count between", value1, value2, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andJcOrderCountNotBetween(Integer value1, Integer value2) {
            addCriterion("jc_order_count not between", value1, value2, "jcOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountIsNull() {
            addCriterion("unified_order_count is null");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountIsNotNull() {
            addCriterion("unified_order_count is not null");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountEqualTo(Integer value) {
            addCriterion("unified_order_count =", value, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountNotEqualTo(Integer value) {
            addCriterion("unified_order_count <>", value, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountGreaterThan(Integer value) {
            addCriterion("unified_order_count >", value, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("unified_order_count >=", value, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountLessThan(Integer value) {
            addCriterion("unified_order_count <", value, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountLessThanOrEqualTo(Integer value) {
            addCriterion("unified_order_count <=", value, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountIn(List<Integer> values) {
            addCriterion("unified_order_count in", values, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountNotIn(List<Integer> values) {
            addCriterion("unified_order_count not in", values, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountBetween(Integer value1, Integer value2) {
            addCriterion("unified_order_count between", value1, value2, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedOrderCountNotBetween(Integer value1, Integer value2) {
            addCriterion("unified_order_count not between", value1, value2, "unifiedOrderCount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountIsNull() {
            addCriterion("unified_apply_amount is null");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountIsNotNull() {
            addCriterion("unified_apply_amount is not null");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountEqualTo(BigDecimal value) {
            addCriterion("unified_apply_amount =", value, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountNotEqualTo(BigDecimal value) {
            addCriterion("unified_apply_amount <>", value, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountGreaterThan(BigDecimal value) {
            addCriterion("unified_apply_amount >", value, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("unified_apply_amount >=", value, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountLessThan(BigDecimal value) {
            addCriterion("unified_apply_amount <", value, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("unified_apply_amount <=", value, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountIn(List<BigDecimal> values) {
            addCriterion("unified_apply_amount in", values, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountNotIn(List<BigDecimal> values) {
            addCriterion("unified_apply_amount not in", values, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unified_apply_amount between", value1, value2, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedApplyAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unified_apply_amount not between", value1, value2, "unifiedApplyAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountIsNull() {
            addCriterion("unified_rebate_amount is null");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountIsNotNull() {
            addCriterion("unified_rebate_amount is not null");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountEqualTo(BigDecimal value) {
            addCriterion("unified_rebate_amount =", value, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountNotEqualTo(BigDecimal value) {
            addCriterion("unified_rebate_amount <>", value, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountGreaterThan(BigDecimal value) {
            addCriterion("unified_rebate_amount >", value, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("unified_rebate_amount >=", value, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountLessThan(BigDecimal value) {
            addCriterion("unified_rebate_amount <", value, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("unified_rebate_amount <=", value, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountIn(List<BigDecimal> values) {
            addCriterion("unified_rebate_amount in", values, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountNotIn(List<BigDecimal> values) {
            addCriterion("unified_rebate_amount not in", values, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unified_rebate_amount between", value1, value2, "unifiedRebateAmount");
            return (Criteria) this;
        }

        public Criteria andUnifiedRebateAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unified_rebate_amount not between", value1, value2, "unifiedRebateAmount");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    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);
        }
    }
}