package cn.superdesk.uniorder.dao.entity.thirdpart.szhtxx.paperInvoice;

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

public class SzhtxxPaperInvoiceRedTaxInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

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

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

    /**
    szhtxx_paper_invoice_red_tax_info
     *
     * @mbg.generated Wed May 25 18:48:22 CST 2022
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

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

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

        public Criteria andBatchIdIsNotNull() {
            addCriterion("batch_id is not null");
            return (Criteria) this;
        }

        public Criteria andBatchIdEqualTo(String value) {
            addCriterion("batch_id =", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotEqualTo(String value) {
            addCriterion("batch_id <>", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdGreaterThan(String value) {
            addCriterion("batch_id >", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdGreaterThanOrEqualTo(String value) {
            addCriterion("batch_id >=", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdLessThan(String value) {
            addCriterion("batch_id <", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdLessThanOrEqualTo(String value) {
            addCriterion("batch_id <=", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdLike(String value) {
            addCriterion("batch_id like", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotLike(String value) {
            addCriterion("batch_id not like", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdIn(List<String> values) {
            addCriterion("batch_id in", values, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotIn(List<String> values) {
            addCriterion("batch_id not in", values, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdBetween(String value1, String value2) {
            addCriterion("batch_id between", value1, value2, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotBetween(String value1, String value2) {
            addCriterion("batch_id not between", value1, value2, "batchId");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Integer value) {
            addCriterion("deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Integer value) {
            addCriterion("deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Integer value) {
            addCriterion("deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Integer value) {
            addCriterion("deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Integer> values) {
            addCriterion("deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Integer> values) {
            addCriterion("deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Integer value1, Integer value2) {
            addCriterion("deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andReturnCodeIsNull() {
            addCriterion("return_code is null");
            return (Criteria) this;
        }

        public Criteria andReturnCodeIsNotNull() {
            addCriterion("return_code is not null");
            return (Criteria) this;
        }

        public Criteria andReturnCodeEqualTo(String value) {
            addCriterion("return_code =", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeNotEqualTo(String value) {
            addCriterion("return_code <>", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeGreaterThan(String value) {
            addCriterion("return_code >", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeGreaterThanOrEqualTo(String value) {
            addCriterion("return_code >=", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeLessThan(String value) {
            addCriterion("return_code <", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeLessThanOrEqualTo(String value) {
            addCriterion("return_code <=", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeLike(String value) {
            addCriterion("return_code like", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeNotLike(String value) {
            addCriterion("return_code not like", value, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeIn(List<String> values) {
            addCriterion("return_code in", values, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeNotIn(List<String> values) {
            addCriterion("return_code not in", values, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeBetween(String value1, String value2) {
            addCriterion("return_code between", value1, value2, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnCodeNotBetween(String value1, String value2) {
            addCriterion("return_code not between", value1, value2, "returnCode");
            return (Criteria) this;
        }

        public Criteria andReturnMsgIsNull() {
            addCriterion("return_msg is null");
            return (Criteria) this;
        }

        public Criteria andReturnMsgIsNotNull() {
            addCriterion("return_msg is not null");
            return (Criteria) this;
        }

        public Criteria andReturnMsgEqualTo(String value) {
            addCriterion("return_msg =", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgNotEqualTo(String value) {
            addCriterion("return_msg <>", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgGreaterThan(String value) {
            addCriterion("return_msg >", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgGreaterThanOrEqualTo(String value) {
            addCriterion("return_msg >=", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgLessThan(String value) {
            addCriterion("return_msg <", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgLessThanOrEqualTo(String value) {
            addCriterion("return_msg <=", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgLike(String value) {
            addCriterion("return_msg like", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgNotLike(String value) {
            addCriterion("return_msg not like", value, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgIn(List<String> values) {
            addCriterion("return_msg in", values, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgNotIn(List<String> values) {
            addCriterion("return_msg not in", values, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgBetween(String value1, String value2) {
            addCriterion("return_msg between", value1, value2, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andReturnMsgNotBetween(String value1, String value2) {
            addCriterion("return_msg not between", value1, value2, "returnMsg");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshIsNull() {
            addCriterion("red_tax_info_lsh is null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshIsNotNull() {
            addCriterion("red_tax_info_lsh is not null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshEqualTo(String value) {
            addCriterion("red_tax_info_lsh =", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshNotEqualTo(String value) {
            addCriterion("red_tax_info_lsh <>", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshGreaterThan(String value) {
            addCriterion("red_tax_info_lsh >", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshGreaterThanOrEqualTo(String value) {
            addCriterion("red_tax_info_lsh >=", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshLessThan(String value) {
            addCriterion("red_tax_info_lsh <", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshLessThanOrEqualTo(String value) {
            addCriterion("red_tax_info_lsh <=", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshLike(String value) {
            addCriterion("red_tax_info_lsh like", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshNotLike(String value) {
            addCriterion("red_tax_info_lsh not like", value, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshIn(List<String> values) {
            addCriterion("red_tax_info_lsh in", values, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshNotIn(List<String> values) {
            addCriterion("red_tax_info_lsh not in", values, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshBetween(String value1, String value2) {
            addCriterion("red_tax_info_lsh between", value1, value2, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoLshNotBetween(String value1, String value2) {
            addCriterion("red_tax_info_lsh not between", value1, value2, "redTaxInfoLsh");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnIsNull() {
            addCriterion("red_tax_info_sn is null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnIsNotNull() {
            addCriterion("red_tax_info_sn is not null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnEqualTo(String value) {
            addCriterion("red_tax_info_sn =", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotEqualTo(String value) {
            addCriterion("red_tax_info_sn <>", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnGreaterThan(String value) {
            addCriterion("red_tax_info_sn >", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnGreaterThanOrEqualTo(String value) {
            addCriterion("red_tax_info_sn >=", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnLessThan(String value) {
            addCriterion("red_tax_info_sn <", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnLessThanOrEqualTo(String value) {
            addCriterion("red_tax_info_sn <=", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnLike(String value) {
            addCriterion("red_tax_info_sn like", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotLike(String value) {
            addCriterion("red_tax_info_sn not like", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnIn(List<String> values) {
            addCriterion("red_tax_info_sn in", values, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotIn(List<String> values) {
            addCriterion("red_tax_info_sn not in", values, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnBetween(String value1, String value2) {
            addCriterion("red_tax_info_sn between", value1, value2, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotBetween(String value1, String value2) {
            addCriterion("red_tax_info_sn not between", value1, value2, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusIsNull() {
            addCriterion("red_tax_info_status is null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusIsNotNull() {
            addCriterion("red_tax_info_status is not null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusEqualTo(String value) {
            addCriterion("red_tax_info_status =", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusNotEqualTo(String value) {
            addCriterion("red_tax_info_status <>", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusGreaterThan(String value) {
            addCriterion("red_tax_info_status >", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusGreaterThanOrEqualTo(String value) {
            addCriterion("red_tax_info_status >=", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusLessThan(String value) {
            addCriterion("red_tax_info_status <", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusLessThanOrEqualTo(String value) {
            addCriterion("red_tax_info_status <=", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusLike(String value) {
            addCriterion("red_tax_info_status like", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusNotLike(String value) {
            addCriterion("red_tax_info_status not like", value, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusIn(List<String> values) {
            addCriterion("red_tax_info_status in", values, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusNotIn(List<String> values) {
            addCriterion("red_tax_info_status not in", values, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusBetween(String value1, String value2) {
            addCriterion("red_tax_info_status between", value1, value2, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoStatusNotBetween(String value1, String value2) {
            addCriterion("red_tax_info_status not between", value1, value2, "redTaxInfoStatus");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescIsNull() {
            addCriterion("red_tax_info_desc is null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescIsNotNull() {
            addCriterion("red_tax_info_desc is not null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescEqualTo(String value) {
            addCriterion("red_tax_info_desc =", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescNotEqualTo(String value) {
            addCriterion("red_tax_info_desc <>", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescGreaterThan(String value) {
            addCriterion("red_tax_info_desc >", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescGreaterThanOrEqualTo(String value) {
            addCriterion("red_tax_info_desc >=", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescLessThan(String value) {
            addCriterion("red_tax_info_desc <", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescLessThanOrEqualTo(String value) {
            addCriterion("red_tax_info_desc <=", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescLike(String value) {
            addCriterion("red_tax_info_desc like", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescNotLike(String value) {
            addCriterion("red_tax_info_desc not like", value, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescIn(List<String> values) {
            addCriterion("red_tax_info_desc in", values, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescNotIn(List<String> values) {
            addCriterion("red_tax_info_desc not in", values, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescBetween(String value1, String value2) {
            addCriterion("red_tax_info_desc between", value1, value2, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoDescNotBetween(String value1, String value2) {
            addCriterion("red_tax_info_desc not between", value1, value2, "redTaxInfoDesc");
            return (Criteria) this;
        }

        public Criteria andUsedIsNull() {
            addCriterion("used is null");
            return (Criteria) this;
        }

        public Criteria andUsedIsNotNull() {
            addCriterion("used is not null");
            return (Criteria) this;
        }

        public Criteria andUsedEqualTo(Integer value) {
            addCriterion("used =", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotEqualTo(Integer value) {
            addCriterion("used <>", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedGreaterThan(Integer value) {
            addCriterion("used >", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("used >=", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLessThan(Integer value) {
            addCriterion("used <", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLessThanOrEqualTo(Integer value) {
            addCriterion("used <=", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedIn(List<Integer> values) {
            addCriterion("used in", values, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotIn(List<Integer> values) {
            addCriterion("used not in", values, "used");
            return (Criteria) this;
        }

        public Criteria andUsedBetween(Integer value1, Integer value2) {
            addCriterion("used between", value1, value2, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("used not between", value1, value2, "used");
            return (Criteria) this;
        }

        public Criteria andFpdmIsNull() {
            addCriterion("fpdm is null");
            return (Criteria) this;
        }

        public Criteria andFpdmIsNotNull() {
            addCriterion("fpdm is not null");
            return (Criteria) this;
        }

        public Criteria andFpdmEqualTo(String value) {
            addCriterion("fpdm =", value, "fpdm");
            return (Criteria) this;
        }

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

        public Criteria andFpdmGreaterThan(String value) {
            addCriterion("fpdm >", value, "fpdm");
            return (Criteria) this;
        }

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

        public Criteria andFpdmLessThan(String value) {
            addCriterion("fpdm <", value, "fpdm");
            return (Criteria) this;
        }

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

        public Criteria andFpdmLike(String value) {
            addCriterion("fpdm like", value, "fpdm");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andFphmIsNull() {
            addCriterion("fphm is null");
            return (Criteria) this;
        }

        public Criteria andFphmIsNotNull() {
            addCriterion("fphm is not null");
            return (Criteria) this;
        }

        public Criteria andFphmEqualTo(String value) {
            addCriterion("fphm =", value, "fphm");
            return (Criteria) this;
        }

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

        public Criteria andFphmGreaterThan(String value) {
            addCriterion("fphm >", value, "fphm");
            return (Criteria) this;
        }

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

        public Criteria andFphmLessThan(String value) {
            addCriterion("fphm <", value, "fphm");
            return (Criteria) this;
        }

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

        public Criteria andFphmLike(String value) {
            addCriterion("fphm like", value, "fphm");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andFjhIsNull() {
            addCriterion("fjh is null");
            return (Criteria) this;
        }

        public Criteria andFjhIsNotNull() {
            addCriterion("fjh is not null");
            return (Criteria) this;
        }

        public Criteria andFjhEqualTo(String value) {
            addCriterion("fjh =", value, "fjh");
            return (Criteria) this;
        }

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

        public Criteria andFjhGreaterThan(String value) {
            addCriterion("fjh >", value, "fjh");
            return (Criteria) this;
        }

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

        public Criteria andFjhLessThan(String value) {
            addCriterion("fjh <", value, "fjh");
            return (Criteria) this;
        }

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

        public Criteria andFjhLike(String value) {
            addCriterion("fjh like", value, "fjh");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andGhfNsrsbhIsNull() {
            addCriterion("ghf_nsrsbh is null");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhIsNotNull() {
            addCriterion("ghf_nsrsbh is not null");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhEqualTo(String value) {
            addCriterion("ghf_nsrsbh =", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhNotEqualTo(String value) {
            addCriterion("ghf_nsrsbh <>", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhGreaterThan(String value) {
            addCriterion("ghf_nsrsbh >", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhGreaterThanOrEqualTo(String value) {
            addCriterion("ghf_nsrsbh >=", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhLessThan(String value) {
            addCriterion("ghf_nsrsbh <", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhLessThanOrEqualTo(String value) {
            addCriterion("ghf_nsrsbh <=", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhLike(String value) {
            addCriterion("ghf_nsrsbh like", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhNotLike(String value) {
            addCriterion("ghf_nsrsbh not like", value, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhIn(List<String> values) {
            addCriterion("ghf_nsrsbh in", values, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhNotIn(List<String> values) {
            addCriterion("ghf_nsrsbh not in", values, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhBetween(String value1, String value2) {
            addCriterion("ghf_nsrsbh between", value1, value2, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfNsrsbhNotBetween(String value1, String value2) {
            addCriterion("ghf_nsrsbh not between", value1, value2, "ghfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andGhfmcIsNull() {
            addCriterion("ghfmc is null");
            return (Criteria) this;
        }

        public Criteria andGhfmcIsNotNull() {
            addCriterion("ghfmc is not null");
            return (Criteria) this;
        }

        public Criteria andGhfmcEqualTo(String value) {
            addCriterion("ghfmc =", value, "ghfmc");
            return (Criteria) this;
        }

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

        public Criteria andGhfmcGreaterThan(String value) {
            addCriterion("ghfmc >", value, "ghfmc");
            return (Criteria) this;
        }

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

        public Criteria andGhfmcLessThan(String value) {
            addCriterion("ghfmc <", value, "ghfmc");
            return (Criteria) this;
        }

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

        public Criteria andGhfmcLike(String value) {
            addCriterion("ghfmc like", value, "ghfmc");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andXhfNsrsbhIsNull() {
            addCriterion("xhf_nsrsbh is null");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhIsNotNull() {
            addCriterion("xhf_nsrsbh is not null");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhEqualTo(String value) {
            addCriterion("xhf_nsrsbh =", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhNotEqualTo(String value) {
            addCriterion("xhf_nsrsbh <>", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhGreaterThan(String value) {
            addCriterion("xhf_nsrsbh >", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhGreaterThanOrEqualTo(String value) {
            addCriterion("xhf_nsrsbh >=", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhLessThan(String value) {
            addCriterion("xhf_nsrsbh <", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhLessThanOrEqualTo(String value) {
            addCriterion("xhf_nsrsbh <=", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhLike(String value) {
            addCriterion("xhf_nsrsbh like", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhNotLike(String value) {
            addCriterion("xhf_nsrsbh not like", value, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhIn(List<String> values) {
            addCriterion("xhf_nsrsbh in", values, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhNotIn(List<String> values) {
            addCriterion("xhf_nsrsbh not in", values, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhBetween(String value1, String value2) {
            addCriterion("xhf_nsrsbh between", value1, value2, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfNsrsbhNotBetween(String value1, String value2) {
            addCriterion("xhf_nsrsbh not between", value1, value2, "xhfNsrsbh");
            return (Criteria) this;
        }

        public Criteria andXhfmcIsNull() {
            addCriterion("xhfmc is null");
            return (Criteria) this;
        }

        public Criteria andXhfmcIsNotNull() {
            addCriterion("xhfmc is not null");
            return (Criteria) this;
        }

        public Criteria andXhfmcEqualTo(String value) {
            addCriterion("xhfmc =", value, "xhfmc");
            return (Criteria) this;
        }

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

        public Criteria andXhfmcGreaterThan(String value) {
            addCriterion("xhfmc >", value, "xhfmc");
            return (Criteria) this;
        }

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

        public Criteria andXhfmcLessThan(String value) {
            addCriterion("xhfmc <", value, "xhfmc");
            return (Criteria) this;
        }

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

        public Criteria andXhfmcLike(String value) {
            addCriterion("xhfmc like", value, "xhfmc");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSsyfIsNull() {
            addCriterion("ssyf is null");
            return (Criteria) this;
        }

        public Criteria andSsyfIsNotNull() {
            addCriterion("ssyf is not null");
            return (Criteria) this;
        }

        public Criteria andSsyfEqualTo(String value) {
            addCriterion("ssyf =", value, "ssyf");
            return (Criteria) this;
        }

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

        public Criteria andSsyfGreaterThan(String value) {
            addCriterion("ssyf >", value, "ssyf");
            return (Criteria) this;
        }

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

        public Criteria andSsyfLessThan(String value) {
            addCriterion("ssyf <", value, "ssyf");
            return (Criteria) this;
        }

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

        public Criteria andSsyfLike(String value) {
            addCriterion("ssyf like", value, "ssyf");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andKphjjeIsNull() {
            addCriterion("kphjje is null");
            return (Criteria) this;
        }

        public Criteria andKphjjeIsNotNull() {
            addCriterion("kphjje is not null");
            return (Criteria) this;
        }

        public Criteria andKphjjeEqualTo(BigDecimal value) {
            addCriterion("kphjje =", value, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeNotEqualTo(BigDecimal value) {
            addCriterion("kphjje <>", value, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeGreaterThan(BigDecimal value) {
            addCriterion("kphjje >", value, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("kphjje >=", value, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeLessThan(BigDecimal value) {
            addCriterion("kphjje <", value, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("kphjje <=", value, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeIn(List<BigDecimal> values) {
            addCriterion("kphjje in", values, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeNotIn(List<BigDecimal> values) {
            addCriterion("kphjje not in", values, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("kphjje between", value1, value2, "kphjje");
            return (Criteria) this;
        }

        public Criteria andKphjjeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("kphjje not between", value1, value2, "kphjje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeIsNull() {
            addCriterion("hjbhsje is null");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeIsNotNull() {
            addCriterion("hjbhsje is not null");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeEqualTo(BigDecimal value) {
            addCriterion("hjbhsje =", value, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeNotEqualTo(BigDecimal value) {
            addCriterion("hjbhsje <>", value, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeGreaterThan(BigDecimal value) {
            addCriterion("hjbhsje >", value, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("hjbhsje >=", value, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeLessThan(BigDecimal value) {
            addCriterion("hjbhsje <", value, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("hjbhsje <=", value, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeIn(List<BigDecimal> values) {
            addCriterion("hjbhsje in", values, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeNotIn(List<BigDecimal> values) {
            addCriterion("hjbhsje not in", values, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("hjbhsje between", value1, value2, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andHjbhsjeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("hjbhsje not between", value1, value2, "hjbhsje");
            return (Criteria) this;
        }

        public Criteria andSlIsNull() {
            addCriterion("sl is null");
            return (Criteria) this;
        }

        public Criteria andSlIsNotNull() {
            addCriterion("sl is not null");
            return (Criteria) this;
        }

        public Criteria andSlEqualTo(BigDecimal value) {
            addCriterion("sl =", value, "sl");
            return (Criteria) this;
        }

        public Criteria andSlNotEqualTo(BigDecimal value) {
            addCriterion("sl <>", value, "sl");
            return (Criteria) this;
        }

        public Criteria andSlGreaterThan(BigDecimal value) {
            addCriterion("sl >", value, "sl");
            return (Criteria) this;
        }

        public Criteria andSlGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sl >=", value, "sl");
            return (Criteria) this;
        }

        public Criteria andSlLessThan(BigDecimal value) {
            addCriterion("sl <", value, "sl");
            return (Criteria) this;
        }

        public Criteria andSlLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sl <=", value, "sl");
            return (Criteria) this;
        }

        public Criteria andSlIn(List<BigDecimal> values) {
            addCriterion("sl in", values, "sl");
            return (Criteria) this;
        }

        public Criteria andSlNotIn(List<BigDecimal> values) {
            addCriterion("sl not in", values, "sl");
            return (Criteria) this;
        }

        public Criteria andSlBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sl between", value1, value2, "sl");
            return (Criteria) this;
        }

        public Criteria andSlNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sl not between", value1, value2, "sl");
            return (Criteria) this;
        }

        public Criteria andHjseIsNull() {
            addCriterion("hjse is null");
            return (Criteria) this;
        }

        public Criteria andHjseIsNotNull() {
            addCriterion("hjse is not null");
            return (Criteria) this;
        }

        public Criteria andHjseEqualTo(BigDecimal value) {
            addCriterion("hjse =", value, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseNotEqualTo(BigDecimal value) {
            addCriterion("hjse <>", value, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseGreaterThan(BigDecimal value) {
            addCriterion("hjse >", value, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("hjse >=", value, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseLessThan(BigDecimal value) {
            addCriterion("hjse <", value, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseLessThanOrEqualTo(BigDecimal value) {
            addCriterion("hjse <=", value, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseIn(List<BigDecimal> values) {
            addCriterion("hjse in", values, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseNotIn(List<BigDecimal> values) {
            addCriterion("hjse not in", values, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("hjse between", value1, value2, "hjse");
            return (Criteria) this;
        }

        public Criteria andHjseNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("hjse not between", value1, value2, "hjse");
            return (Criteria) this;
        }

        public Criteria andReqfCodeIsNull() {
            addCriterion("reqf_code is null");
            return (Criteria) this;
        }

        public Criteria andReqfCodeIsNotNull() {
            addCriterion("reqf_code is not null");
            return (Criteria) this;
        }

        public Criteria andReqfCodeEqualTo(String value) {
            addCriterion("reqf_code =", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeNotEqualTo(String value) {
            addCriterion("reqf_code <>", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeGreaterThan(String value) {
            addCriterion("reqf_code >", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeGreaterThanOrEqualTo(String value) {
            addCriterion("reqf_code >=", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeLessThan(String value) {
            addCriterion("reqf_code <", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeLessThanOrEqualTo(String value) {
            addCriterion("reqf_code <=", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeLike(String value) {
            addCriterion("reqf_code like", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeNotLike(String value) {
            addCriterion("reqf_code not like", value, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeIn(List<String> values) {
            addCriterion("reqf_code in", values, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeNotIn(List<String> values) {
            addCriterion("reqf_code not in", values, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeBetween(String value1, String value2) {
            addCriterion("reqf_code between", value1, value2, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfCodeNotBetween(String value1, String value2) {
            addCriterion("reqf_code not between", value1, value2, "reqfCode");
            return (Criteria) this;
        }

        public Criteria andReqfNameIsNull() {
            addCriterion("reqf_name is null");
            return (Criteria) this;
        }

        public Criteria andReqfNameIsNotNull() {
            addCriterion("reqf_name is not null");
            return (Criteria) this;
        }

        public Criteria andReqfNameEqualTo(String value) {
            addCriterion("reqf_name =", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameNotEqualTo(String value) {
            addCriterion("reqf_name <>", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameGreaterThan(String value) {
            addCriterion("reqf_name >", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameGreaterThanOrEqualTo(String value) {
            addCriterion("reqf_name >=", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameLessThan(String value) {
            addCriterion("reqf_name <", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameLessThanOrEqualTo(String value) {
            addCriterion("reqf_name <=", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameLike(String value) {
            addCriterion("reqf_name like", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameNotLike(String value) {
            addCriterion("reqf_name not like", value, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameIn(List<String> values) {
            addCriterion("reqf_name in", values, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameNotIn(List<String> values) {
            addCriterion("reqf_name not in", values, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameBetween(String value1, String value2) {
            addCriterion("reqf_name between", value1, value2, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqfNameNotBetween(String value1, String value2) {
            addCriterion("reqf_name not between", value1, value2, "reqfName");
            return (Criteria) this;
        }

        public Criteria andReqExplainIsNull() {
            addCriterion("req_explain is null");
            return (Criteria) this;
        }

        public Criteria andReqExplainIsNotNull() {
            addCriterion("req_explain is not null");
            return (Criteria) this;
        }

        public Criteria andReqExplainEqualTo(String value) {
            addCriterion("req_explain =", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainNotEqualTo(String value) {
            addCriterion("req_explain <>", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainGreaterThan(String value) {
            addCriterion("req_explain >", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainGreaterThanOrEqualTo(String value) {
            addCriterion("req_explain >=", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainLessThan(String value) {
            addCriterion("req_explain <", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainLessThanOrEqualTo(String value) {
            addCriterion("req_explain <=", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainLike(String value) {
            addCriterion("req_explain like", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainNotLike(String value) {
            addCriterion("req_explain not like", value, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainIn(List<String> values) {
            addCriterion("req_explain in", values, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainNotIn(List<String> values) {
            addCriterion("req_explain not in", values, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainBetween(String value1, String value2) {
            addCriterion("req_explain between", value1, value2, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andReqExplainNotBetween(String value1, String value2) {
            addCriterion("req_explain not between", value1, value2, "reqExplain");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoIsNull() {
            addCriterion("golden_tax_plate_no is null");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoIsNotNull() {
            addCriterion("golden_tax_plate_no is not null");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoEqualTo(String value) {
            addCriterion("golden_tax_plate_no =", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoNotEqualTo(String value) {
            addCriterion("golden_tax_plate_no <>", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoGreaterThan(String value) {
            addCriterion("golden_tax_plate_no >", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoGreaterThanOrEqualTo(String value) {
            addCriterion("golden_tax_plate_no >=", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoLessThan(String value) {
            addCriterion("golden_tax_plate_no <", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoLessThanOrEqualTo(String value) {
            addCriterion("golden_tax_plate_no <=", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoLike(String value) {
            addCriterion("golden_tax_plate_no like", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoNotLike(String value) {
            addCriterion("golden_tax_plate_no not like", value, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoIn(List<String> values) {
            addCriterion("golden_tax_plate_no in", values, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoNotIn(List<String> values) {
            addCriterion("golden_tax_plate_no not in", values, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoBetween(String value1, String value2) {
            addCriterion("golden_tax_plate_no between", value1, value2, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andGoldenTaxPlateNoNotBetween(String value1, String value2) {
            addCriterion("golden_tax_plate_no not between", value1, value2, "goldenTaxPlateNo");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhIsNull() {
            addCriterion("req_nsrsbh is null");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhIsNotNull() {
            addCriterion("req_nsrsbh is not null");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhEqualTo(String value) {
            addCriterion("req_nsrsbh =", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhNotEqualTo(String value) {
            addCriterion("req_nsrsbh <>", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhGreaterThan(String value) {
            addCriterion("req_nsrsbh >", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhGreaterThanOrEqualTo(String value) {
            addCriterion("req_nsrsbh >=", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhLessThan(String value) {
            addCriterion("req_nsrsbh <", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhLessThanOrEqualTo(String value) {
            addCriterion("req_nsrsbh <=", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhLike(String value) {
            addCriterion("req_nsrsbh like", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhNotLike(String value) {
            addCriterion("req_nsrsbh not like", value, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhIn(List<String> values) {
            addCriterion("req_nsrsbh in", values, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhNotIn(List<String> values) {
            addCriterion("req_nsrsbh not in", values, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhBetween(String value1, String value2) {
            addCriterion("req_nsrsbh between", value1, value2, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andReqNsrsbhNotBetween(String value1, String value2) {
            addCriterion("req_nsrsbh not between", value1, value2, "reqNsrsbh");
            return (Criteria) this;
        }

        public Criteria andBackendMemoIsNull() {
            addCriterion("backend_memo is null");
            return (Criteria) this;
        }

        public Criteria andBackendMemoIsNotNull() {
            addCriterion("backend_memo is not null");
            return (Criteria) this;
        }

        public Criteria andBackendMemoEqualTo(String value) {
            addCriterion("backend_memo =", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoNotEqualTo(String value) {
            addCriterion("backend_memo <>", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoGreaterThan(String value) {
            addCriterion("backend_memo >", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoGreaterThanOrEqualTo(String value) {
            addCriterion("backend_memo >=", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoLessThan(String value) {
            addCriterion("backend_memo <", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoLessThanOrEqualTo(String value) {
            addCriterion("backend_memo <=", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoLike(String value) {
            addCriterion("backend_memo like", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoNotLike(String value) {
            addCriterion("backend_memo not like", value, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoIn(List<String> values) {
            addCriterion("backend_memo in", values, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoNotIn(List<String> values) {
            addCriterion("backend_memo not in", values, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoBetween(String value1, String value2) {
            addCriterion("backend_memo between", value1, value2, "backendMemo");
            return (Criteria) this;
        }

        public Criteria andBackendMemoNotBetween(String value1, String value2) {
            addCriterion("backend_memo not between", value1, value2, "backendMemo");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andCreateUserIdIsNull() {
            addCriterion("create_user_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIsNotNull() {
            addCriterion("create_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdEqualTo(Long value) {
            addCriterion("create_user_id =", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotEqualTo(Long value) {
            addCriterion("create_user_id <>", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThan(Long value) {
            addCriterion("create_user_id >", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("create_user_id >=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThan(Long value) {
            addCriterion("create_user_id <", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("create_user_id <=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIn(List<Long> values) {
            addCriterion("create_user_id in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotIn(List<Long> values) {
            addCriterion("create_user_id not in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdBetween(Long value1, Long value2) {
            addCriterion("create_user_id between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("create_user_id not between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameIsNull() {
            addCriterion("create_user_name is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameIsNotNull() {
            addCriterion("create_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameEqualTo(String value) {
            addCriterion("create_user_name =", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameNotEqualTo(String value) {
            addCriterion("create_user_name <>", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameGreaterThan(String value) {
            addCriterion("create_user_name >", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("create_user_name >=", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameLessThan(String value) {
            addCriterion("create_user_name <", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameLessThanOrEqualTo(String value) {
            addCriterion("create_user_name <=", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameLike(String value) {
            addCriterion("create_user_name like", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameNotLike(String value) {
            addCriterion("create_user_name not like", value, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameIn(List<String> values) {
            addCriterion("create_user_name in", values, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameNotIn(List<String> values) {
            addCriterion("create_user_name not in", values, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameBetween(String value1, String value2) {
            addCriterion("create_user_name between", value1, value2, "createUserName");
            return (Criteria) this;
        }

        public Criteria andCreateUserNameNotBetween(String value1, String value2) {
            addCriterion("create_user_name not between", value1, value2, "createUserName");
            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 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(Long value) {
            addCriterion("update_user_id =", value, "updateUserId");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

        public Criteria andUpdateUserIdNotBetween(Long value1, Long 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;
        }
    }

    /**
    szhtxx_paper_invoice_red_tax_info
     *
     * @mbg.generated do_not_delete_during_merge Wed May 25 18:48:22 CST 2022
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    /**
    szhtxx_paper_invoice_red_tax_info
     *
     * @mbg.generated Wed May 25 18:48:22 CST 2022
     */
    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);
        }
    }
}