package com.dhcc.finance.main.domain;

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

public class CwGlFreevalueExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

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

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

    public String getOrderByClause() {
        return orderByClause;
    }

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

    public boolean isDistinct() {
        return distinct;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andPkFreevalueIsNull() {
            addCriterion("PK_FREEVALUE is null");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueIsNotNull() {
            addCriterion("PK_FREEVALUE is not null");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueEqualTo(String value) {
            addCriterion("PK_FREEVALUE =", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueNotEqualTo(String value) {
            addCriterion("PK_FREEVALUE <>", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueGreaterThan(String value) {
            addCriterion("PK_FREEVALUE >", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueGreaterThanOrEqualTo(String value) {
            addCriterion("PK_FREEVALUE >=", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueLessThan(String value) {
            addCriterion("PK_FREEVALUE <", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueLessThanOrEqualTo(String value) {
            addCriterion("PK_FREEVALUE <=", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueLike(String value) {
            addCriterion("PK_FREEVALUE like", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueNotLike(String value) {
            addCriterion("PK_FREEVALUE not like", value, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueIn(List<String> values) {
            addCriterion("PK_FREEVALUE in", values, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueNotIn(List<String> values) {
            addCriterion("PK_FREEVALUE not in", values, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueBetween(String value1, String value2) {
            addCriterion("PK_FREEVALUE between", value1, value2, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andPkFreevalueNotBetween(String value1, String value2) {
            addCriterion("PK_FREEVALUE not between", value1, value2, "pkFreevalue");
            return (Criteria) this;
        }

        public Criteria andAssidIsNull() {
            addCriterion("ASSID is null");
            return (Criteria) this;
        }

        public Criteria andAssidIsNotNull() {
            addCriterion("ASSID is not null");
            return (Criteria) this;
        }

        public Criteria andAssidEqualTo(String value) {
            addCriterion("ASSID =", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidNotEqualTo(String value) {
            addCriterion("ASSID <>", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidGreaterThan(String value) {
            addCriterion("ASSID >", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidGreaterThanOrEqualTo(String value) {
            addCriterion("ASSID >=", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidLessThan(String value) {
            addCriterion("ASSID <", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidLessThanOrEqualTo(String value) {
            addCriterion("ASSID <=", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidLike(String value) {
            addCriterion("ASSID like", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidNotLike(String value) {
            addCriterion("ASSID not like", value, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidIn(List<String> values) {
            addCriterion("ASSID in", values, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidNotIn(List<String> values) {
            addCriterion("ASSID not in", values, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidBetween(String value1, String value2) {
            addCriterion("ASSID between", value1, value2, "assid");
            return (Criteria) this;
        }

        public Criteria andAssidNotBetween(String value1, String value2) {
            addCriterion("ASSID not between", value1, value2, "assid");
            return (Criteria) this;
        }

        public Criteria andAssindexIsNull() {
            addCriterion("ASSINDEX is null");
            return (Criteria) this;
        }

        public Criteria andAssindexIsNotNull() {
            addCriterion("ASSINDEX is not null");
            return (Criteria) this;
        }

        public Criteria andAssindexEqualTo(Integer value) {
            addCriterion("ASSINDEX =", value, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexNotEqualTo(Integer value) {
            addCriterion("ASSINDEX <>", value, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexGreaterThan(Integer value) {
            addCriterion("ASSINDEX >", value, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexGreaterThanOrEqualTo(Integer value) {
            addCriterion("ASSINDEX >=", value, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexLessThan(Integer value) {
            addCriterion("ASSINDEX <", value, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexLessThanOrEqualTo(Integer value) {
            addCriterion("ASSINDEX <=", value, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexIn(List<Integer> values) {
            addCriterion("ASSINDEX in", values, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexNotIn(List<Integer> values) {
            addCriterion("ASSINDEX not in", values, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexBetween(Integer value1, Integer value2) {
            addCriterion("ASSINDEX between", value1, value2, "assindex");
            return (Criteria) this;
        }

        public Criteria andAssindexNotBetween(Integer value1, Integer value2) {
            addCriterion("ASSINDEX not between", value1, value2, "assindex");
            return (Criteria) this;
        }

        public Criteria andChecktypeIsNull() {
            addCriterion("CHECKTYPE is null");
            return (Criteria) this;
        }

        public Criteria andChecktypeIsNotNull() {
            addCriterion("CHECKTYPE is not null");
            return (Criteria) this;
        }

        public Criteria andChecktypeEqualTo(String value) {
            addCriterion("CHECKTYPE =", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeNotEqualTo(String value) {
            addCriterion("CHECKTYPE <>", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeGreaterThan(String value) {
            addCriterion("CHECKTYPE >", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeGreaterThanOrEqualTo(String value) {
            addCriterion("CHECKTYPE >=", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeLessThan(String value) {
            addCriterion("CHECKTYPE <", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeLessThanOrEqualTo(String value) {
            addCriterion("CHECKTYPE <=", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeLike(String value) {
            addCriterion("CHECKTYPE like", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeNotLike(String value) {
            addCriterion("CHECKTYPE not like", value, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeIn(List<String> values) {
            addCriterion("CHECKTYPE in", values, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeNotIn(List<String> values) {
            addCriterion("CHECKTYPE not in", values, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeBetween(String value1, String value2) {
            addCriterion("CHECKTYPE between", value1, value2, "checktype");
            return (Criteria) this;
        }

        public Criteria andChecktypeNotBetween(String value1, String value2) {
            addCriterion("CHECKTYPE not between", value1, value2, "checktype");
            return (Criteria) this;
        }

        public Criteria andCheckvalueIsNull() {
            addCriterion("CHECKVALUE is null");
            return (Criteria) this;
        }

        public Criteria andCheckvalueIsNotNull() {
            addCriterion("CHECKVALUE is not null");
            return (Criteria) this;
        }

        public Criteria andCheckvalueEqualTo(String value) {
            addCriterion("CHECKVALUE =", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueNotEqualTo(String value) {
            addCriterion("CHECKVALUE <>", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueGreaterThan(String value) {
            addCriterion("CHECKVALUE >", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueGreaterThanOrEqualTo(String value) {
            addCriterion("CHECKVALUE >=", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueLessThan(String value) {
            addCriterion("CHECKVALUE <", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueLessThanOrEqualTo(String value) {
            addCriterion("CHECKVALUE <=", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueLike(String value) {
            addCriterion("CHECKVALUE like", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueNotLike(String value) {
            addCriterion("CHECKVALUE not like", value, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueIn(List<String> values) {
            addCriterion("CHECKVALUE in", values, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueNotIn(List<String> values) {
            addCriterion("CHECKVALUE not in", values, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueBetween(String value1, String value2) {
            addCriterion("CHECKVALUE between", value1, value2, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andCheckvalueNotBetween(String value1, String value2) {
            addCriterion("CHECKVALUE not between", value1, value2, "checkvalue");
            return (Criteria) this;
        }

        public Criteria andValuecodeIsNull() {
            addCriterion("VALUECODE is null");
            return (Criteria) this;
        }

        public Criteria andValuecodeIsNotNull() {
            addCriterion("VALUECODE is not null");
            return (Criteria) this;
        }

        public Criteria andValuecodeEqualTo(String value) {
            addCriterion("VALUECODE =", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeNotEqualTo(String value) {
            addCriterion("VALUECODE <>", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeGreaterThan(String value) {
            addCriterion("VALUECODE >", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeGreaterThanOrEqualTo(String value) {
            addCriterion("VALUECODE >=", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeLessThan(String value) {
            addCriterion("VALUECODE <", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeLessThanOrEqualTo(String value) {
            addCriterion("VALUECODE <=", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeLike(String value) {
            addCriterion("VALUECODE like", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeNotLike(String value) {
            addCriterion("VALUECODE not like", value, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeIn(List<String> values) {
            addCriterion("VALUECODE in", values, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeNotIn(List<String> values) {
            addCriterion("VALUECODE not in", values, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeBetween(String value1, String value2) {
            addCriterion("VALUECODE between", value1, value2, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuecodeNotBetween(String value1, String value2) {
            addCriterion("VALUECODE not between", value1, value2, "valuecode");
            return (Criteria) this;
        }

        public Criteria andValuenameIsNull() {
            addCriterion("VALUENAME is null");
            return (Criteria) this;
        }

        public Criteria andValuenameIsNotNull() {
            addCriterion("VALUENAME is not null");
            return (Criteria) this;
        }

        public Criteria andValuenameEqualTo(String value) {
            addCriterion("VALUENAME =", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameNotEqualTo(String value) {
            addCriterion("VALUENAME <>", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameGreaterThan(String value) {
            addCriterion("VALUENAME >", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameGreaterThanOrEqualTo(String value) {
            addCriterion("VALUENAME >=", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameLessThan(String value) {
            addCriterion("VALUENAME <", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameLessThanOrEqualTo(String value) {
            addCriterion("VALUENAME <=", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameLike(String value) {
            addCriterion("VALUENAME like", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameNotLike(String value) {
            addCriterion("VALUENAME not like", value, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameIn(List<String> values) {
            addCriterion("VALUENAME in", values, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameNotIn(List<String> values) {
            addCriterion("VALUENAME not in", values, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameBetween(String value1, String value2) {
            addCriterion("VALUENAME between", value1, value2, "valuename");
            return (Criteria) this;
        }

        public Criteria andValuenameNotBetween(String value1, String value2) {
            addCriterion("VALUENAME not between", value1, value2, "valuename");
            return (Criteria) this;
        }

        public Criteria andDebitamountIsNull() {
            addCriterion("DEBITAMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andDebitamountIsNotNull() {
            addCriterion("DEBITAMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andDebitamountEqualTo(BigDecimal value) {
            addCriterion("DEBITAMOUNT =", value, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountNotEqualTo(BigDecimal value) {
            addCriterion("DEBITAMOUNT <>", value, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountGreaterThan(BigDecimal value) {
            addCriterion("DEBITAMOUNT >", value, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("DEBITAMOUNT >=", value, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountLessThan(BigDecimal value) {
            addCriterion("DEBITAMOUNT <", value, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("DEBITAMOUNT <=", value, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountIn(List<BigDecimal> values) {
            addCriterion("DEBITAMOUNT in", values, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountNotIn(List<BigDecimal> values) {
            addCriterion("DEBITAMOUNT not in", values, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DEBITAMOUNT between", value1, value2, "debitamount");
            return (Criteria) this;
        }

        public Criteria andDebitamountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DEBITAMOUNT not between", value1, value2, "debitamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountIsNull() {
            addCriterion("CREDITAMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andCreditamountIsNotNull() {
            addCriterion("CREDITAMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andCreditamountEqualTo(BigDecimal value) {
            addCriterion("CREDITAMOUNT =", value, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountNotEqualTo(BigDecimal value) {
            addCriterion("CREDITAMOUNT <>", value, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountGreaterThan(BigDecimal value) {
            addCriterion("CREDITAMOUNT >", value, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CREDITAMOUNT >=", value, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountLessThan(BigDecimal value) {
            addCriterion("CREDITAMOUNT <", value, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CREDITAMOUNT <=", value, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountIn(List<BigDecimal> values) {
            addCriterion("CREDITAMOUNT in", values, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountNotIn(List<BigDecimal> values) {
            addCriterion("CREDITAMOUNT not in", values, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CREDITAMOUNT between", value1, value2, "creditamount");
            return (Criteria) this;
        }

        public Criteria andCreditamountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CREDITAMOUNT not between", value1, value2, "creditamount");
            return (Criteria) this;
        }

        public Criteria andPkSystemIsNull() {
            addCriterion("PK_SYSTEM is null");
            return (Criteria) this;
        }

        public Criteria andPkSystemIsNotNull() {
            addCriterion("PK_SYSTEM is not null");
            return (Criteria) this;
        }

        public Criteria andPkSystemEqualTo(String value) {
            addCriterion("PK_SYSTEM =", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemNotEqualTo(String value) {
            addCriterion("PK_SYSTEM <>", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemGreaterThan(String value) {
            addCriterion("PK_SYSTEM >", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemGreaterThanOrEqualTo(String value) {
            addCriterion("PK_SYSTEM >=", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemLessThan(String value) {
            addCriterion("PK_SYSTEM <", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemLessThanOrEqualTo(String value) {
            addCriterion("PK_SYSTEM <=", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemLike(String value) {
            addCriterion("PK_SYSTEM like", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemNotLike(String value) {
            addCriterion("PK_SYSTEM not like", value, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemIn(List<String> values) {
            addCriterion("PK_SYSTEM in", values, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemNotIn(List<String> values) {
            addCriterion("PK_SYSTEM not in", values, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemBetween(String value1, String value2) {
            addCriterion("PK_SYSTEM between", value1, value2, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andPkSystemNotBetween(String value1, String value2) {
            addCriterion("PK_SYSTEM not between", value1, value2, "pkSystem");
            return (Criteria) this;
        }

        public Criteria andUseStateIsNull() {
            addCriterion("USE_STATE is null");
            return (Criteria) this;
        }

        public Criteria andUseStateIsNotNull() {
            addCriterion("USE_STATE is not null");
            return (Criteria) this;
        }

        public Criteria andUseStateEqualTo(String value) {
            addCriterion("USE_STATE =", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateNotEqualTo(String value) {
            addCriterion("USE_STATE <>", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateGreaterThan(String value) {
            addCriterion("USE_STATE >", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateGreaterThanOrEqualTo(String value) {
            addCriterion("USE_STATE >=", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateLessThan(String value) {
            addCriterion("USE_STATE <", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateLessThanOrEqualTo(String value) {
            addCriterion("USE_STATE <=", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateLike(String value) {
            addCriterion("USE_STATE like", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateNotLike(String value) {
            addCriterion("USE_STATE not like", value, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateIn(List<String> values) {
            addCriterion("USE_STATE in", values, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateNotIn(List<String> values) {
            addCriterion("USE_STATE not in", values, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateBetween(String value1, String value2) {
            addCriterion("USE_STATE between", value1, value2, "useState");
            return (Criteria) this;
        }

        public Criteria andUseStateNotBetween(String value1, String value2) {
            addCriterion("USE_STATE not between", value1, value2, "useState");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("CREATE_USER is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("CREATE_USER is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("CREATE_USER =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("CREATE_USER <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("CREATE_USER >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("CREATE_USER >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("CREATE_USER <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("CREATE_USER <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("CREATE_USER like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("CREATE_USER not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("CREATE_USER in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("CREATE_USER not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("CREATE_USER between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("CREATE_USER not between", value1, value2, "createUser");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andUpdateUserIsNull() {
            addCriterion("UPDATE_USER is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNotNull() {
            addCriterion("UPDATE_USER is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualTo(String value) {
            addCriterion("UPDATE_USER =", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualTo(String value) {
            addCriterion("UPDATE_USER <>", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThan(String value) {
            addCriterion("UPDATE_USER >", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualTo(String value) {
            addCriterion("UPDATE_USER >=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThan(String value) {
            addCriterion("UPDATE_USER <", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualTo(String value) {
            addCriterion("UPDATE_USER <=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLike(String value) {
            addCriterion("UPDATE_USER like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotLike(String value) {
            addCriterion("UPDATE_USER not like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIn(List<String> values) {
            addCriterion("UPDATE_USER in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotIn(List<String> values) {
            addCriterion("UPDATE_USER not in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserBetween(String value1, String value2) {
            addCriterion("UPDATE_USER between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotBetween(String value1, String value2) {
            addCriterion("UPDATE_USER not between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("UPDATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("UPDATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("UPDATE_TIME =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("UPDATE_TIME <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("UPDATE_TIME >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UPDATE_TIME >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("UPDATE_TIME <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("UPDATE_TIME <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("UPDATE_TIME in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("UPDATE_TIME not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("UPDATE_TIME between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("UPDATE_TIME not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("REMARK is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("REMARK is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("REMARK =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("REMARK <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("REMARK >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("REMARK >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("REMARK <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("REMARK <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("REMARK like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("REMARK not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("REMARK in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("REMARK not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("REMARK between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("REMARK not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

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

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

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

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

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