package com.bailuntec.domain.example;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

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

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

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

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    protected Integer offset;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    protected Integer rows;

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

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

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

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

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

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

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

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

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public static Criteria newAndCreateCriteria() {
        DcSemiOrderExample example = new DcSemiOrderExample();
        return example.createCriteria();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public Integer getOffset() {
        return this.offset;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public void setRows(Integer rows) {
        this.rows = rows;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public Integer getRows() {
        return this.rows;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample limit(Integer rows) {
        this.rows = rows;
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample limit(Integer offset, Integer rows) {
        this.offset = offset;
        this.rows = rows;
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcSemiOrderExample page(Integer page, Integer pageSize) {
        this.offset = page * pageSize;
        this.rows = pageSize;
        return this;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(String value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(String value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(String value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(String value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(String value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLike(String value) {
            addCriterion("order_no like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotLike(String value) {
            addCriterion("order_no not like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<String> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<String> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(String value1, String value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(String value1, String value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoIsNull() {
            addCriterion("purchase_no is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoIsNotNull() {
            addCriterion("purchase_no is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoEqualTo(String value) {
            addCriterion("purchase_no =", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoNotEqualTo(String value) {
            addCriterion("purchase_no <>", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoGreaterThan(String value) {
            addCriterion("purchase_no >", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_no >=", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoLessThan(String value) {
            addCriterion("purchase_no <", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoLessThanOrEqualTo(String value) {
            addCriterion("purchase_no <=", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoLike(String value) {
            addCriterion("purchase_no like", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoNotLike(String value) {
            addCriterion("purchase_no not like", value, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoIn(List<String> values) {
            addCriterion("purchase_no in", values, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoNotIn(List<String> values) {
            addCriterion("purchase_no not in", values, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoBetween(String value1, String value2) {
            addCriterion("purchase_no between", value1, value2, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andPurchaseNoNotBetween(String value1, String value2) {
            addCriterion("purchase_no not between", value1, value2, "purchaseNo");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(Integer value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

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

        public Criteria andSourceGreaterThan(Integer value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

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

        public Criteria andSourceLessThan(Integer value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(LocalDateTime value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(LocalDateTime value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(LocalDateTime value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(LocalDateTime value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<LocalDateTime> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<LocalDateTime> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andDeliverDateIsNull() {
            addCriterion("deliver_date is null");
            return (Criteria) this;
        }

        public Criteria andDeliverDateIsNotNull() {
            addCriterion("deliver_date is not null");
            return (Criteria) this;
        }

        public Criteria andDeliverDateEqualTo(LocalDateTime value) {
            addCriterion("deliver_date =", value, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateNotEqualTo(LocalDateTime value) {
            addCriterion("deliver_date <>", value, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateGreaterThan(LocalDateTime value) {
            addCriterion("deliver_date >", value, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("deliver_date >=", value, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateLessThan(LocalDateTime value) {
            addCriterion("deliver_date <", value, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("deliver_date <=", value, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateIn(List<LocalDateTime> values) {
            addCriterion("deliver_date in", values, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateNotIn(List<LocalDateTime> values) {
            addCriterion("deliver_date not in", values, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("deliver_date between", value1, value2, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andDeliverDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("deliver_date not between", value1, value2, "deliverDate");
            return (Criteria) this;
        }

        public Criteria andSaleUserIsNull() {
            addCriterion("sale_user is null");
            return (Criteria) this;
        }

        public Criteria andSaleUserIsNotNull() {
            addCriterion("sale_user is not null");
            return (Criteria) this;
        }

        public Criteria andSaleUserEqualTo(String value) {
            addCriterion("sale_user =", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserNotEqualTo(String value) {
            addCriterion("sale_user <>", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserGreaterThan(String value) {
            addCriterion("sale_user >", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserGreaterThanOrEqualTo(String value) {
            addCriterion("sale_user >=", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserLessThan(String value) {
            addCriterion("sale_user <", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserLessThanOrEqualTo(String value) {
            addCriterion("sale_user <=", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserLike(String value) {
            addCriterion("sale_user like", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserNotLike(String value) {
            addCriterion("sale_user not like", value, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserIn(List<String> values) {
            addCriterion("sale_user in", values, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserNotIn(List<String> values) {
            addCriterion("sale_user not in", values, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserBetween(String value1, String value2) {
            addCriterion("sale_user between", value1, value2, "saleUser");
            return (Criteria) this;
        }

        public Criteria andSaleUserNotBetween(String value1, String value2) {
            addCriterion("sale_user not between", value1, value2, "saleUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIsNull() {
            addCriterion("purchase_user is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIsNotNull() {
            addCriterion("purchase_user is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserEqualTo(String value) {
            addCriterion("purchase_user =", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserNotEqualTo(String value) {
            addCriterion("purchase_user <>", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserGreaterThan(String value) {
            addCriterion("purchase_user >", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_user >=", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserLessThan(String value) {
            addCriterion("purchase_user <", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserLessThanOrEqualTo(String value) {
            addCriterion("purchase_user <=", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserLike(String value) {
            addCriterion("purchase_user like", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserNotLike(String value) {
            addCriterion("purchase_user not like", value, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIn(List<String> values) {
            addCriterion("purchase_user in", values, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserNotIn(List<String> values) {
            addCriterion("purchase_user not in", values, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserBetween(String value1, String value2) {
            addCriterion("purchase_user between", value1, value2, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserNotBetween(String value1, String value2) {
            addCriterion("purchase_user not between", value1, value2, "purchaseUser");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

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

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

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

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(Integer value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(Integer value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(Integer value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(Integer value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(Integer value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<Integer> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<Integer> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(Integer value1, Integer value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

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

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

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

        public Criteria andStateLessThan(Integer value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andDeliveryStateIsNull() {
            addCriterion("delivery_state is null");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateIsNotNull() {
            addCriterion("delivery_state is not null");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateEqualTo(Integer value) {
            addCriterion("delivery_state =", value, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateNotEqualTo(Integer value) {
            addCriterion("delivery_state <>", value, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateGreaterThan(Integer value) {
            addCriterion("delivery_state >", value, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("delivery_state >=", value, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateLessThan(Integer value) {
            addCriterion("delivery_state <", value, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateLessThanOrEqualTo(Integer value) {
            addCriterion("delivery_state <=", value, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateIn(List<Integer> values) {
            addCriterion("delivery_state in", values, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateNotIn(List<Integer> values) {
            addCriterion("delivery_state not in", values, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateBetween(Integer value1, Integer value2) {
            addCriterion("delivery_state between", value1, value2, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andDeliveryStateNotBetween(Integer value1, Integer value2) {
            addCriterion("delivery_state not between", value1, value2, "deliveryState");
            return (Criteria) this;
        }

        public Criteria andTotalIsNull() {
            addCriterion("total is null");
            return (Criteria) this;
        }

        public Criteria andTotalIsNotNull() {
            addCriterion("total is not null");
            return (Criteria) this;
        }

        public Criteria andTotalEqualTo(Integer value) {
            addCriterion("total =", value, "total");
            return (Criteria) this;
        }

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

        public Criteria andTotalGreaterThan(Integer value) {
            addCriterion("total >", value, "total");
            return (Criteria) this;
        }

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

        public Criteria andTotalLessThan(Integer value) {
            addCriterion("total <", value, "total");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInitDeliverDateIsNull() {
            addCriterion("init_deliver_date is null");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateIsNotNull() {
            addCriterion("init_deliver_date is not null");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateEqualTo(LocalDateTime value) {
            addCriterion("init_deliver_date =", value, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateNotEqualTo(LocalDateTime value) {
            addCriterion("init_deliver_date <>", value, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateGreaterThan(LocalDateTime value) {
            addCriterion("init_deliver_date >", value, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("init_deliver_date >=", value, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateLessThan(LocalDateTime value) {
            addCriterion("init_deliver_date <", value, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("init_deliver_date <=", value, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateIn(List<LocalDateTime> values) {
            addCriterion("init_deliver_date in", values, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateNotIn(List<LocalDateTime> values) {
            addCriterion("init_deliver_date not in", values, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("init_deliver_date between", value1, value2, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andInitDeliverDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("init_deliver_date not between", value1, value2, "initDeliverDate");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNull() {
            addCriterion("order_type is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNotNull() {
            addCriterion("order_type is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeEqualTo(Integer value) {
            addCriterion("order_type =", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotEqualTo(Integer value) {
            addCriterion("order_type <>", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThan(Integer value) {
            addCriterion("order_type >", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_type >=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThan(Integer value) {
            addCriterion("order_type <", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThanOrEqualTo(Integer value) {
            addCriterion("order_type <=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIn(List<Integer> values) {
            addCriterion("order_type in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotIn(List<Integer> values) {
            addCriterion("order_type not in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeBetween(Integer value1, Integer value2) {
            addCriterion("order_type between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("order_type not between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksIsNull() {
            addCriterion("delivery_remarks is null");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksIsNotNull() {
            addCriterion("delivery_remarks is not null");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksEqualTo(String value) {
            addCriterion("delivery_remarks =", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksNotEqualTo(String value) {
            addCriterion("delivery_remarks <>", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksGreaterThan(String value) {
            addCriterion("delivery_remarks >", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("delivery_remarks >=", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksLessThan(String value) {
            addCriterion("delivery_remarks <", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksLessThanOrEqualTo(String value) {
            addCriterion("delivery_remarks <=", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksLike(String value) {
            addCriterion("delivery_remarks like", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksNotLike(String value) {
            addCriterion("delivery_remarks not like", value, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksIn(List<String> values) {
            addCriterion("delivery_remarks in", values, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksNotIn(List<String> values) {
            addCriterion("delivery_remarks not in", values, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksBetween(String value1, String value2) {
            addCriterion("delivery_remarks between", value1, value2, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andDeliveryRemarksNotBetween(String value1, String value2) {
            addCriterion("delivery_remarks not between", value1, value2, "deliveryRemarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksIsNull() {
            addCriterion("packRemarks is null");
            return (Criteria) this;
        }

        public Criteria andPackremarksIsNotNull() {
            addCriterion("packRemarks is not null");
            return (Criteria) this;
        }

        public Criteria andPackremarksEqualTo(String value) {
            addCriterion("packRemarks =", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksNotEqualTo(String value) {
            addCriterion("packRemarks <>", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksGreaterThan(String value) {
            addCriterion("packRemarks >", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksGreaterThanOrEqualTo(String value) {
            addCriterion("packRemarks >=", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksLessThan(String value) {
            addCriterion("packRemarks <", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksLessThanOrEqualTo(String value) {
            addCriterion("packRemarks <=", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksLike(String value) {
            addCriterion("packRemarks like", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksNotLike(String value) {
            addCriterion("packRemarks not like", value, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksIn(List<String> values) {
            addCriterion("packRemarks in", values, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksNotIn(List<String> values) {
            addCriterion("packRemarks not in", values, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksBetween(String value1, String value2) {
            addCriterion("packRemarks between", value1, value2, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPackremarksNotBetween(String value1, String value2) {
            addCriterion("packRemarks not between", value1, value2, "packremarks");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(Integer value) {
            addCriterion("pay_type =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(Integer value) {
            addCriterion("pay_type <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(Integer value) {
            addCriterion("pay_type >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pay_type >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(Integer value) {
            addCriterion("pay_type <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pay_type <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<Integer> values) {
            addCriterion("pay_type in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<Integer> values) {
            addCriterion("pay_type not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(Integer value1, Integer value2) {
            addCriterion("pay_type between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pay_type not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityIsNull() {
            addCriterion("original_quantity is null");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityIsNotNull() {
            addCriterion("original_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityEqualTo(Integer value) {
            addCriterion("original_quantity =", value, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityNotEqualTo(Integer value) {
            addCriterion("original_quantity <>", value, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityGreaterThan(Integer value) {
            addCriterion("original_quantity >", value, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityGreaterThanOrEqualTo(Integer value) {
            addCriterion("original_quantity >=", value, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityLessThan(Integer value) {
            addCriterion("original_quantity <", value, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityLessThanOrEqualTo(Integer value) {
            addCriterion("original_quantity <=", value, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityIn(List<Integer> values) {
            addCriterion("original_quantity in", values, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityNotIn(List<Integer> values) {
            addCriterion("original_quantity not in", values, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityBetween(Integer value1, Integer value2) {
            addCriterion("original_quantity between", value1, value2, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andOriginalQuantityNotBetween(Integer value1, Integer value2) {
            addCriterion("original_quantity not between", value1, value2, "originalQuantity");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordIsNull() {
            addCriterion("toal_cost_record is null");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordIsNotNull() {
            addCriterion("toal_cost_record is not null");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordEqualTo(BigDecimal value) {
            addCriterion("toal_cost_record =", value, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordNotEqualTo(BigDecimal value) {
            addCriterion("toal_cost_record <>", value, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordGreaterThan(BigDecimal value) {
            addCriterion("toal_cost_record >", value, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("toal_cost_record >=", value, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordLessThan(BigDecimal value) {
            addCriterion("toal_cost_record <", value, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordLessThanOrEqualTo(BigDecimal value) {
            addCriterion("toal_cost_record <=", value, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordIn(List<BigDecimal> values) {
            addCriterion("toal_cost_record in", values, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordNotIn(List<BigDecimal> values) {
            addCriterion("toal_cost_record not in", values, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("toal_cost_record between", value1, value2, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalCostRecordNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("toal_cost_record not between", value1, value2, "toalCostRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordIsNull() {
            addCriterion("toal_price_record is null");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordIsNotNull() {
            addCriterion("toal_price_record is not null");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordEqualTo(BigDecimal value) {
            addCriterion("toal_price_record =", value, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordNotEqualTo(BigDecimal value) {
            addCriterion("toal_price_record <>", value, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordGreaterThan(BigDecimal value) {
            addCriterion("toal_price_record >", value, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("toal_price_record >=", value, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordLessThan(BigDecimal value) {
            addCriterion("toal_price_record <", value, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordLessThanOrEqualTo(BigDecimal value) {
            addCriterion("toal_price_record <=", value, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordIn(List<BigDecimal> values) {
            addCriterion("toal_price_record in", values, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordNotIn(List<BigDecimal> values) {
            addCriterion("toal_price_record not in", values, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("toal_price_record between", value1, value2, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andToalPriceRecordNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("toal_price_record not between", value1, value2, "toalPriceRecord");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdIsNull() {
            addCriterion("warehouse_id is null");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdIsNotNull() {
            addCriterion("warehouse_id is not null");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdEqualTo(Integer value) {
            addCriterion("warehouse_id =", value, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdNotEqualTo(Integer value) {
            addCriterion("warehouse_id <>", value, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdGreaterThan(Integer value) {
            addCriterion("warehouse_id >", value, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("warehouse_id >=", value, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdLessThan(Integer value) {
            addCriterion("warehouse_id <", value, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdLessThanOrEqualTo(Integer value) {
            addCriterion("warehouse_id <=", value, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdIn(List<Integer> values) {
            addCriterion("warehouse_id in", values, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdNotIn(List<Integer> values) {
            addCriterion("warehouse_id not in", values, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdBetween(Integer value1, Integer value2) {
            addCriterion("warehouse_id between", value1, value2, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andWarehouseIdNotBetween(Integer value1, Integer value2) {
            addCriterion("warehouse_id not between", value1, value2, "warehouseId");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateIsNull() {
            addCriterion("last_update_date is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateIsNotNull() {
            addCriterion("last_update_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateEqualTo(LocalDateTime value) {
            addCriterion("last_update_date =", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateNotEqualTo(LocalDateTime value) {
            addCriterion("last_update_date <>", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateGreaterThan(LocalDateTime value) {
            addCriterion("last_update_date >", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("last_update_date >=", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateLessThan(LocalDateTime value) {
            addCriterion("last_update_date <", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("last_update_date <=", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateIn(List<LocalDateTime> values) {
            addCriterion("last_update_date in", values, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateNotIn(List<LocalDateTime> values) {
            addCriterion("last_update_date not in", values, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("last_update_date between", value1, value2, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("last_update_date not between", value1, value2, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityIsNull() {
            addCriterion("sku_quantity is null");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityIsNotNull() {
            addCriterion("sku_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityEqualTo(BigDecimal value) {
            addCriterion("sku_quantity =", value, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityNotEqualTo(BigDecimal value) {
            addCriterion("sku_quantity <>", value, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityGreaterThan(BigDecimal value) {
            addCriterion("sku_quantity >", value, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_quantity >=", value, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityLessThan(BigDecimal value) {
            addCriterion("sku_quantity <", value, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_quantity <=", value, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityIn(List<BigDecimal> values) {
            addCriterion("sku_quantity in", values, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityNotIn(List<BigDecimal> values) {
            addCriterion("sku_quantity not in", values, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_quantity between", value1, value2, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuQuantityNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_quantity not between", value1, value2, "skuQuantity");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostIsNull() {
            addCriterion("sku_unit_cost is null");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostIsNotNull() {
            addCriterion("sku_unit_cost is not null");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostEqualTo(BigDecimal value) {
            addCriterion("sku_unit_cost =", value, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostNotEqualTo(BigDecimal value) {
            addCriterion("sku_unit_cost <>", value, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostGreaterThan(BigDecimal value) {
            addCriterion("sku_unit_cost >", value, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_unit_cost >=", value, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostLessThan(BigDecimal value) {
            addCriterion("sku_unit_cost <", value, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_unit_cost <=", value, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostIn(List<BigDecimal> values) {
            addCriterion("sku_unit_cost in", values, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostNotIn(List<BigDecimal> values) {
            addCriterion("sku_unit_cost not in", values, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_unit_cost between", value1, value2, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitCostNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_unit_cost not between", value1, value2, "skuUnitCost");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceIsNull() {
            addCriterion("sku_unit_price is null");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceIsNotNull() {
            addCriterion("sku_unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceEqualTo(BigDecimal value) {
            addCriterion("sku_unit_price =", value, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("sku_unit_price <>", value, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("sku_unit_price >", value, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_unit_price >=", value, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceLessThan(BigDecimal value) {
            addCriterion("sku_unit_price <", value, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_unit_price <=", value, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceIn(List<BigDecimal> values) {
            addCriterion("sku_unit_price in", values, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("sku_unit_price not in", values, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_unit_price between", value1, value2, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_unit_price not between", value1, value2, "skuUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSkuIsNull() {
            addCriterion("sku is null");
            return (Criteria) this;
        }

        public Criteria andSkuIsNotNull() {
            addCriterion("sku is not null");
            return (Criteria) this;
        }

        public Criteria andSkuEqualTo(String value) {
            addCriterion("sku =", value, "sku");
            return (Criteria) this;
        }

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

        public Criteria andSkuGreaterThan(String value) {
            addCriterion("sku >", value, "sku");
            return (Criteria) this;
        }

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

        public Criteria andSkuLessThan(String value) {
            addCriterion("sku <", value, "sku");
            return (Criteria) this;
        }

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

        public Criteria andSkuLike(String value) {
            addCriterion("sku like", value, "sku");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andWarehouseNameIsNull() {
            addCriterion("warehouse_name is null");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameIsNotNull() {
            addCriterion("warehouse_name is not null");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameEqualTo(String value) {
            addCriterion("warehouse_name =", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotEqualTo(String value) {
            addCriterion("warehouse_name <>", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameGreaterThan(String value) {
            addCriterion("warehouse_name >", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameGreaterThanOrEqualTo(String value) {
            addCriterion("warehouse_name >=", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameLessThan(String value) {
            addCriterion("warehouse_name <", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameLessThanOrEqualTo(String value) {
            addCriterion("warehouse_name <=", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameLike(String value) {
            addCriterion("warehouse_name like", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotLike(String value) {
            addCriterion("warehouse_name not like", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameIn(List<String> values) {
            addCriterion("warehouse_name in", values, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotIn(List<String> values) {
            addCriterion("warehouse_name not in", values, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameBetween(String value1, String value2) {
            addCriterion("warehouse_name between", value1, value2, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotBetween(String value1, String value2) {
            addCriterion("warehouse_name not between", value1, value2, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdIsNull() {
            addCriterion("semi_order_id is null");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdIsNotNull() {
            addCriterion("semi_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdEqualTo(Integer value) {
            addCriterion("semi_order_id =", value, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdNotEqualTo(Integer value) {
            addCriterion("semi_order_id <>", value, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdGreaterThan(Integer value) {
            addCriterion("semi_order_id >", value, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("semi_order_id >=", value, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdLessThan(Integer value) {
            addCriterion("semi_order_id <", value, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdLessThanOrEqualTo(Integer value) {
            addCriterion("semi_order_id <=", value, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdIn(List<Integer> values) {
            addCriterion("semi_order_id in", values, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdNotIn(List<Integer> values) {
            addCriterion("semi_order_id not in", values, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdBetween(Integer value1, Integer value2) {
            addCriterion("semi_order_id between", value1, value2, "semiOrderId");
            return (Criteria) this;
        }

        public Criteria andSemiOrderIdNotBetween(Integer value1, Integer value2) {
            addCriterion("semi_order_id not between", value1, value2, "semiOrderId");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table dc_semi_order
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {
        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private DcSemiOrderExample example;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        protected Criteria(DcSemiOrderExample example) {
            super();
            this.example = example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public DcSemiOrderExample example() {
            return this.example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        /**
         * This interface was generated by MyBatis Generator.
         * This interface corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        @Deprecated
        public interface ICriteriaAdd {
            /**
             * This method was generated by MyBatis Generator.
             * This method corresponds to the database table dc_semi_order
             *
             * @mbg.generated
             * @project https://github.com/itfsw/mybatis-generator-plugin
             */
            Criteria add(Criteria add);
        }
    }

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

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

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

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

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

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

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

    /**
     * This interface was generated by MyBatis Generator.
     * This interface corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public interface ICriteriaWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        void criteria(Criteria criteria);
    }

    /**
     * This interface was generated by MyBatis Generator.
     * This interface corresponds to the database table dc_semi_order
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public interface IExampleWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_semi_order
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        void example(DcSemiOrderExample example);
    }
}