package cn.superdesk.uniorder.dao.entity.operationCenter.accounting;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

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

public class UnifiedAccountingOrderGoodsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

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

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

    public String getOrderByClause() {
        return orderByClause;
    }

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

    public boolean isDistinct() {
        return distinct;
    }

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

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

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

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

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

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

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andBizTypeIdIsNull() {
            addCriterion("biz_type_id is null");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdIsNotNull() {
            addCriterion("biz_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdEqualTo(Integer value) {
            addCriterion("biz_type_id =", value, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdNotEqualTo(Integer value) {
            addCriterion("biz_type_id <>", value, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdGreaterThan(Integer value) {
            addCriterion("biz_type_id >", value, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("biz_type_id >=", value, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdLessThan(Integer value) {
            addCriterion("biz_type_id <", value, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("biz_type_id <=", value, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdIn(List<Integer> values) {
            addCriterion("biz_type_id in", values, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdNotIn(List<Integer> values) {
            addCriterion("biz_type_id not in", values, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("biz_type_id between", value1, value2, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andBizTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("biz_type_id not between", value1, value2, "bizTypeId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdIsNull() {
            addCriterion("order_goods_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdIsNotNull() {
            addCriterion("order_goods_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdEqualTo(String value) {
            addCriterion("order_goods_id =", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdNotEqualTo(String value) {
            addCriterion("order_goods_id <>", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdGreaterThan(String value) {
            addCriterion("order_goods_id >", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_goods_id >=", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdLessThan(String value) {
            addCriterion("order_goods_id <", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdLessThanOrEqualTo(String value) {
            addCriterion("order_goods_id <=", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdLike(String value) {
            addCriterion("order_goods_id like", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdNotLike(String value) {
            addCriterion("order_goods_id not like", value, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdIn(List<String> values) {
            addCriterion("order_goods_id in", values, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdNotIn(List<String> values) {
            addCriterion("order_goods_id not in", values, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdBetween(String value1, String value2) {
            addCriterion("order_goods_id between", value1, value2, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderGoodsIdNotBetween(String value1, String value2) {
            addCriterion("order_goods_id not between", value1, value2, "orderGoodsId");
            return (Criteria) this;
        }

        public Criteria andOrderSnIsNull() {
            addCriterion("order_sn is null");
            return (Criteria) this;
        }

        public Criteria andOrderSnIsNotNull() {
            addCriterion("order_sn is not null");
            return (Criteria) this;
        }

        public Criteria andOrderSnEqualTo(String value) {
            addCriterion("order_sn =", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnNotEqualTo(String value) {
            addCriterion("order_sn <>", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnGreaterThan(String value) {
            addCriterion("order_sn >", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnGreaterThanOrEqualTo(String value) {
            addCriterion("order_sn >=", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnLessThan(String value) {
            addCriterion("order_sn <", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnLessThanOrEqualTo(String value) {
            addCriterion("order_sn <=", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnLike(String value) {
            addCriterion("order_sn like", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnNotLike(String value) {
            addCriterion("order_sn not like", value, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnIn(List<String> values) {
            addCriterion("order_sn in", values, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnNotIn(List<String> values) {
            addCriterion("order_sn not in", values, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnBetween(String value1, String value2) {
            addCriterion("order_sn between", value1, value2, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderSnNotBetween(String value1, String value2) {
            addCriterion("order_sn not between", value1, value2, "orderSn");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(String value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(String value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(String value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(String value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(String value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLike(String value) {
            addCriterion("order_id like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotLike(String value) {
            addCriterion("order_id not like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<String> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<String> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(String value1, String value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(String value1, String value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeIsNull() {
            addCriterion("biz_platform_code is null");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeIsNotNull() {
            addCriterion("biz_platform_code is not null");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeEqualTo(String value) {
            addCriterion("biz_platform_code =", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeNotEqualTo(String value) {
            addCriterion("biz_platform_code <>", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeGreaterThan(String value) {
            addCriterion("biz_platform_code >", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeGreaterThanOrEqualTo(String value) {
            addCriterion("biz_platform_code >=", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeLessThan(String value) {
            addCriterion("biz_platform_code <", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeLessThanOrEqualTo(String value) {
            addCriterion("biz_platform_code <=", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeLike(String value) {
            addCriterion("biz_platform_code like", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeNotLike(String value) {
            addCriterion("biz_platform_code not like", value, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeIn(List<String> values) {
            addCriterion("biz_platform_code in", values, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeNotIn(List<String> values) {
            addCriterion("biz_platform_code not in", values, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeBetween(String value1, String value2) {
            addCriterion("biz_platform_code between", value1, value2, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformCodeNotBetween(String value1, String value2) {
            addCriterion("biz_platform_code not between", value1, value2, "bizPlatformCode");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameIsNull() {
            addCriterion("biz_platform_name is null");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameIsNotNull() {
            addCriterion("biz_platform_name is not null");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameEqualTo(String value) {
            addCriterion("biz_platform_name =", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameNotEqualTo(String value) {
            addCriterion("biz_platform_name <>", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameGreaterThan(String value) {
            addCriterion("biz_platform_name >", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameGreaterThanOrEqualTo(String value) {
            addCriterion("biz_platform_name >=", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameLessThan(String value) {
            addCriterion("biz_platform_name <", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameLessThanOrEqualTo(String value) {
            addCriterion("biz_platform_name <=", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameLike(String value) {
            addCriterion("biz_platform_name like", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameNotLike(String value) {
            addCriterion("biz_platform_name not like", value, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameIn(List<String> values) {
            addCriterion("biz_platform_name in", values, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameNotIn(List<String> values) {
            addCriterion("biz_platform_name not in", values, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameBetween(String value1, String value2) {
            addCriterion("biz_platform_name between", value1, value2, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andBizPlatformNameNotBetween(String value1, String value2) {
            addCriterion("biz_platform_name not between", value1, value2, "bizPlatformName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeIsNull() {
            addCriterion("order_type_code is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeIsNotNull() {
            addCriterion("order_type_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeEqualTo(String value) {
            addCriterion("order_type_code =", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeNotEqualTo(String value) {
            addCriterion("order_type_code <>", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeGreaterThan(String value) {
            addCriterion("order_type_code >", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeGreaterThanOrEqualTo(String value) {
            addCriterion("order_type_code >=", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeLessThan(String value) {
            addCriterion("order_type_code <", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeLessThanOrEqualTo(String value) {
            addCriterion("order_type_code <=", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeLike(String value) {
            addCriterion("order_type_code like", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeNotLike(String value) {
            addCriterion("order_type_code not like", value, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeIn(List<String> values) {
            addCriterion("order_type_code in", values, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeNotIn(List<String> values) {
            addCriterion("order_type_code not in", values, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeBetween(String value1, String value2) {
            addCriterion("order_type_code between", value1, value2, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeCodeNotBetween(String value1, String value2) {
            addCriterion("order_type_code not between", value1, value2, "orderTypeCode");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameIsNull() {
            addCriterion("order_type_name is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameIsNotNull() {
            addCriterion("order_type_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameEqualTo(String value) {
            addCriterion("order_type_name =", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameNotEqualTo(String value) {
            addCriterion("order_type_name <>", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameGreaterThan(String value) {
            addCriterion("order_type_name >", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameGreaterThanOrEqualTo(String value) {
            addCriterion("order_type_name >=", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameLessThan(String value) {
            addCriterion("order_type_name <", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameLessThanOrEqualTo(String value) {
            addCriterion("order_type_name <=", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameLike(String value) {
            addCriterion("order_type_name like", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameNotLike(String value) {
            addCriterion("order_type_name not like", value, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameIn(List<String> values) {
            addCriterion("order_type_name in", values, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameNotIn(List<String> values) {
            addCriterion("order_type_name not in", values, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameBetween(String value1, String value2) {
            addCriterion("order_type_name between", value1, value2, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNameNotBetween(String value1, String value2) {
            addCriterion("order_type_name not between", value1, value2, "orderTypeName");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeIsNull() {
            addCriterion("order_create_time is null");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeIsNotNull() {
            addCriterion("order_create_time is not null");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeEqualTo(Date value) {
            addCriterion("order_create_time =", value, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeNotEqualTo(Date value) {
            addCriterion("order_create_time <>", value, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeGreaterThan(Date value) {
            addCriterion("order_create_time >", value, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("order_create_time >=", value, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeLessThan(Date value) {
            addCriterion("order_create_time <", value, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("order_create_time <=", value, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeIn(List<Date> values) {
            addCriterion("order_create_time in", values, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeNotIn(List<Date> values) {
            addCriterion("order_create_time not in", values, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeBetween(Date value1, Date value2) {
            addCriterion("order_create_time between", value1, value2, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andOrderCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("order_create_time not between", value1, value2, "orderCreateTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNull() {
            addCriterion("finish_time is null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNotNull() {
            addCriterion("finish_time is not null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeEqualTo(Date value) {
            addCriterion("finish_time =", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotEqualTo(Date value) {
            addCriterion("finish_time <>", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThan(Date value) {
            addCriterion("finish_time >", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("finish_time >=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThan(Date value) {
            addCriterion("finish_time <", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThanOrEqualTo(Date value) {
            addCriterion("finish_time <=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIn(List<Date> values) {
            addCriterion("finish_time in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotIn(List<Date> values) {
            addCriterion("finish_time not in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeBetween(Date value1, Date value2) {
            addCriterion("finish_time between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotBetween(Date value1, Date value2) {
            addCriterion("finish_time not between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andIsPackageIsNull() {
            addCriterion("is_package is null");
            return (Criteria) this;
        }

        public Criteria andIsPackageIsNotNull() {
            addCriterion("is_package is not null");
            return (Criteria) this;
        }

        public Criteria andIsPackageEqualTo(Integer value) {
            addCriterion("is_package =", value, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageNotEqualTo(Integer value) {
            addCriterion("is_package <>", value, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageGreaterThan(Integer value) {
            addCriterion("is_package >", value, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_package >=", value, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageLessThan(Integer value) {
            addCriterion("is_package <", value, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageLessThanOrEqualTo(Integer value) {
            addCriterion("is_package <=", value, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageIn(List<Integer> values) {
            addCriterion("is_package in", values, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageNotIn(List<Integer> values) {
            addCriterion("is_package not in", values, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageBetween(Integer value1, Integer value2) {
            addCriterion("is_package between", value1, value2, "isPackage");
            return (Criteria) this;
        }

        public Criteria andIsPackageNotBetween(Integer value1, Integer value2) {
            addCriterion("is_package not between", value1, value2, "isPackage");
            return (Criteria) this;
        }

        public Criteria andPackageIdIsNull() {
            addCriterion("package_id is null");
            return (Criteria) this;
        }

        public Criteria andPackageIdIsNotNull() {
            addCriterion("package_id is not null");
            return (Criteria) this;
        }

        public Criteria andPackageIdEqualTo(String value) {
            addCriterion("package_id =", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdNotEqualTo(String value) {
            addCriterion("package_id <>", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdGreaterThan(String value) {
            addCriterion("package_id >", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdGreaterThanOrEqualTo(String value) {
            addCriterion("package_id >=", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdLessThan(String value) {
            addCriterion("package_id <", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdLessThanOrEqualTo(String value) {
            addCriterion("package_id <=", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdLike(String value) {
            addCriterion("package_id like", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdNotLike(String value) {
            addCriterion("package_id not like", value, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdIn(List<String> values) {
            addCriterion("package_id in", values, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdNotIn(List<String> values) {
            addCriterion("package_id not in", values, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdBetween(String value1, String value2) {
            addCriterion("package_id between", value1, value2, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageIdNotBetween(String value1, String value2) {
            addCriterion("package_id not between", value1, value2, "packageId");
            return (Criteria) this;
        }

        public Criteria andPackageNameIsNull() {
            addCriterion("package_name is null");
            return (Criteria) this;
        }

        public Criteria andPackageNameIsNotNull() {
            addCriterion("package_name is not null");
            return (Criteria) this;
        }

        public Criteria andPackageNameEqualTo(String value) {
            addCriterion("package_name =", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameNotEqualTo(String value) {
            addCriterion("package_name <>", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameGreaterThan(String value) {
            addCriterion("package_name >", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameGreaterThanOrEqualTo(String value) {
            addCriterion("package_name >=", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameLessThan(String value) {
            addCriterion("package_name <", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameLessThanOrEqualTo(String value) {
            addCriterion("package_name <=", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameLike(String value) {
            addCriterion("package_name like", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameNotLike(String value) {
            addCriterion("package_name not like", value, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameIn(List<String> values) {
            addCriterion("package_name in", values, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameNotIn(List<String> values) {
            addCriterion("package_name not in", values, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameBetween(String value1, String value2) {
            addCriterion("package_name between", value1, value2, "packageName");
            return (Criteria) this;
        }

        public Criteria andPackageNameNotBetween(String value1, String value2) {
            addCriterion("package_name not between", value1, value2, "packageName");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdIsNull() {
            addCriterion("goods_type_id is null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdIsNotNull() {
            addCriterion("goods_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdEqualTo(Integer value) {
            addCriterion("goods_type_id =", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdNotEqualTo(Integer value) {
            addCriterion("goods_type_id <>", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdGreaterThan(Integer value) {
            addCriterion("goods_type_id >", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_type_id >=", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdLessThan(Integer value) {
            addCriterion("goods_type_id <", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("goods_type_id <=", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdIn(List<Integer> values) {
            addCriterion("goods_type_id in", values, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdNotIn(List<Integer> values) {
            addCriterion("goods_type_id not in", values, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("goods_type_id between", value1, value2, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_type_id not between", value1, value2, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNull() {
            addCriterion("goods_id is null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNotNull() {
            addCriterion("goods_id is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdEqualTo(String value) {
            addCriterion("goods_id =", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotEqualTo(String value) {
            addCriterion("goods_id <>", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThan(String value) {
            addCriterion("goods_id >", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThanOrEqualTo(String value) {
            addCriterion("goods_id >=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThan(String value) {
            addCriterion("goods_id <", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThanOrEqualTo(String value) {
            addCriterion("goods_id <=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLike(String value) {
            addCriterion("goods_id like", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotLike(String value) {
            addCriterion("goods_id not like", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIn(List<String> values) {
            addCriterion("goods_id in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotIn(List<String> values) {
            addCriterion("goods_id not in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdBetween(String value1, String value2) {
            addCriterion("goods_id between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotBetween(String value1, String value2) {
            addCriterion("goods_id not between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuIsNull() {
            addCriterion("goods_sku is null");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuIsNotNull() {
            addCriterion("goods_sku is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuEqualTo(String value) {
            addCriterion("goods_sku =", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuNotEqualTo(String value) {
            addCriterion("goods_sku <>", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuGreaterThan(String value) {
            addCriterion("goods_sku >", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuGreaterThanOrEqualTo(String value) {
            addCriterion("goods_sku >=", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuLessThan(String value) {
            addCriterion("goods_sku <", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuLessThanOrEqualTo(String value) {
            addCriterion("goods_sku <=", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuLike(String value) {
            addCriterion("goods_sku like", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuNotLike(String value) {
            addCriterion("goods_sku not like", value, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuIn(List<String> values) {
            addCriterion("goods_sku in", values, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuNotIn(List<String> values) {
            addCriterion("goods_sku not in", values, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuBetween(String value1, String value2) {
            addCriterion("goods_sku between", value1, value2, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSkuNotBetween(String value1, String value2) {
            addCriterion("goods_sku not between", value1, value2, "goodsSku");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationIsNull() {
            addCriterion("goods_specification is null");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationIsNotNull() {
            addCriterion("goods_specification is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationEqualTo(String value) {
            addCriterion("goods_specification =", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationNotEqualTo(String value) {
            addCriterion("goods_specification <>", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationGreaterThan(String value) {
            addCriterion("goods_specification >", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationGreaterThanOrEqualTo(String value) {
            addCriterion("goods_specification >=", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationLessThan(String value) {
            addCriterion("goods_specification <", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationLessThanOrEqualTo(String value) {
            addCriterion("goods_specification <=", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationLike(String value) {
            addCriterion("goods_specification like", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationNotLike(String value) {
            addCriterion("goods_specification not like", value, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationIn(List<String> values) {
            addCriterion("goods_specification in", values, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationNotIn(List<String> values) {
            addCriterion("goods_specification not in", values, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationBetween(String value1, String value2) {
            addCriterion("goods_specification between", value1, value2, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsSpecificationNotBetween(String value1, String value2) {
            addCriterion("goods_specification not between", value1, value2, "goodsSpecification");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("goods_name is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("goods_name =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("goods_name <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("goods_name >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("goods_name >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("goods_name <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("goods_name <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("goods_name like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("goods_name not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("goods_name in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("goods_name not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("goods_name between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("goods_name not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andOriginalUnitPriceIsNull() {
            addCriterion("original_unit_price is null");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceIsNotNull() {
            addCriterion("original_unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceEqualTo(BigDecimal value) {
            addCriterion("original_unit_price =", value, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("original_unit_price <>", value, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("original_unit_price >", value, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("original_unit_price >=", value, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceLessThan(BigDecimal value) {
            addCriterion("original_unit_price <", value, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("original_unit_price <=", value, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceIn(List<BigDecimal> values) {
            addCriterion("original_unit_price in", values, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("original_unit_price not in", values, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("original_unit_price between", value1, value2, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("original_unit_price not between", value1, value2, "originalUnitPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceIsNull() {
            addCriterion("original_total_price is null");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceIsNotNull() {
            addCriterion("original_total_price is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceEqualTo(BigDecimal value) {
            addCriterion("original_total_price =", value, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceNotEqualTo(BigDecimal value) {
            addCriterion("original_total_price <>", value, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceGreaterThan(BigDecimal value) {
            addCriterion("original_total_price >", value, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("original_total_price >=", value, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceLessThan(BigDecimal value) {
            addCriterion("original_total_price <", value, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("original_total_price <=", value, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceIn(List<BigDecimal> values) {
            addCriterion("original_total_price in", values, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceNotIn(List<BigDecimal> values) {
            addCriterion("original_total_price not in", values, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("original_total_price between", value1, value2, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalTotalPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("original_total_price not between", value1, value2, "originalTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceIsNull() {
            addCriterion("selling_unit_price is null");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceIsNotNull() {
            addCriterion("selling_unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceEqualTo(BigDecimal value) {
            addCriterion("selling_unit_price =", value, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("selling_unit_price <>", value, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("selling_unit_price >", value, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("selling_unit_price >=", value, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceLessThan(BigDecimal value) {
            addCriterion("selling_unit_price <", value, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("selling_unit_price <=", value, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceIn(List<BigDecimal> values) {
            addCriterion("selling_unit_price in", values, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("selling_unit_price not in", values, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("selling_unit_price between", value1, value2, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("selling_unit_price not between", value1, value2, "sellingUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceIsNull() {
            addCriterion("selling_total_price is null");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceIsNotNull() {
            addCriterion("selling_total_price is not null");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceEqualTo(BigDecimal value) {
            addCriterion("selling_total_price =", value, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceNotEqualTo(BigDecimal value) {
            addCriterion("selling_total_price <>", value, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceGreaterThan(BigDecimal value) {
            addCriterion("selling_total_price >", value, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("selling_total_price >=", value, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceLessThan(BigDecimal value) {
            addCriterion("selling_total_price <", value, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("selling_total_price <=", value, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceIn(List<BigDecimal> values) {
            addCriterion("selling_total_price in", values, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceNotIn(List<BigDecimal> values) {
            addCriterion("selling_total_price not in", values, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("selling_total_price between", value1, value2, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSellingTotalPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("selling_total_price not between", value1, value2, "sellingTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceIsNull() {
            addCriterion("negotiated_unit_price is null");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceIsNotNull() {
            addCriterion("negotiated_unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceEqualTo(BigDecimal value) {
            addCriterion("negotiated_unit_price =", value, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("negotiated_unit_price <>", value, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("negotiated_unit_price >", value, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("negotiated_unit_price >=", value, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceLessThan(BigDecimal value) {
            addCriterion("negotiated_unit_price <", value, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("negotiated_unit_price <=", value, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceIn(List<BigDecimal> values) {
            addCriterion("negotiated_unit_price in", values, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("negotiated_unit_price not in", values, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("negotiated_unit_price between", value1, value2, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("negotiated_unit_price not between", value1, value2, "negotiatedUnitPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceIsNull() {
            addCriterion("negotiated_total_price is null");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceIsNotNull() {
            addCriterion("negotiated_total_price is not null");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceEqualTo(BigDecimal value) {
            addCriterion("negotiated_total_price =", value, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceNotEqualTo(BigDecimal value) {
            addCriterion("negotiated_total_price <>", value, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceGreaterThan(BigDecimal value) {
            addCriterion("negotiated_total_price >", value, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("negotiated_total_price >=", value, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceLessThan(BigDecimal value) {
            addCriterion("negotiated_total_price <", value, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("negotiated_total_price <=", value, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceIn(List<BigDecimal> values) {
            addCriterion("negotiated_total_price in", values, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceNotIn(List<BigDecimal> values) {
            addCriterion("negotiated_total_price not in", values, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("negotiated_total_price between", value1, value2, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andNegotiatedTotalPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("negotiated_total_price not between", value1, value2, "negotiatedTotalPrice");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountIsNull() {
            addCriterion("settlement_amount is null");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountIsNotNull() {
            addCriterion("settlement_amount is not null");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountEqualTo(BigDecimal value) {
            addCriterion("settlement_amount =", value, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountNotEqualTo(BigDecimal value) {
            addCriterion("settlement_amount <>", value, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountGreaterThan(BigDecimal value) {
            addCriterion("settlement_amount >", value, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("settlement_amount >=", value, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountLessThan(BigDecimal value) {
            addCriterion("settlement_amount <", value, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("settlement_amount <=", value, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountIn(List<BigDecimal> values) {
            addCriterion("settlement_amount in", values, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountNotIn(List<BigDecimal> values) {
            addCriterion("settlement_amount not in", values, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("settlement_amount between", value1, value2, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andSettlementAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("settlement_amount not between", value1, value2, "settlementAmount");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceIsNull() {
            addCriterion("cost_unit_price is null");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceIsNotNull() {
            addCriterion("cost_unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceEqualTo(BigDecimal value) {
            addCriterion("cost_unit_price =", value, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("cost_unit_price <>", value, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("cost_unit_price >", value, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_unit_price >=", value, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceLessThan(BigDecimal value) {
            addCriterion("cost_unit_price <", value, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_unit_price <=", value, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceIn(List<BigDecimal> values) {
            addCriterion("cost_unit_price in", values, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("cost_unit_price not in", values, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_unit_price between", value1, value2, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_unit_price not between", value1, value2, "costUnitPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceIsNull() {
            addCriterion("cost_total_price is null");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceIsNotNull() {
            addCriterion("cost_total_price is not null");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceEqualTo(BigDecimal value) {
            addCriterion("cost_total_price =", value, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceNotEqualTo(BigDecimal value) {
            addCriterion("cost_total_price <>", value, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceGreaterThan(BigDecimal value) {
            addCriterion("cost_total_price >", value, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_total_price >=", value, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceLessThan(BigDecimal value) {
            addCriterion("cost_total_price <", value, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_total_price <=", value, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceIn(List<BigDecimal> values) {
            addCriterion("cost_total_price in", values, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceNotIn(List<BigDecimal> values) {
            addCriterion("cost_total_price not in", values, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_total_price between", value1, value2, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andCostTotalPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_total_price not between", value1, value2, "costTotalPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIsNull() {
            addCriterion("discount_amount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIsNotNull() {
            addCriterion("discount_amount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountEqualTo(BigDecimal value) {
            addCriterion("discount_amount =", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotEqualTo(BigDecimal value) {
            addCriterion("discount_amount <>", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountGreaterThan(BigDecimal value) {
            addCriterion("discount_amount >", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_amount >=", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountLessThan(BigDecimal value) {
            addCriterion("discount_amount <", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_amount <=", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIn(List<BigDecimal> values) {
            addCriterion("discount_amount in", values, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotIn(List<BigDecimal> values) {
            addCriterion("discount_amount not in", values, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_amount between", value1, value2, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_amount not between", value1, value2, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountIsNull() {
            addCriterion("goods_order_amount is null");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountIsNotNull() {
            addCriterion("goods_order_amount is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountEqualTo(BigDecimal value) {
            addCriterion("goods_order_amount =", value, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountNotEqualTo(BigDecimal value) {
            addCriterion("goods_order_amount <>", value, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountGreaterThan(BigDecimal value) {
            addCriterion("goods_order_amount >", value, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_order_amount >=", value, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountLessThan(BigDecimal value) {
            addCriterion("goods_order_amount <", value, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_order_amount <=", value, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountIn(List<BigDecimal> values) {
            addCriterion("goods_order_amount in", values, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountNotIn(List<BigDecimal> values) {
            addCriterion("goods_order_amount not in", values, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_order_amount between", value1, value2, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_order_amount not between", value1, value2, "goodsOrderAmount");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeIsNull() {
            addCriterion("platform_tax_code is null");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeIsNotNull() {
            addCriterion("platform_tax_code is not null");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeEqualTo(String value) {
            addCriterion("platform_tax_code =", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeNotEqualTo(String value) {
            addCriterion("platform_tax_code <>", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeGreaterThan(String value) {
            addCriterion("platform_tax_code >", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeGreaterThanOrEqualTo(String value) {
            addCriterion("platform_tax_code >=", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeLessThan(String value) {
            addCriterion("platform_tax_code <", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeLessThanOrEqualTo(String value) {
            addCriterion("platform_tax_code <=", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeLike(String value) {
            addCriterion("platform_tax_code like", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeNotLike(String value) {
            addCriterion("platform_tax_code not like", value, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeIn(List<String> values) {
            addCriterion("platform_tax_code in", values, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeNotIn(List<String> values) {
            addCriterion("platform_tax_code not in", values, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeBetween(String value1, String value2) {
            addCriterion("platform_tax_code between", value1, value2, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxCodeNotBetween(String value1, String value2) {
            addCriterion("platform_tax_code not between", value1, value2, "platformTaxCode");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateIsNull() {
            addCriterion("platform_tax_rate is null");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateIsNotNull() {
            addCriterion("platform_tax_rate is not null");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateEqualTo(BigDecimal value) {
            addCriterion("platform_tax_rate =", value, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateNotEqualTo(BigDecimal value) {
            addCriterion("platform_tax_rate <>", value, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateGreaterThan(BigDecimal value) {
            addCriterion("platform_tax_rate >", value, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("platform_tax_rate >=", value, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateLessThan(BigDecimal value) {
            addCriterion("platform_tax_rate <", value, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("platform_tax_rate <=", value, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateIn(List<BigDecimal> values) {
            addCriterion("platform_tax_rate in", values, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateNotIn(List<BigDecimal> values) {
            addCriterion("platform_tax_rate not in", values, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("platform_tax_rate between", value1, value2, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andPlatformTaxRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("platform_tax_rate not between", value1, value2, "platformTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeIsNull() {
            addCriterion("merchant_tax_code is null");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeIsNotNull() {
            addCriterion("merchant_tax_code is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeEqualTo(String value) {
            addCriterion("merchant_tax_code =", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeNotEqualTo(String value) {
            addCriterion("merchant_tax_code <>", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeGreaterThan(String value) {
            addCriterion("merchant_tax_code >", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_tax_code >=", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeLessThan(String value) {
            addCriterion("merchant_tax_code <", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeLessThanOrEqualTo(String value) {
            addCriterion("merchant_tax_code <=", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeLike(String value) {
            addCriterion("merchant_tax_code like", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeNotLike(String value) {
            addCriterion("merchant_tax_code not like", value, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeIn(List<String> values) {
            addCriterion("merchant_tax_code in", values, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeNotIn(List<String> values) {
            addCriterion("merchant_tax_code not in", values, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeBetween(String value1, String value2) {
            addCriterion("merchant_tax_code between", value1, value2, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxCodeNotBetween(String value1, String value2) {
            addCriterion("merchant_tax_code not between", value1, value2, "merchantTaxCode");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateIsNull() {
            addCriterion("merchant_tax_rate is null");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateIsNotNull() {
            addCriterion("merchant_tax_rate is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateEqualTo(BigDecimal value) {
            addCriterion("merchant_tax_rate =", value, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateNotEqualTo(BigDecimal value) {
            addCriterion("merchant_tax_rate <>", value, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateGreaterThan(BigDecimal value) {
            addCriterion("merchant_tax_rate >", value, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("merchant_tax_rate >=", value, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateLessThan(BigDecimal value) {
            addCriterion("merchant_tax_rate <", value, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("merchant_tax_rate <=", value, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateIn(List<BigDecimal> values) {
            addCriterion("merchant_tax_rate in", values, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateNotIn(List<BigDecimal> values) {
            addCriterion("merchant_tax_rate not in", values, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("merchant_tax_rate between", value1, value2, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andMerchantTaxRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("merchant_tax_rate not between", value1, value2, "merchantTaxRate");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeIsNull() {
            addCriterion("is_duty_free is null");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeIsNotNull() {
            addCriterion("is_duty_free is not null");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeEqualTo(Integer value) {
            addCriterion("is_duty_free =", value, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeNotEqualTo(Integer value) {
            addCriterion("is_duty_free <>", value, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeGreaterThan(Integer value) {
            addCriterion("is_duty_free >", value, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_duty_free >=", value, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeLessThan(Integer value) {
            addCriterion("is_duty_free <", value, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeLessThanOrEqualTo(Integer value) {
            addCriterion("is_duty_free <=", value, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeIn(List<Integer> values) {
            addCriterion("is_duty_free in", values, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeNotIn(List<Integer> values) {
            addCriterion("is_duty_free not in", values, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeBetween(Integer value1, Integer value2) {
            addCriterion("is_duty_free between", value1, value2, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andIsDutyFreeNotBetween(Integer value1, Integer value2) {
            addCriterion("is_duty_free not between", value1, value2, "isDutyFree");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNull() {
            addCriterion("brand_id is null");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNotNull() {
            addCriterion("brand_id is not null");
            return (Criteria) this;
        }

        public Criteria andBrandIdEqualTo(String value) {
            addCriterion("brand_id =", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotEqualTo(String value) {
            addCriterion("brand_id <>", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThan(String value) {
            addCriterion("brand_id >", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanOrEqualTo(String value) {
            addCriterion("brand_id >=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThan(String value) {
            addCriterion("brand_id <", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanOrEqualTo(String value) {
            addCriterion("brand_id <=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLike(String value) {
            addCriterion("brand_id like", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotLike(String value) {
            addCriterion("brand_id not like", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdIn(List<String> values) {
            addCriterion("brand_id in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotIn(List<String> values) {
            addCriterion("brand_id not in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdBetween(String value1, String value2) {
            addCriterion("brand_id between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotBetween(String value1, String value2) {
            addCriterion("brand_id not between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandNameIsNull() {
            addCriterion("brand_name is null");
            return (Criteria) this;
        }

        public Criteria andBrandNameIsNotNull() {
            addCriterion("brand_name is not null");
            return (Criteria) this;
        }

        public Criteria andBrandNameEqualTo(String value) {
            addCriterion("brand_name =", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotEqualTo(String value) {
            addCriterion("brand_name <>", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThan(String value) {
            addCriterion("brand_name >", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThanOrEqualTo(String value) {
            addCriterion("brand_name >=", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThan(String value) {
            addCriterion("brand_name <", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThanOrEqualTo(String value) {
            addCriterion("brand_name <=", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLike(String value) {
            addCriterion("brand_name like", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotLike(String value) {
            addCriterion("brand_name not like", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameIn(List<String> values) {
            addCriterion("brand_name in", values, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotIn(List<String> values) {
            addCriterion("brand_name not in", values, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameBetween(String value1, String value2) {
            addCriterion("brand_name between", value1, value2, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotBetween(String value1, String value2) {
            addCriterion("brand_name not between", value1, value2, "brandName");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnIsNull() {
            addCriterion("refund_origin_order_sn is null");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnIsNotNull() {
            addCriterion("refund_origin_order_sn is not null");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnEqualTo(String value) {
            addCriterion("refund_origin_order_sn =", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnNotEqualTo(String value) {
            addCriterion("refund_origin_order_sn <>", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnGreaterThan(String value) {
            addCriterion("refund_origin_order_sn >", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnGreaterThanOrEqualTo(String value) {
            addCriterion("refund_origin_order_sn >=", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnLessThan(String value) {
            addCriterion("refund_origin_order_sn <", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnLessThanOrEqualTo(String value) {
            addCriterion("refund_origin_order_sn <=", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnLike(String value) {
            addCriterion("refund_origin_order_sn like", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnNotLike(String value) {
            addCriterion("refund_origin_order_sn not like", value, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnIn(List<String> values) {
            addCriterion("refund_origin_order_sn in", values, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnNotIn(List<String> values) {
            addCriterion("refund_origin_order_sn not in", values, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnBetween(String value1, String value2) {
            addCriterion("refund_origin_order_sn between", value1, value2, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andRefundOriginOrderSnNotBetween(String value1, String value2) {
            addCriterion("refund_origin_order_sn not between", value1, value2, "refundOriginOrderSn");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIsNull() {
            addCriterion("operator_id is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIsNotNull() {
            addCriterion("operator_id is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorIdEqualTo(String value) {
            addCriterion("operator_id =", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotEqualTo(String value) {
            addCriterion("operator_id <>", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdGreaterThan(String value) {
            addCriterion("operator_id >", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdGreaterThanOrEqualTo(String value) {
            addCriterion("operator_id >=", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLessThan(String value) {
            addCriterion("operator_id <", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLessThanOrEqualTo(String value) {
            addCriterion("operator_id <=", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLike(String value) {
            addCriterion("operator_id like", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotLike(String value) {
            addCriterion("operator_id not like", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIn(List<String> values) {
            addCriterion("operator_id in", values, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotIn(List<String> values) {
            addCriterion("operator_id not in", values, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdBetween(String value1, String value2) {
            addCriterion("operator_id between", value1, value2, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotBetween(String value1, String value2) {
            addCriterion("operator_id not between", value1, value2, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorNameIsNull() {
            addCriterion("operator_name is null");
            return (Criteria) this;
        }

        public Criteria andOperatorNameIsNotNull() {
            addCriterion("operator_name is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorNameEqualTo(String value) {
            addCriterion("operator_name =", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotEqualTo(String value) {
            addCriterion("operator_name <>", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameGreaterThan(String value) {
            addCriterion("operator_name >", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameGreaterThanOrEqualTo(String value) {
            addCriterion("operator_name >=", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameLessThan(String value) {
            addCriterion("operator_name <", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameLessThanOrEqualTo(String value) {
            addCriterion("operator_name <=", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameLike(String value) {
            addCriterion("operator_name like", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotLike(String value) {
            addCriterion("operator_name not like", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameIn(List<String> values) {
            addCriterion("operator_name in", values, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotIn(List<String> values) {
            addCriterion("operator_name not in", values, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameBetween(String value1, String value2) {
            addCriterion("operator_name between", value1, value2, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotBetween(String value1, String value2) {
            addCriterion("operator_name not between", value1, value2, "operatorName");
            return (Criteria) this;
        }

        public Criteria andSupplierIdIsNull() {
            addCriterion("supplier_id is null");
            return (Criteria) this;
        }

        public Criteria andSupplierIdIsNotNull() {
            addCriterion("supplier_id is not null");
            return (Criteria) this;
        }

        public Criteria andSupplierIdEqualTo(String value) {
            addCriterion("supplier_id =", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdNotEqualTo(String value) {
            addCriterion("supplier_id <>", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdGreaterThan(String value) {
            addCriterion("supplier_id >", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdGreaterThanOrEqualTo(String value) {
            addCriterion("supplier_id >=", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdLessThan(String value) {
            addCriterion("supplier_id <", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdLessThanOrEqualTo(String value) {
            addCriterion("supplier_id <=", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdLike(String value) {
            addCriterion("supplier_id like", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdNotLike(String value) {
            addCriterion("supplier_id not like", value, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdIn(List<String> values) {
            addCriterion("supplier_id in", values, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdNotIn(List<String> values) {
            addCriterion("supplier_id not in", values, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdBetween(String value1, String value2) {
            addCriterion("supplier_id between", value1, value2, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierIdNotBetween(String value1, String value2) {
            addCriterion("supplier_id not between", value1, value2, "supplierId");
            return (Criteria) this;
        }

        public Criteria andSupplierNameIsNull() {
            addCriterion("supplier_name is null");
            return (Criteria) this;
        }

        public Criteria andSupplierNameIsNotNull() {
            addCriterion("supplier_name is not null");
            return (Criteria) this;
        }

        public Criteria andSupplierNameEqualTo(String value) {
            addCriterion("supplier_name =", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotEqualTo(String value) {
            addCriterion("supplier_name <>", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameGreaterThan(String value) {
            addCriterion("supplier_name >", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameGreaterThanOrEqualTo(String value) {
            addCriterion("supplier_name >=", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameLessThan(String value) {
            addCriterion("supplier_name <", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameLessThanOrEqualTo(String value) {
            addCriterion("supplier_name <=", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameLike(String value) {
            addCriterion("supplier_name like", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotLike(String value) {
            addCriterion("supplier_name not like", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameIn(List<String> values) {
            addCriterion("supplier_name in", values, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotIn(List<String> values) {
            addCriterion("supplier_name not in", values, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameBetween(String value1, String value2) {
            addCriterion("supplier_name between", value1, value2, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotBetween(String value1, String value2) {
            addCriterion("supplier_name not between", value1, value2, "supplierName");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorIsNull() {
            addCriterion("accounting_order_sn_operator is null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorIsNotNull() {
            addCriterion("accounting_order_sn_operator is not null");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorEqualTo(String value) {
            addCriterion("accounting_order_sn_operator =", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorNotEqualTo(String value) {
            addCriterion("accounting_order_sn_operator <>", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorGreaterThan(String value) {
            addCriterion("accounting_order_sn_operator >", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("accounting_order_sn_operator >=", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorLessThan(String value) {
            addCriterion("accounting_order_sn_operator <", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorLessThanOrEqualTo(String value) {
            addCriterion("accounting_order_sn_operator <=", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorLike(String value) {
            addCriterion("accounting_order_sn_operator like", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorNotLike(String value) {
            addCriterion("accounting_order_sn_operator not like", value, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorIn(List<String> values) {
            addCriterion("accounting_order_sn_operator in", values, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorNotIn(List<String> values) {
            addCriterion("accounting_order_sn_operator not in", values, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorBetween(String value1, String value2) {
            addCriterion("accounting_order_sn_operator between", value1, value2, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andAccountingOrderSnOperatorNotBetween(String value1, String value2) {
            addCriterion("accounting_order_sn_operator not between", value1, value2, "accountingOrderSnOperator");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdIsNull() {
            addCriterion("cate_level_1_id is null");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdIsNotNull() {
            addCriterion("cate_level_1_id is not null");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdEqualTo(String value) {
            addCriterion("cate_level_1_id =", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdNotEqualTo(String value) {
            addCriterion("cate_level_1_id <>", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdGreaterThan(String value) {
            addCriterion("cate_level_1_id >", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdGreaterThanOrEqualTo(String value) {
            addCriterion("cate_level_1_id >=", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdLessThan(String value) {
            addCriterion("cate_level_1_id <", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdLessThanOrEqualTo(String value) {
            addCriterion("cate_level_1_id <=", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdLike(String value) {
            addCriterion("cate_level_1_id like", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdNotLike(String value) {
            addCriterion("cate_level_1_id not like", value, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdIn(List<String> values) {
            addCriterion("cate_level_1_id in", values, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdNotIn(List<String> values) {
            addCriterion("cate_level_1_id not in", values, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdBetween(String value1, String value2) {
            addCriterion("cate_level_1_id between", value1, value2, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1IdNotBetween(String value1, String value2) {
            addCriterion("cate_level_1_id not between", value1, value2, "cateLevel1Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameIsNull() {
            addCriterion("cate_level_1_name is null");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameIsNotNull() {
            addCriterion("cate_level_1_name is not null");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameEqualTo(String value) {
            addCriterion("cate_level_1_name =", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameNotEqualTo(String value) {
            addCriterion("cate_level_1_name <>", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameGreaterThan(String value) {
            addCriterion("cate_level_1_name >", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameGreaterThanOrEqualTo(String value) {
            addCriterion("cate_level_1_name >=", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameLessThan(String value) {
            addCriterion("cate_level_1_name <", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameLessThanOrEqualTo(String value) {
            addCriterion("cate_level_1_name <=", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameLike(String value) {
            addCriterion("cate_level_1_name like", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameNotLike(String value) {
            addCriterion("cate_level_1_name not like", value, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameIn(List<String> values) {
            addCriterion("cate_level_1_name in", values, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameNotIn(List<String> values) {
            addCriterion("cate_level_1_name not in", values, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameBetween(String value1, String value2) {
            addCriterion("cate_level_1_name between", value1, value2, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel1NameNotBetween(String value1, String value2) {
            addCriterion("cate_level_1_name not between", value1, value2, "cateLevel1Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdIsNull() {
            addCriterion("cate_level_2_id is null");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdIsNotNull() {
            addCriterion("cate_level_2_id is not null");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdEqualTo(String value) {
            addCriterion("cate_level_2_id =", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdNotEqualTo(String value) {
            addCriterion("cate_level_2_id <>", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdGreaterThan(String value) {
            addCriterion("cate_level_2_id >", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdGreaterThanOrEqualTo(String value) {
            addCriterion("cate_level_2_id >=", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdLessThan(String value) {
            addCriterion("cate_level_2_id <", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdLessThanOrEqualTo(String value) {
            addCriterion("cate_level_2_id <=", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdLike(String value) {
            addCriterion("cate_level_2_id like", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdNotLike(String value) {
            addCriterion("cate_level_2_id not like", value, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdIn(List<String> values) {
            addCriterion("cate_level_2_id in", values, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdNotIn(List<String> values) {
            addCriterion("cate_level_2_id not in", values, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdBetween(String value1, String value2) {
            addCriterion("cate_level_2_id between", value1, value2, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2IdNotBetween(String value1, String value2) {
            addCriterion("cate_level_2_id not between", value1, value2, "cateLevel2Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameIsNull() {
            addCriterion("cate_level_2_name is null");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameIsNotNull() {
            addCriterion("cate_level_2_name is not null");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameEqualTo(String value) {
            addCriterion("cate_level_2_name =", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameNotEqualTo(String value) {
            addCriterion("cate_level_2_name <>", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameGreaterThan(String value) {
            addCriterion("cate_level_2_name >", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameGreaterThanOrEqualTo(String value) {
            addCriterion("cate_level_2_name >=", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameLessThan(String value) {
            addCriterion("cate_level_2_name <", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameLessThanOrEqualTo(String value) {
            addCriterion("cate_level_2_name <=", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameLike(String value) {
            addCriterion("cate_level_2_name like", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameNotLike(String value) {
            addCriterion("cate_level_2_name not like", value, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameIn(List<String> values) {
            addCriterion("cate_level_2_name in", values, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameNotIn(List<String> values) {
            addCriterion("cate_level_2_name not in", values, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameBetween(String value1, String value2) {
            addCriterion("cate_level_2_name between", value1, value2, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel2NameNotBetween(String value1, String value2) {
            addCriterion("cate_level_2_name not between", value1, value2, "cateLevel2Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdIsNull() {
            addCriterion("cate_level_3_id is null");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdIsNotNull() {
            addCriterion("cate_level_3_id is not null");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdEqualTo(String value) {
            addCriterion("cate_level_3_id =", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdNotEqualTo(String value) {
            addCriterion("cate_level_3_id <>", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdGreaterThan(String value) {
            addCriterion("cate_level_3_id >", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdGreaterThanOrEqualTo(String value) {
            addCriterion("cate_level_3_id >=", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdLessThan(String value) {
            addCriterion("cate_level_3_id <", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdLessThanOrEqualTo(String value) {
            addCriterion("cate_level_3_id <=", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdLike(String value) {
            addCriterion("cate_level_3_id like", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdNotLike(String value) {
            addCriterion("cate_level_3_id not like", value, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdIn(List<String> values) {
            addCriterion("cate_level_3_id in", values, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdNotIn(List<String> values) {
            addCriterion("cate_level_3_id not in", values, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdBetween(String value1, String value2) {
            addCriterion("cate_level_3_id between", value1, value2, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3IdNotBetween(String value1, String value2) {
            addCriterion("cate_level_3_id not between", value1, value2, "cateLevel3Id");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameIsNull() {
            addCriterion("cate_level_3_name is null");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameIsNotNull() {
            addCriterion("cate_level_3_name is not null");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameEqualTo(String value) {
            addCriterion("cate_level_3_name =", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameNotEqualTo(String value) {
            addCriterion("cate_level_3_name <>", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameGreaterThan(String value) {
            addCriterion("cate_level_3_name >", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameGreaterThanOrEqualTo(String value) {
            addCriterion("cate_level_3_name >=", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameLessThan(String value) {
            addCriterion("cate_level_3_name <", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameLessThanOrEqualTo(String value) {
            addCriterion("cate_level_3_name <=", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameLike(String value) {
            addCriterion("cate_level_3_name like", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameNotLike(String value) {
            addCriterion("cate_level_3_name not like", value, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameIn(List<String> values) {
            addCriterion("cate_level_3_name in", values, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameNotIn(List<String> values) {
            addCriterion("cate_level_3_name not in", values, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameBetween(String value1, String value2) {
            addCriterion("cate_level_3_name between", value1, value2, "cateLevel3Name");
            return (Criteria) this;
        }

        public Criteria andCateLevel3NameNotBetween(String value1, String value2) {
            addCriterion("cate_level_3_name not between", value1, value2, "cateLevel3Name");
            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(Integer value) {
            addCriterion("accounting_status =", value, "accountingStatus");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

        public Criteria andAccountingStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("accounting_status not between", value1, value2, "accountingStatus");
            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(String value) {
            addCriterion("create_user_id =", value, "createUserId");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCreateUserIdLike(String value) {
            addCriterion("create_user_id like", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotLike(String value) {
            addCriterion("create_user_id not like", value, "createUserId");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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