package com.liquidnet.service.account.funding.entity;

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

public class FinAccountBillExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FinAccountBillExample() {
        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 andBillNoIsNull() {
            addCriterion("FAB0 is null");
            return (Criteria) this;
        }

        public Criteria andBillNoIsNotNull() {
            addCriterion("FAB0 is not null");
            return (Criteria) this;
        }

        public Criteria andBillNoEqualTo(String value) {
            addCriterion("FAB0 =", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoNotEqualTo(String value) {
            addCriterion("FAB0 <>", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoGreaterThan(String value) {
            addCriterion("FAB0 >", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoGreaterThanOrEqualTo(String value) {
            addCriterion("FAB0 >=", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoLessThan(String value) {
            addCriterion("FAB0 <", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoLessThanOrEqualTo(String value) {
            addCriterion("FAB0 <=", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoLike(String value) {
            addCriterion("FAB0 like", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoNotLike(String value) {
            addCriterion("FAB0 not like", value, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoIn(List<String> values) {
            addCriterion("FAB0 in", values, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoNotIn(List<String> values) {
            addCriterion("FAB0 not in", values, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoBetween(String value1, String value2) {
            addCriterion("FAB0 between", value1, value2, "billNo");
            return (Criteria) this;
        }

        public Criteria andBillNoNotBetween(String value1, String value2) {
            addCriterion("FAB0 not between", value1, value2, "billNo");
            return (Criteria) this;
        }

        public Criteria andAccNoIsNull() {
            addCriterion("FAB1 is null");
            return (Criteria) this;
        }

        public Criteria andAccNoIsNotNull() {
            addCriterion("FAB1 is not null");
            return (Criteria) this;
        }

        public Criteria andAccNoEqualTo(String value) {
            addCriterion("FAB1 =", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoNotEqualTo(String value) {
            addCriterion("FAB1 <>", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoGreaterThan(String value) {
            addCriterion("FAB1 >", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoGreaterThanOrEqualTo(String value) {
            addCriterion("FAB1 >=", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoLessThan(String value) {
            addCriterion("FAB1 <", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoLessThanOrEqualTo(String value) {
            addCriterion("FAB1 <=", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoLike(String value) {
            addCriterion("FAB1 like", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoNotLike(String value) {
            addCriterion("FAB1 not like", value, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoIn(List<String> values) {
            addCriterion("FAB1 in", values, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoNotIn(List<String> values) {
            addCriterion("FAB1 not in", values, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoBetween(String value1, String value2) {
            addCriterion("FAB1 between", value1, value2, "accNo");
            return (Criteria) this;
        }

        public Criteria andAccNoNotBetween(String value1, String value2) {
            addCriterion("FAB1 not between", value1, value2, "accNo");
            return (Criteria) this;
        }

        public Criteria andWalletIdIsNull() {
            addCriterion("FAB2 is null");
            return (Criteria) this;
        }

        public Criteria andWalletIdIsNotNull() {
            addCriterion("FAB2 is not null");
            return (Criteria) this;
        }

        public Criteria andWalletIdEqualTo(String value) {
            addCriterion("FAB2 =", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotEqualTo(String value) {
            addCriterion("FAB2 <>", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdGreaterThan(String value) {
            addCriterion("FAB2 >", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdGreaterThanOrEqualTo(String value) {
            addCriterion("FAB2 >=", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdLessThan(String value) {
            addCriterion("FAB2 <", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdLessThanOrEqualTo(String value) {
            addCriterion("FAB2 <=", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdLike(String value) {
            addCriterion("FAB2 like", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotLike(String value) {
            addCriterion("FAB2 not like", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdIn(List<String> values) {
            addCriterion("FAB2 in", values, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotIn(List<String> values) {
            addCriterion("FAB2 not in", values, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdBetween(String value1, String value2) {
            addCriterion("FAB2 between", value1, value2, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotBetween(String value1, String value2) {
            addCriterion("FAB2 not between", value1, value2, "walletId");
            return (Criteria) this;
        }

        public Criteria andFinIdIsNull() {
            addCriterion("FAB3 is null");
            return (Criteria) this;
        }

        public Criteria andFinIdIsNotNull() {
            addCriterion("FAB3 is not null");
            return (Criteria) this;
        }

        public Criteria andFinIdEqualTo(String value) {
            addCriterion("FAB3 =", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdNotEqualTo(String value) {
            addCriterion("FAB3 <>", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdGreaterThan(String value) {
            addCriterion("FAB3 >", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdGreaterThanOrEqualTo(String value) {
            addCriterion("FAB3 >=", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdLessThan(String value) {
            addCriterion("FAB3 <", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdLessThanOrEqualTo(String value) {
            addCriterion("FAB3 <=", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdLike(String value) {
            addCriterion("FAB3 like", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdNotLike(String value) {
            addCriterion("FAB3 not like", value, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdIn(List<String> values) {
            addCriterion("FAB3 in", values, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdNotIn(List<String> values) {
            addCriterion("FAB3 not in", values, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdBetween(String value1, String value2) {
            addCriterion("FAB3 between", value1, value2, "finId");
            return (Criteria) this;
        }

        public Criteria andFinIdNotBetween(String value1, String value2) {
            addCriterion("FAB3 not between", value1, value2, "finId");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNull() {
            addCriterion("FAB4 is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNotNull() {
            addCriterion("FAB4 is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryEqualTo(String value) {
            addCriterion("FAB4 =", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotEqualTo(String value) {
            addCriterion("FAB4 <>", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThan(String value) {
            addCriterion("FAB4 >", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThanOrEqualTo(String value) {
            addCriterion("FAB4 >=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThan(String value) {
            addCriterion("FAB4 <", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThanOrEqualTo(String value) {
            addCriterion("FAB4 <=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLike(String value) {
            addCriterion("FAB4 like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotLike(String value) {
            addCriterion("FAB4 not like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryIn(List<String> values) {
            addCriterion("FAB4 in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotIn(List<String> values) {
            addCriterion("FAB4 not in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryBetween(String value1, String value2) {
            addCriterion("FAB4 between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotBetween(String value1, String value2) {
            addCriterion("FAB4 not between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("FAB5 is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("FAB5 is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(BigDecimal value) {
            addCriterion("FAB5 =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(BigDecimal value) {
            addCriterion("FAB5 <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(BigDecimal value) {
            addCriterion("FAB5 >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("FAB5 >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(BigDecimal value) {
            addCriterion("FAB5 <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("FAB5 <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<BigDecimal> values) {
            addCriterion("FAB5 in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<BigDecimal> values) {
            addCriterion("FAB5 not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("FAB5 between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("FAB5 not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andTransNoIsNull() {
            addCriterion("FAB6 is null");
            return (Criteria) this;
        }

        public Criteria andTransNoIsNotNull() {
            addCriterion("FAB6 is not null");
            return (Criteria) this;
        }

        public Criteria andTransNoEqualTo(String value) {
            addCriterion("FAB6 =", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotEqualTo(String value) {
            addCriterion("FAB6 <>", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoGreaterThan(String value) {
            addCriterion("FAB6 >", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoGreaterThanOrEqualTo(String value) {
            addCriterion("FAB6 >=", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoLessThan(String value) {
            addCriterion("FAB6 <", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoLessThanOrEqualTo(String value) {
            addCriterion("FAB6 <=", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoLike(String value) {
            addCriterion("FAB6 like", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotLike(String value) {
            addCriterion("FAB6 not like", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoIn(List<String> values) {
            addCriterion("FAB6 in", values, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotIn(List<String> values) {
            addCriterion("FAB6 not in", values, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoBetween(String value1, String value2) {
            addCriterion("FAB6 between", value1, value2, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotBetween(String value1, String value2) {
            addCriterion("FAB6 not between", value1, value2, "transNo");
            return (Criteria) this;
        }

        public Criteria andAccStatusEqualTo(Integer value) {
            addCriterion("FAB7 =", value, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusNotEqualTo(Integer value) {
            addCriterion("FAB7 <>", value, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusGreaterThan(Integer value) {
            addCriterion("FAB7 >", value, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("FAB7 >=", value, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusLessThan(Integer value) {
            addCriterion("FAB7 <", value, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusLessThanOrEqualTo(Integer value) {
            addCriterion("FAB7 <=", value, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusIn(List<Integer> values) {
            addCriterion("FAB7 in", values, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusNotIn(List<Integer> values) {
            addCriterion("FAB7 not in", values, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusBetween(Integer value1, Integer value2) {
            addCriterion("FAB7 between", value1, value2, "accStatus");
            return (Criteria) this;
        }

        public Criteria andAccStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("FAB7 not between", value1, value2, "accStatus");
            return (Criteria) this;
        }

        public Criteria andTracingNoIsNull() {
            addCriterion("FAB8 is null");
            return (Criteria) this;
        }

        public Criteria andTracingNoIsNotNull() {
            addCriterion("FAB8 is not null");
            return (Criteria) this;
        }

        public Criteria andTracingNoEqualTo(String value) {
            addCriterion("FAB8 =", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoNotEqualTo(String value) {
            addCriterion("FAB8 <>", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoGreaterThan(String value) {
            addCriterion("FAB8 >", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoGreaterThanOrEqualTo(String value) {
            addCriterion("FAB8 >=", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoLessThan(String value) {
            addCriterion("FAB8 <", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoLessThanOrEqualTo(String value) {
            addCriterion("FAB8 <=", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoLike(String value) {
            addCriterion("FAB8 like", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoNotLike(String value) {
            addCriterion("FAB8 not like", value, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoIn(List<String> values) {
            addCriterion("FAB8 in", values, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoNotIn(List<String> values) {
            addCriterion("FAB8 not in", values, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoBetween(String value1, String value2) {
            addCriterion("FAB8 between", value1, value2, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingNoNotBetween(String value1, String value2) {
            addCriterion("FAB8 not between", value1, value2, "tracingNo");
            return (Criteria) this;
        }

        public Criteria andTracingTimeIsNull() {
            addCriterion("FAB9 is null");
            return (Criteria) this;
        }

        public Criteria andTracingTimeIsNotNull() {
            addCriterion("FAB9 is not null");
            return (Criteria) this;
        }

        public Criteria andTracingTimeEqualTo(LocalDateTime value) {
            addCriterion("FAB9 =", value, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeNotEqualTo(LocalDateTime value) {
            addCriterion("FAB9 <>", value, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeGreaterThan(LocalDateTime value) {
            addCriterion("FAB9 >", value, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("FAB9 >=", value, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeLessThan(LocalDateTime value) {
            addCriterion("FAB9 <", value, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("FAB9 <=", value, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeIn(List<LocalDateTime> values) {
            addCriterion("FAB9 in", values, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeNotIn(List<LocalDateTime> values) {
            addCriterion("FAB9 not in", values, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("FAB9 between", value1, value2, "tracingTime");
            return (Criteria) this;
        }

        public Criteria andTracingTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("FAB9 not between", value1, value2, "tracingTime");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("FAB11 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);
        }
    }
}
