package cn.superdesk.uniorder.dao.entity.accounting.unified.operator;

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

public class AccountingUnifiedOperatorExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AccountingUnifiedOperatorExample() {
        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));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

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

        public Criteria andAccountingStatusIsNotNull() {
            addCriterion("accounting_status is not null");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusEqualTo(Byte value) {
            addCriterion("accounting_status =", value, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusNotEqualTo(Byte value) {
            addCriterion("accounting_status <>", value, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusGreaterThan(Byte value) {
            addCriterion("accounting_status >", value, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("accounting_status >=", value, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusLessThan(Byte value) {
            addCriterion("accounting_status <", value, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusLessThanOrEqualTo(Byte value) {
            addCriterion("accounting_status <=", value, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusIn(List<Byte> values) {
            addCriterion("accounting_status in", values, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusNotIn(List<Byte> values) {
            addCriterion("accounting_status not in", values, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusBetween(Byte value1, Byte value2) {
            addCriterion("accounting_status between", value1, value2, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andAccountingStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("accounting_status not between", value1, value2, "accountingStatus");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNull() {
            addCriterion("customer_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNotNull() {
            addCriterion("customer_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdEqualTo(Long value) {
            addCriterion("customer_id =", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotEqualTo(Long value) {
            addCriterion("customer_id <>", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThan(Long value) {
            addCriterion("customer_id >", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("customer_id >=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThan(Long value) {
            addCriterion("customer_id <", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThanOrEqualTo(Long value) {
            addCriterion("customer_id <=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIn(List<Long> values) {
            addCriterion("customer_id in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotIn(List<Long> values) {
            addCriterion("customer_id not in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdBetween(Long value1, Long value2) {
            addCriterion("customer_id between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotBetween(Long value1, Long value2) {
            addCriterion("customer_id not between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNull() {
            addCriterion("customer_name is null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNotNull() {
            addCriterion("customer_name is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameEqualTo(String value) {
            addCriterion("customer_name =", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotEqualTo(String value) {
            addCriterion("customer_name <>", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThan(String value) {
            addCriterion("customer_name >", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanOrEqualTo(String value) {
            addCriterion("customer_name >=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThan(String value) {
            addCriterion("customer_name <", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanOrEqualTo(String value) {
            addCriterion("customer_name <=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLike(String value) {
            addCriterion("customer_name like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotLike(String value) {
            addCriterion("customer_name not like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIn(List<String> values) {
            addCriterion("customer_name in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotIn(List<String> values) {
            addCriterion("customer_name not in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameBetween(String value1, String value2) {
            addCriterion("customer_name between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotBetween(String value1, String value2) {
            addCriterion("customer_name not between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeIsNull() {
            addCriterion("customer_code is null");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeIsNotNull() {
            addCriterion("customer_code is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeEqualTo(String value) {
            addCriterion("customer_code =", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeNotEqualTo(String value) {
            addCriterion("customer_code <>", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeGreaterThan(String value) {
            addCriterion("customer_code >", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeGreaterThanOrEqualTo(String value) {
            addCriterion("customer_code >=", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeLessThan(String value) {
            addCriterion("customer_code <", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeLessThanOrEqualTo(String value) {
            addCriterion("customer_code <=", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeLike(String value) {
            addCriterion("customer_code like", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeNotLike(String value) {
            addCriterion("customer_code not like", value, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeIn(List<String> values) {
            addCriterion("customer_code in", values, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeNotIn(List<String> values) {
            addCriterion("customer_code not in", values, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeBetween(String value1, String value2) {
            addCriterion("customer_code between", value1, value2, "customerCode");
            return (Criteria) this;
        }

        public Criteria andCustomerCodeNotBetween(String value1, String value2) {
            addCriterion("customer_code not between", value1, value2, "customerCode");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdIsNull() {
            addCriterion("invoice_title_id is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdIsNotNull() {
            addCriterion("invoice_title_id is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdEqualTo(Long value) {
            addCriterion("invoice_title_id =", value, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdNotEqualTo(Long value) {
            addCriterion("invoice_title_id <>", value, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdGreaterThan(Long value) {
            addCriterion("invoice_title_id >", value, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdGreaterThanOrEqualTo(Long value) {
            addCriterion("invoice_title_id >=", value, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdLessThan(Long value) {
            addCriterion("invoice_title_id <", value, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdLessThanOrEqualTo(Long value) {
            addCriterion("invoice_title_id <=", value, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdIn(List<Long> values) {
            addCriterion("invoice_title_id in", values, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdNotIn(List<Long> values) {
            addCriterion("invoice_title_id not in", values, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdBetween(Long value1, Long value2) {
            addCriterion("invoice_title_id between", value1, value2, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andInvoiceTitleIdNotBetween(Long value1, Long value2) {
            addCriterion("invoice_title_id not between", value1, value2, "invoiceTitleId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdIsNull() {
            addCriterion("biz_personnel_id is null");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdIsNotNull() {
            addCriterion("biz_personnel_id is not null");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdEqualTo(Long value) {
            addCriterion("biz_personnel_id =", value, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdNotEqualTo(Long value) {
            addCriterion("biz_personnel_id <>", value, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdGreaterThan(Long value) {
            addCriterion("biz_personnel_id >", value, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdGreaterThanOrEqualTo(Long value) {
            addCriterion("biz_personnel_id >=", value, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdLessThan(Long value) {
            addCriterion("biz_personnel_id <", value, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdLessThanOrEqualTo(Long value) {
            addCriterion("biz_personnel_id <=", value, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdIn(List<Long> values) {
            addCriterion("biz_personnel_id in", values, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdNotIn(List<Long> values) {
            addCriterion("biz_personnel_id not in", values, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdBetween(Long value1, Long value2) {
            addCriterion("biz_personnel_id between", value1, value2, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelIdNotBetween(Long value1, Long value2) {
            addCriterion("biz_personnel_id not between", value1, value2, "bizPersonnelId");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameIsNull() {
            addCriterion("biz_personnel_name is null");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameIsNotNull() {
            addCriterion("biz_personnel_name is not null");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameEqualTo(String value) {
            addCriterion("biz_personnel_name =", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameNotEqualTo(String value) {
            addCriterion("biz_personnel_name <>", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameGreaterThan(String value) {
            addCriterion("biz_personnel_name >", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameGreaterThanOrEqualTo(String value) {
            addCriterion("biz_personnel_name >=", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameLessThan(String value) {
            addCriterion("biz_personnel_name <", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameLessThanOrEqualTo(String value) {
            addCriterion("biz_personnel_name <=", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameLike(String value) {
            addCriterion("biz_personnel_name like", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameNotLike(String value) {
            addCriterion("biz_personnel_name not like", value, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameIn(List<String> values) {
            addCriterion("biz_personnel_name in", values, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameNotIn(List<String> values) {
            addCriterion("biz_personnel_name not in", values, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameBetween(String value1, String value2) {
            addCriterion("biz_personnel_name between", value1, value2, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelNameNotBetween(String value1, String value2) {
            addCriterion("biz_personnel_name not between", value1, value2, "bizPersonnelName");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileIsNull() {
            addCriterion("biz_personnel_mobile is null");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileIsNotNull() {
            addCriterion("biz_personnel_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileEqualTo(String value) {
            addCriterion("biz_personnel_mobile =", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileNotEqualTo(String value) {
            addCriterion("biz_personnel_mobile <>", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileGreaterThan(String value) {
            addCriterion("biz_personnel_mobile >", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileGreaterThanOrEqualTo(String value) {
            addCriterion("biz_personnel_mobile >=", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileLessThan(String value) {
            addCriterion("biz_personnel_mobile <", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileLessThanOrEqualTo(String value) {
            addCriterion("biz_personnel_mobile <=", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileLike(String value) {
            addCriterion("biz_personnel_mobile like", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileNotLike(String value) {
            addCriterion("biz_personnel_mobile not like", value, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileIn(List<String> values) {
            addCriterion("biz_personnel_mobile in", values, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileNotIn(List<String> values) {
            addCriterion("biz_personnel_mobile not in", values, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileBetween(String value1, String value2) {
            addCriterion("biz_personnel_mobile between", value1, value2, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andBizPersonnelMobileNotBetween(String value1, String value2) {
            addCriterion("biz_personnel_mobile not between", value1, value2, "bizPersonnelMobile");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdIsNull() {
            addCriterion("settlement_plan_id is null");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdIsNotNull() {
            addCriterion("settlement_plan_id is not null");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdEqualTo(Long value) {
            addCriterion("settlement_plan_id =", value, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdNotEqualTo(Long value) {
            addCriterion("settlement_plan_id <>", value, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdGreaterThan(Long value) {
            addCriterion("settlement_plan_id >", value, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdGreaterThanOrEqualTo(Long value) {
            addCriterion("settlement_plan_id >=", value, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdLessThan(Long value) {
            addCriterion("settlement_plan_id <", value, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdLessThanOrEqualTo(Long value) {
            addCriterion("settlement_plan_id <=", value, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdIn(List<Long> values) {
            addCriterion("settlement_plan_id in", values, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdNotIn(List<Long> values) {
            addCriterion("settlement_plan_id not in", values, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdBetween(Long value1, Long value2) {
            addCriterion("settlement_plan_id between", value1, value2, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andSettlementPlanIdNotBetween(Long value1, Long value2) {
            addCriterion("settlement_plan_id not between", value1, value2, "settlementPlanId");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterionForJDBCDate("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterionForJDBCDate("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterionForJDBCDate("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterionForJDBCDate("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterionForJDBCDate("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterionForJDBCDate("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesIsNull() {
            addCriterion("rel_order_types is null");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesIsNotNull() {
            addCriterion("rel_order_types is not null");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesEqualTo(String value) {
            addCriterion("rel_order_types =", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesNotEqualTo(String value) {
            addCriterion("rel_order_types <>", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesGreaterThan(String value) {
            addCriterion("rel_order_types >", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesGreaterThanOrEqualTo(String value) {
            addCriterion("rel_order_types >=", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesLessThan(String value) {
            addCriterion("rel_order_types <", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesLessThanOrEqualTo(String value) {
            addCriterion("rel_order_types <=", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesLike(String value) {
            addCriterion("rel_order_types like", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesNotLike(String value) {
            addCriterion("rel_order_types not like", value, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesIn(List<String> values) {
            addCriterion("rel_order_types in", values, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesNotIn(List<String> values) {
            addCriterion("rel_order_types not in", values, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesBetween(String value1, String value2) {
            addCriterion("rel_order_types between", value1, value2, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andRelOrderTypesNotBetween(String value1, String value2) {
            addCriterion("rel_order_types not between", value1, value2, "relOrderTypes");
            return (Criteria) this;
        }

        public Criteria andOrderCountIsNull() {
            addCriterion("order_count is null");
            return (Criteria) this;
        }

        public Criteria andOrderCountIsNotNull() {
            addCriterion("order_count is not null");
            return (Criteria) this;
        }

        public Criteria andOrderCountEqualTo(Integer value) {
            addCriterion("order_count =", value, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountNotEqualTo(Integer value) {
            addCriterion("order_count <>", value, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountGreaterThan(Integer value) {
            addCriterion("order_count >", value, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_count >=", value, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountLessThan(Integer value) {
            addCriterion("order_count <", value, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountLessThanOrEqualTo(Integer value) {
            addCriterion("order_count <=", value, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountIn(List<Integer> values) {
            addCriterion("order_count in", values, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountNotIn(List<Integer> values) {
            addCriterion("order_count not in", values, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountBetween(Integer value1, Integer value2) {
            addCriterion("order_count between", value1, value2, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderCountNotBetween(Integer value1, Integer value2) {
            addCriterion("order_count not between", value1, value2, "orderCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountIsNull() {
            addCriterion("order_goods_count is null");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountIsNotNull() {
            addCriterion("order_goods_count is not null");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountEqualTo(Integer value) {
            addCriterion("order_goods_count =", value, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountNotEqualTo(Integer value) {
            addCriterion("order_goods_count <>", value, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountGreaterThan(Integer value) {
            addCriterion("order_goods_count >", value, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_goods_count >=", value, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountLessThan(Integer value) {
            addCriterion("order_goods_count <", value, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountLessThanOrEqualTo(Integer value) {
            addCriterion("order_goods_count <=", value, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountIn(List<Integer> values) {
            addCriterion("order_goods_count in", values, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountNotIn(List<Integer> values) {
            addCriterion("order_goods_count not in", values, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountBetween(Integer value1, Integer value2) {
            addCriterion("order_goods_count between", value1, value2, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsCountNotBetween(Integer value1, Integer value2) {
            addCriterion("order_goods_count not between", value1, value2, "orderGoodsCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountIsNull() {
            addCriterion("order_credit_count is null");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountIsNotNull() {
            addCriterion("order_credit_count is not null");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountEqualTo(Integer value) {
            addCriterion("order_credit_count =", value, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountNotEqualTo(Integer value) {
            addCriterion("order_credit_count <>", value, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountGreaterThan(Integer value) {
            addCriterion("order_credit_count >", value, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_credit_count >=", value, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountLessThan(Integer value) {
            addCriterion("order_credit_count <", value, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountLessThanOrEqualTo(Integer value) {
            addCriterion("order_credit_count <=", value, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountIn(List<Integer> values) {
            addCriterion("order_credit_count in", values, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountNotIn(List<Integer> values) {
            addCriterion("order_credit_count not in", values, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountBetween(Integer value1, Integer value2) {
            addCriterion("order_credit_count between", value1, value2, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderCreditCountNotBetween(Integer value1, Integer value2) {
            addCriterion("order_credit_count not between", value1, value2, "orderCreditCount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountIsNull() {
            addCriterion("order_amount is null");
            return (Criteria) this;
        }

        public Criteria andOrderAmountIsNotNull() {
            addCriterion("order_amount is not null");
            return (Criteria) this;
        }

        public Criteria andOrderAmountEqualTo(BigDecimal value) {
            addCriterion("order_amount =", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountNotEqualTo(BigDecimal value) {
            addCriterion("order_amount <>", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountGreaterThan(BigDecimal value) {
            addCriterion("order_amount >", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("order_amount >=", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountLessThan(BigDecimal value) {
            addCriterion("order_amount <", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("order_amount <=", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountIn(List<BigDecimal> values) {
            addCriterion("order_amount in", values, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountNotIn(List<BigDecimal> values) {
            addCriterion("order_amount not in", values, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("order_amount between", value1, value2, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("order_amount not between", value1, value2, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounIsNull() {
            addCriterion("order_settlement_amoun is null");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounIsNotNull() {
            addCriterion("order_settlement_amoun is not null");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounEqualTo(BigDecimal value) {
            addCriterion("order_settlement_amoun =", value, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounNotEqualTo(BigDecimal value) {
            addCriterion("order_settlement_amoun <>", value, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounGreaterThan(BigDecimal value) {
            addCriterion("order_settlement_amoun >", value, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("order_settlement_amoun >=", value, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounLessThan(BigDecimal value) {
            addCriterion("order_settlement_amoun <", value, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounLessThanOrEqualTo(BigDecimal value) {
            addCriterion("order_settlement_amoun <=", value, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounIn(List<BigDecimal> values) {
            addCriterion("order_settlement_amoun in", values, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounNotIn(List<BigDecimal> values) {
            addCriterion("order_settlement_amoun not in", values, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("order_settlement_amoun between", value1, value2, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderSettlementAmounNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("order_settlement_amoun not between", value1, value2, "orderSettlementAmoun");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountIsNull() {
            addCriterion("order_non_settlement_amount is null");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountIsNotNull() {
            addCriterion("order_non_settlement_amount is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountEqualTo(BigDecimal value) {
            addCriterion("order_non_settlement_amount =", value, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountNotEqualTo(BigDecimal value) {
            addCriterion("order_non_settlement_amount <>", value, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountGreaterThan(BigDecimal value) {
            addCriterion("order_non_settlement_amount >", value, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("order_non_settlement_amount >=", value, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountLessThan(BigDecimal value) {
            addCriterion("order_non_settlement_amount <", value, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("order_non_settlement_amount <=", value, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountIn(List<BigDecimal> values) {
            addCriterion("order_non_settlement_amount in", values, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountNotIn(List<BigDecimal> values) {
            addCriterion("order_non_settlement_amount not in", values, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("order_non_settlement_amount between", value1, value2, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andOrderNonSettlementAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("order_non_settlement_amount not between", value1, value2, "orderNonSettlementAmount");
            return (Criteria) this;
        }

        public Criteria andShareProfitIsNull() {
            addCriterion("share_profit is null");
            return (Criteria) this;
        }

        public Criteria andShareProfitIsNotNull() {
            addCriterion("share_profit is not null");
            return (Criteria) this;
        }

        public Criteria andShareProfitEqualTo(BigDecimal value) {
            addCriterion("share_profit =", value, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitNotEqualTo(BigDecimal value) {
            addCriterion("share_profit <>", value, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitGreaterThan(BigDecimal value) {
            addCriterion("share_profit >", value, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("share_profit >=", value, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitLessThan(BigDecimal value) {
            addCriterion("share_profit <", value, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitLessThanOrEqualTo(BigDecimal value) {
            addCriterion("share_profit <=", value, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitIn(List<BigDecimal> values) {
            addCriterion("share_profit in", values, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitNotIn(List<BigDecimal> values) {
            addCriterion("share_profit not in", values, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("share_profit between", value1, value2, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andShareProfitNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("share_profit not between", value1, value2, "shareProfit");
            return (Criteria) this;
        }

        public Criteria andServiceChargeIsNull() {
            addCriterion("service_charge is null");
            return (Criteria) this;
        }

        public Criteria andServiceChargeIsNotNull() {
            addCriterion("service_charge is not null");
            return (Criteria) this;
        }

        public Criteria andServiceChargeEqualTo(BigDecimal value) {
            addCriterion("service_charge =", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeNotEqualTo(BigDecimal value) {
            addCriterion("service_charge <>", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeGreaterThan(BigDecimal value) {
            addCriterion("service_charge >", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("service_charge >=", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeLessThan(BigDecimal value) {
            addCriterion("service_charge <", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("service_charge <=", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeIn(List<BigDecimal> values) {
            addCriterion("service_charge in", values, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeNotIn(List<BigDecimal> values) {
            addCriterion("service_charge not in", values, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("service_charge between", value1, value2, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("service_charge not between", value1, value2, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountIsNull() {
            addCriterion("accounting_amount is null");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountIsNotNull() {
            addCriterion("accounting_amount is not null");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountEqualTo(BigDecimal value) {
            addCriterion("accounting_amount =", value, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountNotEqualTo(BigDecimal value) {
            addCriterion("accounting_amount <>", value, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountGreaterThan(BigDecimal value) {
            addCriterion("accounting_amount >", value, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("accounting_amount >=", value, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountLessThan(BigDecimal value) {
            addCriterion("accounting_amount <", value, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("accounting_amount <=", value, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountIn(List<BigDecimal> values) {
            addCriterion("accounting_amount in", values, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountNotIn(List<BigDecimal> values) {
            addCriterion("accounting_amount not in", values, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("accounting_amount between", value1, value2, "accountingAmount");
            return (Criteria) this;
        }

        public Criteria andAccountingAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("accounting_amount not between", value1, value2, "accountingAmount");
            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 andEmailStatusIsNull() {
            addCriterion("email_status is null");
            return (Criteria) this;
        }

        public Criteria andEmailStatusIsNotNull() {
            addCriterion("email_status is not null");
            return (Criteria) this;
        }

        public Criteria andEmailStatusEqualTo(Byte value) {
            addCriterion("email_status =", value, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusNotEqualTo(Byte value) {
            addCriterion("email_status <>", value, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusGreaterThan(Byte value) {
            addCriterion("email_status >", value, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("email_status >=", value, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusLessThan(Byte value) {
            addCriterion("email_status <", value, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusLessThanOrEqualTo(Byte value) {
            addCriterion("email_status <=", value, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusIn(List<Byte> values) {
            addCriterion("email_status in", values, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusNotIn(List<Byte> values) {
            addCriterion("email_status not in", values, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusBetween(Byte value1, Byte value2) {
            addCriterion("email_status between", value1, value2, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andEmailStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("email_status not between", value1, value2, "emailStatus");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIsNull() {
            addCriterion("cancel_reason is null");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIsNotNull() {
            addCriterion("cancel_reason is not null");
            return (Criteria) this;
        }

        public Criteria andCancelReasonEqualTo(String value) {
            addCriterion("cancel_reason =", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotEqualTo(String value) {
            addCriterion("cancel_reason <>", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonGreaterThan(String value) {
            addCriterion("cancel_reason >", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonGreaterThanOrEqualTo(String value) {
            addCriterion("cancel_reason >=", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLessThan(String value) {
            addCriterion("cancel_reason <", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLessThanOrEqualTo(String value) {
            addCriterion("cancel_reason <=", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLike(String value) {
            addCriterion("cancel_reason like", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotLike(String value) {
            addCriterion("cancel_reason not like", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIn(List<String> values) {
            addCriterion("cancel_reason in", values, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotIn(List<String> values) {
            addCriterion("cancel_reason not in", values, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonBetween(String value1, String value2) {
            addCriterion("cancel_reason between", value1, value2, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotBetween(String value1, String value2) {
            addCriterion("cancel_reason not between", value1, value2, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andRejectResonIsNull() {
            addCriterion("reject_reson is null");
            return (Criteria) this;
        }

        public Criteria andRejectResonIsNotNull() {
            addCriterion("reject_reson is not null");
            return (Criteria) this;
        }

        public Criteria andRejectResonEqualTo(String value) {
            addCriterion("reject_reson =", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonNotEqualTo(String value) {
            addCriterion("reject_reson <>", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonGreaterThan(String value) {
            addCriterion("reject_reson >", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonGreaterThanOrEqualTo(String value) {
            addCriterion("reject_reson >=", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonLessThan(String value) {
            addCriterion("reject_reson <", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonLessThanOrEqualTo(String value) {
            addCriterion("reject_reson <=", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonLike(String value) {
            addCriterion("reject_reson like", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonNotLike(String value) {
            addCriterion("reject_reson not like", value, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonIn(List<String> values) {
            addCriterion("reject_reson in", values, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonNotIn(List<String> values) {
            addCriterion("reject_reson not in", values, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonBetween(String value1, String value2) {
            addCriterion("reject_reson between", value1, value2, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andRejectResonNotBetween(String value1, String value2) {
            addCriterion("reject_reson not between", value1, value2, "rejectReson");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdIsNull() {
            addCriterion("submit_user_id is null");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdIsNotNull() {
            addCriterion("submit_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdEqualTo(Long value) {
            addCriterion("submit_user_id =", value, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdNotEqualTo(Long value) {
            addCriterion("submit_user_id <>", value, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdGreaterThan(Long value) {
            addCriterion("submit_user_id >", value, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("submit_user_id >=", value, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdLessThan(Long value) {
            addCriterion("submit_user_id <", value, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdLessThanOrEqualTo(Long value) {
            addCriterion("submit_user_id <=", value, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdIn(List<Long> values) {
            addCriterion("submit_user_id in", values, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdNotIn(List<Long> values) {
            addCriterion("submit_user_id not in", values, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdBetween(Long value1, Long value2) {
            addCriterion("submit_user_id between", value1, value2, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitUserIdNotBetween(Long value1, Long value2) {
            addCriterion("submit_user_id not between", value1, value2, "submitUserId");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeIsNull() {
            addCriterion("submit_time is null");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeIsNotNull() {
            addCriterion("submit_time is not null");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeEqualTo(Date value) {
            addCriterion("submit_time =", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeNotEqualTo(Date value) {
            addCriterion("submit_time <>", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeGreaterThan(Date value) {
            addCriterion("submit_time >", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("submit_time >=", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeLessThan(Date value) {
            addCriterion("submit_time <", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeLessThanOrEqualTo(Date value) {
            addCriterion("submit_time <=", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeIn(List<Date> values) {
            addCriterion("submit_time in", values, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeNotIn(List<Date> values) {
            addCriterion("submit_time not in", values, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeBetween(Date value1, Date value2) {
            addCriterion("submit_time between", value1, value2, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeNotBetween(Date value1, Date value2) {
            addCriterion("submit_time not between", value1, value2, "submitTime");
            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 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 andDeletedIsNull() {
            addCriterion("deleted is null");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

        public Criteria andDeletedNotBetween(Byte value1, Byte value2) {
            addCriterion("deleted not between", value1, value2, "deleted");
            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);
        }
    }
}