package com.tax.file.model;

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

public class FinInvoiceExample {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    protected String orderByClause;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    protected boolean distinct;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    protected List<Criteria> oredCriteria;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public FinInvoiceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    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 fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    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 fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andIdEqualTo(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 andInvkindIsNull() {
            addCriterion("invkind is null");
            return (Criteria) this;
        }

        public Criteria andInvkindIsNotNull() {
            addCriterion("invkind is not null");
            return (Criteria) this;
        }

        public Criteria andInvkindEqualTo(String value) {
            addCriterion("invkind =", value, "invkind");
            return (Criteria) this;
        }

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

        public Criteria andInvkindGreaterThan(String value) {
            addCriterion("invkind >", value, "invkind");
            return (Criteria) this;
        }

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

        public Criteria andInvkindLessThan(String value) {
            addCriterion("invkind <", value, "invkind");
            return (Criteria) this;
        }

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

        public Criteria andInvkindLike(String value) {
            addCriterion("invkind like", value, "invkind");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInvnumIsNull() {
            addCriterion("invnum is null");
            return (Criteria) this;
        }

        public Criteria andInvnumIsNotNull() {
            addCriterion("invnum is not null");
            return (Criteria) this;
        }

        public Criteria andInvnumEqualTo(String value) {
            addCriterion("invnum =", value, "invnum");
            return (Criteria) this;
        }

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

        public Criteria andInvnumGreaterThan(String value) {
            addCriterion("invnum >", value, "invnum");
            return (Criteria) this;
        }

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

        public Criteria andInvnumLessThan(String value) {
            addCriterion("invnum <", value, "invnum");
            return (Criteria) this;
        }

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

        public Criteria andInvnumLike(String value) {
            addCriterion("invnum like", value, "invnum");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInvdateIsNull() {
            addCriterion("invdate is null");
            return (Criteria) this;
        }

        public Criteria andInvdateIsNotNull() {
            addCriterion("invdate is not null");
            return (Criteria) this;
        }

        public Criteria andInvdateEqualTo(Date value) {
            addCriterionForJDBCDate("invdate =", value, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateNotEqualTo(Date value) {
            addCriterionForJDBCDate("invdate <>", value, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateGreaterThan(Date value) {
            addCriterionForJDBCDate("invdate >", value, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("invdate >=", value, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateLessThan(Date value) {
            addCriterionForJDBCDate("invdate <", value, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("invdate <=", value, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateIn(List<Date> values) {
            addCriterionForJDBCDate("invdate in", values, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateNotIn(List<Date> values) {
            addCriterionForJDBCDate("invdate not in", values, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("invdate between", value1, value2, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvdateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("invdate not between", value1, value2, "invdate");
            return (Criteria) this;
        }

        public Criteria andInvStatusIsNull() {
            addCriterion("inv_status is null");
            return (Criteria) this;
        }

        public Criteria andInvStatusIsNotNull() {
            addCriterion("inv_status is not null");
            return (Criteria) this;
        }

        public Criteria andInvStatusEqualTo(String value) {
            addCriterion("inv_status =", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotEqualTo(String value) {
            addCriterion("inv_status <>", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusGreaterThan(String value) {
            addCriterion("inv_status >", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusGreaterThanOrEqualTo(String value) {
            addCriterion("inv_status >=", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusLessThan(String value) {
            addCriterion("inv_status <", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusLessThanOrEqualTo(String value) {
            addCriterion("inv_status <=", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusLike(String value) {
            addCriterion("inv_status like", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotLike(String value) {
            addCriterion("inv_status not like", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusIn(List<String> values) {
            addCriterion("inv_status in", values, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotIn(List<String> values) {
            addCriterion("inv_status not in", values, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusBetween(String value1, String value2) {
            addCriterion("inv_status between", value1, value2, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotBetween(String value1, String value2) {
            addCriterion("inv_status not between", value1, value2, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvtypeIsNull() {
            addCriterion("invtype is null");
            return (Criteria) this;
        }

        public Criteria andInvtypeIsNotNull() {
            addCriterion("invtype is not null");
            return (Criteria) this;
        }

        public Criteria andInvtypeEqualTo(String value) {
            addCriterion("invtype =", value, "invtype");
            return (Criteria) this;
        }

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

        public Criteria andInvtypeGreaterThan(String value) {
            addCriterion("invtype >", value, "invtype");
            return (Criteria) this;
        }

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

        public Criteria andInvtypeLessThan(String value) {
            addCriterion("invtype <", value, "invtype");
            return (Criteria) this;
        }

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

        public Criteria andInvtypeLike(String value) {
            addCriterion("invtype like", value, "invtype");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSelltaxnoIsNull() {
            addCriterion("selltaxno is null");
            return (Criteria) this;
        }

        public Criteria andSelltaxnoIsNotNull() {
            addCriterion("selltaxno is not null");
            return (Criteria) this;
        }

        public Criteria andSelltaxnoEqualTo(String value) {
            addCriterion("selltaxno =", value, "selltaxno");
            return (Criteria) this;
        }

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

        public Criteria andSelltaxnoGreaterThan(String value) {
            addCriterion("selltaxno >", value, "selltaxno");
            return (Criteria) this;
        }

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

        public Criteria andSelltaxnoLessThan(String value) {
            addCriterion("selltaxno <", value, "selltaxno");
            return (Criteria) this;
        }

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

        public Criteria andSelltaxnoLike(String value) {
            addCriterion("selltaxno like", value, "selltaxno");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSellnameIsNull() {
            addCriterion("sellname is null");
            return (Criteria) this;
        }

        public Criteria andSellnameIsNotNull() {
            addCriterion("sellname is not null");
            return (Criteria) this;
        }

        public Criteria andSellnameEqualTo(String value) {
            addCriterion("sellname =", value, "sellname");
            return (Criteria) this;
        }

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

        public Criteria andSellnameGreaterThan(String value) {
            addCriterion("sellname >", value, "sellname");
            return (Criteria) this;
        }

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

        public Criteria andSellnameLessThan(String value) {
            addCriterion("sellname <", value, "sellname");
            return (Criteria) this;
        }

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

        public Criteria andSellnameLike(String value) {
            addCriterion("sellname like", value, "sellname");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andBuytaxnoIsNull() {
            addCriterion("buytaxno is null");
            return (Criteria) this;
        }

        public Criteria andBuytaxnoIsNotNull() {
            addCriterion("buytaxno is not null");
            return (Criteria) this;
        }

        public Criteria andBuytaxnoEqualTo(String value) {
            addCriterion("buytaxno =", value, "buytaxno");
            return (Criteria) this;
        }

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

        public Criteria andBuytaxnoGreaterThan(String value) {
            addCriterion("buytaxno >", value, "buytaxno");
            return (Criteria) this;
        }

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

        public Criteria andBuytaxnoLessThan(String value) {
            addCriterion("buytaxno <", value, "buytaxno");
            return (Criteria) this;
        }

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

        public Criteria andBuytaxnoLike(String value) {
            addCriterion("buytaxno like", value, "buytaxno");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andBuynameIsNull() {
            addCriterion("buyname is null");
            return (Criteria) this;
        }

        public Criteria andBuynameIsNotNull() {
            addCriterion("buyname is not null");
            return (Criteria) this;
        }

        public Criteria andBuynameEqualTo(String value) {
            addCriterion("buyname =", value, "buyname");
            return (Criteria) this;
        }

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

        public Criteria andBuynameGreaterThan(String value) {
            addCriterion("buyname >", value, "buyname");
            return (Criteria) this;
        }

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

        public Criteria andBuynameLessThan(String value) {
            addCriterion("buyname <", value, "buyname");
            return (Criteria) this;
        }

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

        public Criteria andBuynameLike(String value) {
            addCriterion("buyname like", value, "buyname");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInvcostIsNull() {
            addCriterion("invcost is null");
            return (Criteria) this;
        }

        public Criteria andInvcostIsNotNull() {
            addCriterion("invcost is not null");
            return (Criteria) this;
        }

        public Criteria andInvcostEqualTo(Double value) {
            addCriterion("invcost =", value, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostNotEqualTo(Double value) {
            addCriterion("invcost <>", value, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostGreaterThan(Double value) {
            addCriterion("invcost >", value, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostGreaterThanOrEqualTo(Double value) {
            addCriterion("invcost >=", value, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostLessThan(Double value) {
            addCriterion("invcost <", value, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostLessThanOrEqualTo(Double value) {
            addCriterion("invcost <=", value, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostIn(List<Double> values) {
            addCriterion("invcost in", values, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostNotIn(List<Double> values) {
            addCriterion("invcost not in", values, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostBetween(Double value1, Double value2) {
            addCriterion("invcost between", value1, value2, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvcostNotBetween(Double value1, Double value2) {
            addCriterion("invcost not between", value1, value2, "invcost");
            return (Criteria) this;
        }

        public Criteria andInvvatIsNull() {
            addCriterion("invvat is null");
            return (Criteria) this;
        }

        public Criteria andInvvatIsNotNull() {
            addCriterion("invvat is not null");
            return (Criteria) this;
        }

        public Criteria andInvvatEqualTo(Double value) {
            addCriterion("invvat =", value, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatNotEqualTo(Double value) {
            addCriterion("invvat <>", value, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatGreaterThan(Double value) {
            addCriterion("invvat >", value, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatGreaterThanOrEqualTo(Double value) {
            addCriterion("invvat >=", value, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatLessThan(Double value) {
            addCriterion("invvat <", value, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatLessThanOrEqualTo(Double value) {
            addCriterion("invvat <=", value, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatIn(List<Double> values) {
            addCriterion("invvat in", values, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatNotIn(List<Double> values) {
            addCriterion("invvat not in", values, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatBetween(Double value1, Double value2) {
            addCriterion("invvat between", value1, value2, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvvatNotBetween(Double value1, Double value2) {
            addCriterion("invvat not between", value1, value2, "invvat");
            return (Criteria) this;
        }

        public Criteria andInvsumIsNull() {
            addCriterion("invsum is null");
            return (Criteria) this;
        }

        public Criteria andInvsumIsNotNull() {
            addCriterion("invsum is not null");
            return (Criteria) this;
        }

        public Criteria andInvsumEqualTo(Double value) {
            addCriterion("invsum =", value, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumNotEqualTo(Double value) {
            addCriterion("invsum <>", value, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumGreaterThan(Double value) {
            addCriterion("invsum >", value, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumGreaterThanOrEqualTo(Double value) {
            addCriterion("invsum >=", value, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumLessThan(Double value) {
            addCriterion("invsum <", value, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumLessThanOrEqualTo(Double value) {
            addCriterion("invsum <=", value, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumIn(List<Double> values) {
            addCriterion("invsum in", values, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumNotIn(List<Double> values) {
            addCriterion("invsum not in", values, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumBetween(Double value1, Double value2) {
            addCriterion("invsum between", value1, value2, "invsum");
            return (Criteria) this;
        }

        public Criteria andInvsumNotBetween(Double value1, Double value2) {
            addCriterion("invsum not between", value1, value2, "invsum");
            return (Criteria) this;
        }

        public Criteria andJymIsNull() {
            addCriterion("jym is null");
            return (Criteria) this;
        }

        public Criteria andJymIsNotNull() {
            addCriterion("jym is not null");
            return (Criteria) this;
        }

        public Criteria andJymEqualTo(String value) {
            addCriterion("jym =", value, "jym");
            return (Criteria) this;
        }

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

        public Criteria andJymGreaterThan(String value) {
            addCriterion("jym >", value, "jym");
            return (Criteria) this;
        }

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

        public Criteria andJymLessThan(String value) {
            addCriterion("jym <", value, "jym");
            return (Criteria) this;
        }

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

        public Criteria andJymLike(String value) {
            addCriterion("jym like", value, "jym");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSelladdressIsNull() {
            addCriterion("selladdress is null");
            return (Criteria) this;
        }

        public Criteria andSelladdressIsNotNull() {
            addCriterion("selladdress is not null");
            return (Criteria) this;
        }

        public Criteria andSelladdressEqualTo(String value) {
            addCriterion("selladdress =", value, "selladdress");
            return (Criteria) this;
        }

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

        public Criteria andSelladdressGreaterThan(String value) {
            addCriterion("selladdress >", value, "selladdress");
            return (Criteria) this;
        }

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

        public Criteria andSelladdressLessThan(String value) {
            addCriterion("selladdress <", value, "selladdress");
            return (Criteria) this;
        }

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

        public Criteria andSelladdressLike(String value) {
            addCriterion("selladdress like", value, "selladdress");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSellaccountIsNull() {
            addCriterion("sellaccount is null");
            return (Criteria) this;
        }

        public Criteria andSellaccountIsNotNull() {
            addCriterion("sellaccount is not null");
            return (Criteria) this;
        }

        public Criteria andSellaccountEqualTo(String value) {
            addCriterion("sellaccount =", value, "sellaccount");
            return (Criteria) this;
        }

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

        public Criteria andSellaccountGreaterThan(String value) {
            addCriterion("sellaccount >", value, "sellaccount");
            return (Criteria) this;
        }

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

        public Criteria andSellaccountLessThan(String value) {
            addCriterion("sellaccount <", value, "sellaccount");
            return (Criteria) this;
        }

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

        public Criteria andSellaccountLike(String value) {
            addCriterion("sellaccount like", value, "sellaccount");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andBuyaddressIsNull() {
            addCriterion("buyaddress is null");
            return (Criteria) this;
        }

        public Criteria andBuyaddressIsNotNull() {
            addCriterion("buyaddress is not null");
            return (Criteria) this;
        }

        public Criteria andBuyaddressEqualTo(String value) {
            addCriterion("buyaddress =", value, "buyaddress");
            return (Criteria) this;
        }

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

        public Criteria andBuyaddressGreaterThan(String value) {
            addCriterion("buyaddress >", value, "buyaddress");
            return (Criteria) this;
        }

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

        public Criteria andBuyaddressLessThan(String value) {
            addCriterion("buyaddress <", value, "buyaddress");
            return (Criteria) this;
        }

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

        public Criteria andBuyaddressLike(String value) {
            addCriterion("buyaddress like", value, "buyaddress");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInvpwdIsNull() {
            addCriterion("invpwd is null");
            return (Criteria) this;
        }

        public Criteria andInvpwdIsNotNull() {
            addCriterion("invpwd is not null");
            return (Criteria) this;
        }

        public Criteria andInvpwdEqualTo(String value) {
            addCriterion("invpwd =", value, "invpwd");
            return (Criteria) this;
        }

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

        public Criteria andInvpwdGreaterThan(String value) {
            addCriterion("invpwd >", value, "invpwd");
            return (Criteria) this;
        }

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

        public Criteria andInvpwdLessThan(String value) {
            addCriterion("invpwd <", value, "invpwd");
            return (Criteria) this;
        }

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

        public Criteria andInvpwdLike(String value) {
            addCriterion("invpwd like", value, "invpwd");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInvremarkIsNull() {
            addCriterion("invremark is null");
            return (Criteria) this;
        }

        public Criteria andInvremarkIsNotNull() {
            addCriterion("invremark is not null");
            return (Criteria) this;
        }

        public Criteria andInvremarkEqualTo(String value) {
            addCriterion("invremark =", value, "invremark");
            return (Criteria) this;
        }

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

        public Criteria andInvremarkGreaterThan(String value) {
            addCriterion("invremark >", value, "invremark");
            return (Criteria) this;
        }

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

        public Criteria andInvremarkLessThan(String value) {
            addCriterion("invremark <", value, "invremark");
            return (Criteria) this;
        }

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

        public Criteria andInvremarkLike(String value) {
            addCriterion("invremark like", value, "invremark");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andBuyaccountIsNull() {
            addCriterion("buyaccount is null");
            return (Criteria) this;
        }

        public Criteria andBuyaccountIsNotNull() {
            addCriterion("buyaccount is not null");
            return (Criteria) this;
        }

        public Criteria andBuyaccountEqualTo(String value) {
            addCriterion("buyaccount =", value, "buyaccount");
            return (Criteria) this;
        }

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

        public Criteria andBuyaccountGreaterThan(String value) {
            addCriterion("buyaccount >", value, "buyaccount");
            return (Criteria) this;
        }

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

        public Criteria andBuyaccountLessThan(String value) {
            addCriterion("buyaccount <", value, "buyaccount");
            return (Criteria) this;
        }

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

        public Criteria andBuyaccountLike(String value) {
            addCriterion("buyaccount like", value, "buyaccount");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andReviewerNameIsNull() {
            addCriterion("reviewer_name is null");
            return (Criteria) this;
        }

        public Criteria andReviewerNameIsNotNull() {
            addCriterion("reviewer_name is not null");
            return (Criteria) this;
        }

        public Criteria andReviewerNameEqualTo(String value) {
            addCriterion("reviewer_name =", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameNotEqualTo(String value) {
            addCriterion("reviewer_name <>", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameGreaterThan(String value) {
            addCriterion("reviewer_name >", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameGreaterThanOrEqualTo(String value) {
            addCriterion("reviewer_name >=", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameLessThan(String value) {
            addCriterion("reviewer_name <", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameLessThanOrEqualTo(String value) {
            addCriterion("reviewer_name <=", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameLike(String value) {
            addCriterion("reviewer_name like", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameNotLike(String value) {
            addCriterion("reviewer_name not like", value, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameIn(List<String> values) {
            addCriterion("reviewer_name in", values, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameNotIn(List<String> values) {
            addCriterion("reviewer_name not in", values, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameBetween(String value1, String value2) {
            addCriterion("reviewer_name between", value1, value2, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andReviewerNameNotBetween(String value1, String value2) {
            addCriterion("reviewer_name not between", value1, value2, "reviewerName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameIsNull() {
            addCriterion("payee_name is null");
            return (Criteria) this;
        }

        public Criteria andPayeeNameIsNotNull() {
            addCriterion("payee_name is not null");
            return (Criteria) this;
        }

        public Criteria andPayeeNameEqualTo(String value) {
            addCriterion("payee_name =", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameNotEqualTo(String value) {
            addCriterion("payee_name <>", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameGreaterThan(String value) {
            addCriterion("payee_name >", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameGreaterThanOrEqualTo(String value) {
            addCriterion("payee_name >=", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameLessThan(String value) {
            addCriterion("payee_name <", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameLessThanOrEqualTo(String value) {
            addCriterion("payee_name <=", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameLike(String value) {
            addCriterion("payee_name like", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameNotLike(String value) {
            addCriterion("payee_name not like", value, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameIn(List<String> values) {
            addCriterion("payee_name in", values, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameNotIn(List<String> values) {
            addCriterion("payee_name not in", values, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameBetween(String value1, String value2) {
            addCriterion("payee_name between", value1, value2, "payeeName");
            return (Criteria) this;
        }

        public Criteria andPayeeNameNotBetween(String value1, String value2) {
            addCriterion("payee_name not between", value1, value2, "payeeName");
            return (Criteria) this;
        }

        public Criteria andBillingNameIsNull() {
            addCriterion("billing_name is null");
            return (Criteria) this;
        }

        public Criteria andBillingNameIsNotNull() {
            addCriterion("billing_name is not null");
            return (Criteria) this;
        }

        public Criteria andBillingNameEqualTo(String value) {
            addCriterion("billing_name =", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameNotEqualTo(String value) {
            addCriterion("billing_name <>", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameGreaterThan(String value) {
            addCriterion("billing_name >", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameGreaterThanOrEqualTo(String value) {
            addCriterion("billing_name >=", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameLessThan(String value) {
            addCriterion("billing_name <", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameLessThanOrEqualTo(String value) {
            addCriterion("billing_name <=", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameLike(String value) {
            addCriterion("billing_name like", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameNotLike(String value) {
            addCriterion("billing_name not like", value, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameIn(List<String> values) {
            addCriterion("billing_name in", values, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameNotIn(List<String> values) {
            addCriterion("billing_name not in", values, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameBetween(String value1, String value2) {
            addCriterion("billing_name between", value1, value2, "billingName");
            return (Criteria) this;
        }

        public Criteria andBillingNameNotBetween(String value1, String value2) {
            addCriterion("billing_name not between", value1, value2, "billingName");
            return (Criteria) this;
        }

        public Criteria andJqbhIsNull() {
            addCriterion("jqbh is null");
            return (Criteria) this;
        }

        public Criteria andJqbhIsNotNull() {
            addCriterion("jqbh is not null");
            return (Criteria) this;
        }

        public Criteria andJqbhEqualTo(String value) {
            addCriterion("jqbh =", value, "jqbh");
            return (Criteria) this;
        }

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

        public Criteria andJqbhGreaterThan(String value) {
            addCriterion("jqbh >", value, "jqbh");
            return (Criteria) this;
        }

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

        public Criteria andJqbhLessThan(String value) {
            addCriterion("jqbh <", value, "jqbh");
            return (Criteria) this;
        }

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

        public Criteria andJqbhLike(String value) {
            addCriterion("jqbh like", value, "jqbh");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andIncomeMonthIsNull() {
            addCriterion("income_month is null");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthIsNotNull() {
            addCriterion("income_month is not null");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthEqualTo(String value) {
            addCriterion("income_month =", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthNotEqualTo(String value) {
            addCriterion("income_month <>", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthGreaterThan(String value) {
            addCriterion("income_month >", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthGreaterThanOrEqualTo(String value) {
            addCriterion("income_month >=", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthLessThan(String value) {
            addCriterion("income_month <", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthLessThanOrEqualTo(String value) {
            addCriterion("income_month <=", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthLike(String value) {
            addCriterion("income_month like", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthNotLike(String value) {
            addCriterion("income_month not like", value, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthIn(List<String> values) {
            addCriterion("income_month in", values, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthNotIn(List<String> values) {
            addCriterion("income_month not in", values, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthBetween(String value1, String value2) {
            addCriterion("income_month between", value1, value2, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andIncomeMonthNotBetween(String value1, String value2) {
            addCriterion("income_month not between", value1, value2, "incomeMonth");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkIsNull() {
            addCriterion("receiving_clerk is null");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkIsNotNull() {
            addCriterion("receiving_clerk is not null");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkEqualTo(String value) {
            addCriterion("receiving_clerk =", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkNotEqualTo(String value) {
            addCriterion("receiving_clerk <>", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkGreaterThan(String value) {
            addCriterion("receiving_clerk >", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkGreaterThanOrEqualTo(String value) {
            addCriterion("receiving_clerk >=", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkLessThan(String value) {
            addCriterion("receiving_clerk <", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkLessThanOrEqualTo(String value) {
            addCriterion("receiving_clerk <=", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkLike(String value) {
            addCriterion("receiving_clerk like", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkNotLike(String value) {
            addCriterion("receiving_clerk not like", value, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkIn(List<String> values) {
            addCriterion("receiving_clerk in", values, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkNotIn(List<String> values) {
            addCriterion("receiving_clerk not in", values, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkBetween(String value1, String value2) {
            addCriterion("receiving_clerk between", value1, value2, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andReceivingClerkNotBetween(String value1, String value2) {
            addCriterion("receiving_clerk not between", value1, value2, "receivingClerk");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedIsNull() {
            addCriterion("machine_printed is null");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedIsNotNull() {
            addCriterion("machine_printed is not null");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedEqualTo(String value) {
            addCriterion("machine_printed =", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedNotEqualTo(String value) {
            addCriterion("machine_printed <>", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedGreaterThan(String value) {
            addCriterion("machine_printed >", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedGreaterThanOrEqualTo(String value) {
            addCriterion("machine_printed >=", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedLessThan(String value) {
            addCriterion("machine_printed <", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedLessThanOrEqualTo(String value) {
            addCriterion("machine_printed <=", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedLike(String value) {
            addCriterion("machine_printed like", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedNotLike(String value) {
            addCriterion("machine_printed not like", value, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedIn(List<String> values) {
            addCriterion("machine_printed in", values, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedNotIn(List<String> values) {
            addCriterion("machine_printed not in", values, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedBetween(String value1, String value2) {
            addCriterion("machine_printed between", value1, value2, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andMachinePrintedNotBetween(String value1, String value2) {
            addCriterion("machine_printed not between", value1, value2, "machinePrinted");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNull() {
            addCriterion("del_flag is null");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNotNull() {
            addCriterion("del_flag is not null");
            return (Criteria) this;
        }

        public Criteria andDelFlagEqualTo(String value) {
            addCriterion("del_flag =", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotEqualTo(String value) {
            addCriterion("del_flag <>", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThan(String value) {
            addCriterion("del_flag >", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThanOrEqualTo(String value) {
            addCriterion("del_flag >=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThan(String value) {
            addCriterion("del_flag <", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThanOrEqualTo(String value) {
            addCriterion("del_flag <=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLike(String value) {
            addCriterion("del_flag like", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotLike(String value) {
            addCriterion("del_flag not like", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagIn(List<String> values) {
            addCriterion("del_flag in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotIn(List<String> values) {
            addCriterion("del_flag not in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagBetween(String value1, String value2) {
            addCriterion("del_flag between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotBetween(String value1, String value2) {
            addCriterion("del_flag not between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andTkFileIdIsNull() {
            addCriterion("tk_file_id is null");
            return (Criteria) this;
        }

        public Criteria andTkFileIdIsNotNull() {
            addCriterion("tk_file_id is not null");
            return (Criteria) this;
        }

        public Criteria andTkFileIdEqualTo(Integer value) {
            addCriterion("tk_file_id =", value, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdNotEqualTo(Integer value) {
            addCriterion("tk_file_id <>", value, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdGreaterThan(Integer value) {
            addCriterion("tk_file_id >", value, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("tk_file_id >=", value, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdLessThan(Integer value) {
            addCriterion("tk_file_id <", value, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdLessThanOrEqualTo(Integer value) {
            addCriterion("tk_file_id <=", value, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdIn(List<Integer> values) {
            addCriterion("tk_file_id in", values, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdNotIn(List<Integer> values) {
            addCriterion("tk_file_id not in", values, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdBetween(Integer value1, Integer value2) {
            addCriterion("tk_file_id between", value1, value2, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andTkFileIdNotBetween(Integer value1, Integer value2) {
            addCriterion("tk_file_id not between", value1, value2, "tkFileId");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            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(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table fin_invoice
     *
     * @mbggenerated do_not_delete_during_merge Tue Sep 03 17:40:52 CST 2019
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table fin_invoice
     *
     * @mbggenerated Tue Sep 03 17:40:52 CST 2019
     */
    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);
        }
    }
}