package com.ruoyi.system.domain.form;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class MdFormExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public MdFormExample() {
        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 implements Serializable {
        protected List<Criterion> criteria;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

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

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

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

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

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

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andImgIsNull() {
            addCriterion("img is null");
            return (Criteria) this;
        }

        public Criteria andImgIsNotNull() {
            addCriterion("img is not null");
            return (Criteria) this;
        }

        public Criteria andImgEqualTo(String value) {
            addCriterion("img =", value, "img");
            return (Criteria) this;
        }

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

        public Criteria andImgGreaterThan(String value) {
            addCriterion("img >", value, "img");
            return (Criteria) this;
        }

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

        public Criteria andImgLessThan(String value) {
            addCriterion("img <", value, "img");
            return (Criteria) this;
        }

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

        public Criteria andImgLike(String value) {
            addCriterion("img like", value, "img");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCategoryIdIsNull() {
            addCriterion("category_id is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNotNull() {
            addCriterion("category_id is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdEqualTo(String value) {
            addCriterion("category_id =", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotEqualTo(String value) {
            addCriterion("category_id <>", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThan(String value) {
            addCriterion("category_id >", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThanOrEqualTo(String value) {
            addCriterion("category_id >=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThan(String value) {
            addCriterion("category_id <", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThanOrEqualTo(String value) {
            addCriterion("category_id <=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLike(String value) {
            addCriterion("category_id like", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotLike(String value) {
            addCriterion("category_id not like", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIn(List<String> values) {
            addCriterion("category_id in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotIn(List<String> values) {
            addCriterion("category_id not in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdBetween(String value1, String value2) {
            addCriterion("category_id between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotBetween(String value1, String value2) {
            addCriterion("category_id not between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andRecordNumIsNull() {
            addCriterion("record_num is null");
            return (Criteria) this;
        }

        public Criteria andRecordNumIsNotNull() {
            addCriterion("record_num is not null");
            return (Criteria) this;
        }

        public Criteria andRecordNumEqualTo(Integer value) {
            addCriterion("record_num =", value, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumNotEqualTo(Integer value) {
            addCriterion("record_num <>", value, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumGreaterThan(Integer value) {
            addCriterion("record_num >", value, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("record_num >=", value, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumLessThan(Integer value) {
            addCriterion("record_num <", value, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumLessThanOrEqualTo(Integer value) {
            addCriterion("record_num <=", value, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumIn(List<Integer> values) {
            addCriterion("record_num in", values, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumNotIn(List<Integer> values) {
            addCriterion("record_num not in", values, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumBetween(Integer value1, Integer value2) {
            addCriterion("record_num between", value1, value2, "recordNum");
            return (Criteria) this;
        }

        public Criteria andRecordNumNotBetween(Integer value1, Integer value2) {
            addCriterion("record_num not between", value1, value2, "recordNum");
            return (Criteria) this;
        }

        public Criteria andCollectModeIsNull() {
            addCriterion("collect_mode is null");
            return (Criteria) this;
        }

        public Criteria andCollectModeIsNotNull() {
            addCriterion("collect_mode is not null");
            return (Criteria) this;
        }

        public Criteria andCollectModeEqualTo(String value) {
            addCriterion("collect_mode =", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeNotEqualTo(String value) {
            addCriterion("collect_mode <>", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeGreaterThan(String value) {
            addCriterion("collect_mode >", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeGreaterThanOrEqualTo(String value) {
            addCriterion("collect_mode >=", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeLessThan(String value) {
            addCriterion("collect_mode <", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeLessThanOrEqualTo(String value) {
            addCriterion("collect_mode <=", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeLike(String value) {
            addCriterion("collect_mode like", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeNotLike(String value) {
            addCriterion("collect_mode not like", value, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeIn(List<String> values) {
            addCriterion("collect_mode in", values, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeNotIn(List<String> values) {
            addCriterion("collect_mode not in", values, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeBetween(String value1, String value2) {
            addCriterion("collect_mode between", value1, value2, "collectMode");
            return (Criteria) this;
        }

        public Criteria andCollectModeNotBetween(String value1, String value2) {
            addCriterion("collect_mode not between", value1, value2, "collectMode");
            return (Criteria) this;
        }

        public Criteria andFixStartIsNull() {
            addCriterion("fix_start is null");
            return (Criteria) this;
        }

        public Criteria andFixStartIsNotNull() {
            addCriterion("fix_start is not null");
            return (Criteria) this;
        }

        public Criteria andFixStartEqualTo(Long value) {
            addCriterion("fix_start =", value, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartNotEqualTo(Long value) {
            addCriterion("fix_start <>", value, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartGreaterThan(Long value) {
            addCriterion("fix_start >", value, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartGreaterThanOrEqualTo(Long value) {
            addCriterion("fix_start >=", value, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartLessThan(Long value) {
            addCriterion("fix_start <", value, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartLessThanOrEqualTo(Long value) {
            addCriterion("fix_start <=", value, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartIn(List<Long> values) {
            addCriterion("fix_start in", values, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartNotIn(List<Long> values) {
            addCriterion("fix_start not in", values, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartBetween(Long value1, Long value2) {
            addCriterion("fix_start between", value1, value2, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixStartNotBetween(Long value1, Long value2) {
            addCriterion("fix_start not between", value1, value2, "fixStart");
            return (Criteria) this;
        }

        public Criteria andFixEndIsNull() {
            addCriterion("fix_end is null");
            return (Criteria) this;
        }

        public Criteria andFixEndIsNotNull() {
            addCriterion("fix_end is not null");
            return (Criteria) this;
        }

        public Criteria andFixEndEqualTo(Long value) {
            addCriterion("fix_end =", value, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndNotEqualTo(Long value) {
            addCriterion("fix_end <>", value, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndGreaterThan(Long value) {
            addCriterion("fix_end >", value, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndGreaterThanOrEqualTo(Long value) {
            addCriterion("fix_end >=", value, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndLessThan(Long value) {
            addCriterion("fix_end <", value, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndLessThanOrEqualTo(Long value) {
            addCriterion("fix_end <=", value, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndIn(List<Long> values) {
            addCriterion("fix_end in", values, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndNotIn(List<Long> values) {
            addCriterion("fix_end not in", values, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndBetween(Long value1, Long value2) {
            addCriterion("fix_end between", value1, value2, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andFixEndNotBetween(Long value1, Long value2) {
            addCriterion("fix_end not between", value1, value2, "fixEnd");
            return (Criteria) this;
        }

        public Criteria andCycleTypeIsNull() {
            addCriterion("cycle_type is null");
            return (Criteria) this;
        }

        public Criteria andCycleTypeIsNotNull() {
            addCriterion("cycle_type is not null");
            return (Criteria) this;
        }

        public Criteria andCycleTypeEqualTo(String value) {
            addCriterion("cycle_type =", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeNotEqualTo(String value) {
            addCriterion("cycle_type <>", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeGreaterThan(String value) {
            addCriterion("cycle_type >", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeGreaterThanOrEqualTo(String value) {
            addCriterion("cycle_type >=", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeLessThan(String value) {
            addCriterion("cycle_type <", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeLessThanOrEqualTo(String value) {
            addCriterion("cycle_type <=", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeLike(String value) {
            addCriterion("cycle_type like", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeNotLike(String value) {
            addCriterion("cycle_type not like", value, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeIn(List<String> values) {
            addCriterion("cycle_type in", values, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeNotIn(List<String> values) {
            addCriterion("cycle_type not in", values, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeBetween(String value1, String value2) {
            addCriterion("cycle_type between", value1, value2, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleTypeNotBetween(String value1, String value2) {
            addCriterion("cycle_type not between", value1, value2, "cycleType");
            return (Criteria) this;
        }

        public Criteria andCycleLastIsNull() {
            addCriterion("cycle_last is null");
            return (Criteria) this;
        }

        public Criteria andCycleLastIsNotNull() {
            addCriterion("cycle_last is not null");
            return (Criteria) this;
        }

        public Criteria andCycleLastEqualTo(Integer value) {
            addCriterion("cycle_last =", value, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastNotEqualTo(Integer value) {
            addCriterion("cycle_last <>", value, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastGreaterThan(Integer value) {
            addCriterion("cycle_last >", value, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastGreaterThanOrEqualTo(Integer value) {
            addCriterion("cycle_last >=", value, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastLessThan(Integer value) {
            addCriterion("cycle_last <", value, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastLessThanOrEqualTo(Integer value) {
            addCriterion("cycle_last <=", value, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastIn(List<Integer> values) {
            addCriterion("cycle_last in", values, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastNotIn(List<Integer> values) {
            addCriterion("cycle_last not in", values, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastBetween(Integer value1, Integer value2) {
            addCriterion("cycle_last between", value1, value2, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleLastNotBetween(Integer value1, Integer value2) {
            addCriterion("cycle_last not between", value1, value2, "cycleLast");
            return (Criteria) this;
        }

        public Criteria andCycleNowIsNull() {
            addCriterion("cycle_now is null");
            return (Criteria) this;
        }

        public Criteria andCycleNowIsNotNull() {
            addCriterion("cycle_now is not null");
            return (Criteria) this;
        }

        public Criteria andCycleNowEqualTo(String value) {
            addCriterion("cycle_now =", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowNotEqualTo(String value) {
            addCriterion("cycle_now <>", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowGreaterThan(String value) {
            addCriterion("cycle_now >", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowGreaterThanOrEqualTo(String value) {
            addCriterion("cycle_now >=", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowLessThan(String value) {
            addCriterion("cycle_now <", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowLessThanOrEqualTo(String value) {
            addCriterion("cycle_now <=", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowLike(String value) {
            addCriterion("cycle_now like", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowNotLike(String value) {
            addCriterion("cycle_now not like", value, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowIn(List<String> values) {
            addCriterion("cycle_now in", values, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowNotIn(List<String> values) {
            addCriterion("cycle_now not in", values, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowBetween(String value1, String value2) {
            addCriterion("cycle_now between", value1, value2, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleNowNotBetween(String value1, String value2) {
            addCriterion("cycle_now not between", value1, value2, "cycleNow");
            return (Criteria) this;
        }

        public Criteria andCycleDefIsNull() {
            addCriterion("cycle_def is null");
            return (Criteria) this;
        }

        public Criteria andCycleDefIsNotNull() {
            addCriterion("cycle_def is not null");
            return (Criteria) this;
        }

        public Criteria andCycleDefEqualTo(Integer value) {
            addCriterion("cycle_def =", value, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefNotEqualTo(Integer value) {
            addCriterion("cycle_def <>", value, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefGreaterThan(Integer value) {
            addCriterion("cycle_def >", value, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefGreaterThanOrEqualTo(Integer value) {
            addCriterion("cycle_def >=", value, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefLessThan(Integer value) {
            addCriterion("cycle_def <", value, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefLessThanOrEqualTo(Integer value) {
            addCriterion("cycle_def <=", value, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefIn(List<Integer> values) {
            addCriterion("cycle_def in", values, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefNotIn(List<Integer> values) {
            addCriterion("cycle_def not in", values, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefBetween(Integer value1, Integer value2) {
            addCriterion("cycle_def between", value1, value2, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andCycleDefNotBetween(Integer value1, Integer value2) {
            addCriterion("cycle_def not between", value1, value2, "cycleDef");
            return (Criteria) this;
        }

        public Criteria andMindTimeIsNull() {
            addCriterion("mind_time is null");
            return (Criteria) this;
        }

        public Criteria andMindTimeIsNotNull() {
            addCriterion("mind_time is not null");
            return (Criteria) this;
        }

        public Criteria andMindTimeEqualTo(Integer value) {
            addCriterion("mind_time =", value, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeNotEqualTo(Integer value) {
            addCriterion("mind_time <>", value, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeGreaterThan(Integer value) {
            addCriterion("mind_time >", value, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeGreaterThanOrEqualTo(Integer value) {
            addCriterion("mind_time >=", value, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeLessThan(Integer value) {
            addCriterion("mind_time <", value, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeLessThanOrEqualTo(Integer value) {
            addCriterion("mind_time <=", value, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeIn(List<Integer> values) {
            addCriterion("mind_time in", values, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeNotIn(List<Integer> values) {
            addCriterion("mind_time not in", values, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeBetween(Integer value1, Integer value2) {
            addCriterion("mind_time between", value1, value2, "mindTime");
            return (Criteria) this;
        }

        public Criteria andMindTimeNotBetween(Integer value1, Integer value2) {
            addCriterion("mind_time not between", value1, value2, "mindTime");
            return (Criteria) this;
        }

        public Criteria andNeedRationIsNull() {
            addCriterion("need_ration is null");
            return (Criteria) this;
        }

        public Criteria andNeedRationIsNotNull() {
            addCriterion("need_ration is not null");
            return (Criteria) this;
        }

        public Criteria andNeedRationEqualTo(Integer value) {
            addCriterion("need_ration =", value, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationNotEqualTo(Integer value) {
            addCriterion("need_ration <>", value, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationGreaterThan(Integer value) {
            addCriterion("need_ration >", value, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationGreaterThanOrEqualTo(Integer value) {
            addCriterion("need_ration >=", value, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationLessThan(Integer value) {
            addCriterion("need_ration <", value, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationLessThanOrEqualTo(Integer value) {
            addCriterion("need_ration <=", value, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationIn(List<Integer> values) {
            addCriterion("need_ration in", values, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationNotIn(List<Integer> values) {
            addCriterion("need_ration not in", values, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationBetween(Integer value1, Integer value2) {
            addCriterion("need_ration between", value1, value2, "needRation");
            return (Criteria) this;
        }

        public Criteria andNeedRationNotBetween(Integer value1, Integer value2) {
            addCriterion("need_ration not between", value1, value2, "needRation");
            return (Criteria) this;
        }

        public Criteria andRationNumIsNull() {
            addCriterion("ration_num is null");
            return (Criteria) this;
        }

        public Criteria andRationNumIsNotNull() {
            addCriterion("ration_num is not null");
            return (Criteria) this;
        }

        public Criteria andRationNumEqualTo(Integer value) {
            addCriterion("ration_num =", value, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumNotEqualTo(Integer value) {
            addCriterion("ration_num <>", value, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumGreaterThan(Integer value) {
            addCriterion("ration_num >", value, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("ration_num >=", value, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumLessThan(Integer value) {
            addCriterion("ration_num <", value, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumLessThanOrEqualTo(Integer value) {
            addCriterion("ration_num <=", value, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumIn(List<Integer> values) {
            addCriterion("ration_num in", values, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumNotIn(List<Integer> values) {
            addCriterion("ration_num not in", values, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumBetween(Integer value1, Integer value2) {
            addCriterion("ration_num between", value1, value2, "rationNum");
            return (Criteria) this;
        }

        public Criteria andRationNumNotBetween(Integer value1, Integer value2) {
            addCriterion("ration_num not between", value1, value2, "rationNum");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNull() {
            addCriterion("publish_time is null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNotNull() {
            addCriterion("publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeEqualTo(Long value) {
            addCriterion("publish_time =", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotEqualTo(Long value) {
            addCriterion("publish_time <>", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThan(Long value) {
            addCriterion("publish_time >", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("publish_time >=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThan(Long value) {
            addCriterion("publish_time <", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThanOrEqualTo(Long value) {
            addCriterion("publish_time <=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIn(List<Long> values) {
            addCriterion("publish_time in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotIn(List<Long> values) {
            addCriterion("publish_time not in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeBetween(Long value1, Long value2) {
            addCriterion("publish_time between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotBetween(Long value1, Long value2) {
            addCriterion("publish_time not between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishModeIsNull() {
            addCriterion("publish_mode is null");
            return (Criteria) this;
        }

        public Criteria andPublishModeIsNotNull() {
            addCriterion("publish_mode is not null");
            return (Criteria) this;
        }

        public Criteria andPublishModeEqualTo(Integer value) {
            addCriterion("publish_mode =", value, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeNotEqualTo(Integer value) {
            addCriterion("publish_mode <>", value, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeGreaterThan(Integer value) {
            addCriterion("publish_mode >", value, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeGreaterThanOrEqualTo(Integer value) {
            addCriterion("publish_mode >=", value, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeLessThan(Integer value) {
            addCriterion("publish_mode <", value, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeLessThanOrEqualTo(Integer value) {
            addCriterion("publish_mode <=", value, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeIn(List<Integer> values) {
            addCriterion("publish_mode in", values, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeNotIn(List<Integer> values) {
            addCriterion("publish_mode not in", values, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeBetween(Integer value1, Integer value2) {
            addCriterion("publish_mode between", value1, value2, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishModeNotBetween(Integer value1, Integer value2) {
            addCriterion("publish_mode not between", value1, value2, "publishMode");
            return (Criteria) this;
        }

        public Criteria andPublishStatusIsNull() {
            addCriterion("publish_status is null");
            return (Criteria) this;
        }

        public Criteria andPublishStatusIsNotNull() {
            addCriterion("publish_status is not null");
            return (Criteria) this;
        }

        public Criteria andPublishStatusEqualTo(Integer value) {
            addCriterion("publish_status =", value, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusNotEqualTo(Integer value) {
            addCriterion("publish_status <>", value, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusGreaterThan(Integer value) {
            addCriterion("publish_status >", value, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("publish_status >=", value, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusLessThan(Integer value) {
            addCriterion("publish_status <", value, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusLessThanOrEqualTo(Integer value) {
            addCriterion("publish_status <=", value, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusIn(List<Integer> values) {
            addCriterion("publish_status in", values, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusNotIn(List<Integer> values) {
            addCriterion("publish_status not in", values, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusBetween(Integer value1, Integer value2) {
            addCriterion("publish_status between", value1, value2, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andPublishStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("publish_status not between", value1, value2, "publishStatus");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

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

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

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

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

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

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

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

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

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            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(Long value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andDeleteTimeIsNull() {
            addCriterion("delete_time is null");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeIsNotNull() {
            addCriterion("delete_time is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeEqualTo(Long value) {
            addCriterion("delete_time =", value, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeNotEqualTo(Long value) {
            addCriterion("delete_time <>", value, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeGreaterThan(Long value) {
            addCriterion("delete_time >", value, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("delete_time >=", value, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeLessThan(Long value) {
            addCriterion("delete_time <", value, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeLessThanOrEqualTo(Long value) {
            addCriterion("delete_time <=", value, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeIn(List<Long> values) {
            addCriterion("delete_time in", values, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeNotIn(List<Long> values) {
            addCriterion("delete_time not in", values, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeBetween(Long value1, Long value2) {
            addCriterion("delete_time between", value1, value2, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andDeleteTimeNotBetween(Long value1, Long value2) {
            addCriterion("delete_time not between", value1, value2, "deleteTime");
            return (Criteria) this;
        }

        public Criteria andOwnUserIsNull() {
            addCriterion("own_user is null");
            return (Criteria) this;
        }

        public Criteria andOwnUserIsNotNull() {
            addCriterion("own_user is not null");
            return (Criteria) this;
        }

        public Criteria andOwnUserEqualTo(String value) {
            addCriterion("own_user =", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserNotEqualTo(String value) {
            addCriterion("own_user <>", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserGreaterThan(String value) {
            addCriterion("own_user >", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserGreaterThanOrEqualTo(String value) {
            addCriterion("own_user >=", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserLessThan(String value) {
            addCriterion("own_user <", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserLessThanOrEqualTo(String value) {
            addCriterion("own_user <=", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserLike(String value) {
            addCriterion("own_user like", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserNotLike(String value) {
            addCriterion("own_user not like", value, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserIn(List<String> values) {
            addCriterion("own_user in", values, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserNotIn(List<String> values) {
            addCriterion("own_user not in", values, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserBetween(String value1, String value2) {
            addCriterion("own_user between", value1, value2, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnUserNotBetween(String value1, String value2) {
            addCriterion("own_user not between", value1, value2, "ownUser");
            return (Criteria) this;
        }

        public Criteria andOwnDeptIsNull() {
            addCriterion("own_dept is null");
            return (Criteria) this;
        }

        public Criteria andOwnDeptIsNotNull() {
            addCriterion("own_dept is not null");
            return (Criteria) this;
        }

        public Criteria andOwnDeptEqualTo(String value) {
            addCriterion("own_dept =", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptNotEqualTo(String value) {
            addCriterion("own_dept <>", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptGreaterThan(String value) {
            addCriterion("own_dept >", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptGreaterThanOrEqualTo(String value) {
            addCriterion("own_dept >=", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptLessThan(String value) {
            addCriterion("own_dept <", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptLessThanOrEqualTo(String value) {
            addCriterion("own_dept <=", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptLike(String value) {
            addCriterion("own_dept like", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptNotLike(String value) {
            addCriterion("own_dept not like", value, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptIn(List<String> values) {
            addCriterion("own_dept in", values, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptNotIn(List<String> values) {
            addCriterion("own_dept not in", values, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptBetween(String value1, String value2) {
            addCriterion("own_dept between", value1, value2, "ownDept");
            return (Criteria) this;
        }

        public Criteria andOwnDeptNotBetween(String value1, String value2) {
            addCriterion("own_dept not between", value1, value2, "ownDept");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        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);
        }
    }
}