package com.gyee.frame.model.auto;

import java.util.ArrayList;
import java.util.List;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andThingIsNull() {
            addCriterion("THING is null");
            return (Criteria) this;
        }

        public Criteria andThingIsNotNull() {
            addCriterion("THING is not null");
            return (Criteria) this;
        }

        public Criteria andThingEqualTo(String value) {
            addCriterion("THING =", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingNotEqualTo(String value) {
            addCriterion("THING <>", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingGreaterThan(String value) {
            addCriterion("THING >", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingGreaterThanOrEqualTo(String value) {
            addCriterion("THING >=", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingLessThan(String value) {
            addCriterion("THING <", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingLessThanOrEqualTo(String value) {
            addCriterion("THING <=", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingLike(String value) {
            addCriterion("THING like", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingNotLike(String value) {
            addCriterion("THING not like", value, "thing");
            return (Criteria) this;
        }

        public Criteria andThingIn(List<String> values) {
            addCriterion("THING in", values, "thing");
            return (Criteria) this;
        }

        public Criteria andThingNotIn(List<String> values) {
            addCriterion("THING not in", values, "thing");
            return (Criteria) this;
        }

        public Criteria andThingBetween(String value1, String value2) {
            addCriterion("THING between", value1, value2, "thing");
            return (Criteria) this;
        }

        public Criteria andThingNotBetween(String value1, String value2) {
            addCriterion("THING not between", value1, value2, "thing");
            return (Criteria) this;
        }

        public Criteria andMetricidIsNull() {
            addCriterion("METRICID is null");
            return (Criteria) this;
        }

        public Criteria andMetricidIsNotNull() {
            addCriterion("METRICID is not null");
            return (Criteria) this;
        }

        public Criteria andMetricidEqualTo(String value) {
            addCriterion("METRICID =", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidNotEqualTo(String value) {
            addCriterion("METRICID <>", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidGreaterThan(String value) {
            addCriterion("METRICID >", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidGreaterThanOrEqualTo(String value) {
            addCriterion("METRICID >=", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidLessThan(String value) {
            addCriterion("METRICID <", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidLessThanOrEqualTo(String value) {
            addCriterion("METRICID <=", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidLike(String value) {
            addCriterion("METRICID like", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidNotLike(String value) {
            addCriterion("METRICID not like", value, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidIn(List<String> values) {
            addCriterion("METRICID in", values, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidNotIn(List<String> values) {
            addCriterion("METRICID not in", values, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidBetween(String value1, String value2) {
            addCriterion("METRICID between", value1, value2, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricidNotBetween(String value1, String value2) {
            addCriterion("METRICID not between", value1, value2, "metricid");
            return (Criteria) this;
        }

        public Criteria andMetricnameIsNull() {
            addCriterion("METRICNAME is null");
            return (Criteria) this;
        }

        public Criteria andMetricnameIsNotNull() {
            addCriterion("METRICNAME is not null");
            return (Criteria) this;
        }

        public Criteria andMetricnameEqualTo(String value) {
            addCriterion("METRICNAME =", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameNotEqualTo(String value) {
            addCriterion("METRICNAME <>", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameGreaterThan(String value) {
            addCriterion("METRICNAME >", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameGreaterThanOrEqualTo(String value) {
            addCriterion("METRICNAME >=", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameLessThan(String value) {
            addCriterion("METRICNAME <", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameLessThanOrEqualTo(String value) {
            addCriterion("METRICNAME <=", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameLike(String value) {
            addCriterion("METRICNAME like", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameNotLike(String value) {
            addCriterion("METRICNAME not like", value, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameIn(List<String> values) {
            addCriterion("METRICNAME in", values, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameNotIn(List<String> values) {
            addCriterion("METRICNAME not in", values, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameBetween(String value1, String value2) {
            addCriterion("METRICNAME between", value1, value2, "metricname");
            return (Criteria) this;
        }

        public Criteria andMetricnameNotBetween(String value1, String value2) {
            addCriterion("METRICNAME not between", value1, value2, "metricname");
            return (Criteria) this;
        }

        public Criteria andUnitnameIsNull() {
            addCriterion("UNITNAME is null");
            return (Criteria) this;
        }

        public Criteria andUnitnameIsNotNull() {
            addCriterion("UNITNAME is not null");
            return (Criteria) this;
        }

        public Criteria andUnitnameEqualTo(String value) {
            addCriterion("UNITNAME =", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameNotEqualTo(String value) {
            addCriterion("UNITNAME <>", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameGreaterThan(String value) {
            addCriterion("UNITNAME >", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameGreaterThanOrEqualTo(String value) {
            addCriterion("UNITNAME >=", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameLessThan(String value) {
            addCriterion("UNITNAME <", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameLessThanOrEqualTo(String value) {
            addCriterion("UNITNAME <=", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameLike(String value) {
            addCriterion("UNITNAME like", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameNotLike(String value) {
            addCriterion("UNITNAME not like", value, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameIn(List<String> values) {
            addCriterion("UNITNAME in", values, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameNotIn(List<String> values) {
            addCriterion("UNITNAME not in", values, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameBetween(String value1, String value2) {
            addCriterion("UNITNAME between", value1, value2, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnameNotBetween(String value1, String value2) {
            addCriterion("UNITNAME not between", value1, value2, "unitname");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnIsNull() {
            addCriterion("UNITNAMECN is null");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnIsNotNull() {
            addCriterion("UNITNAMECN is not null");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnEqualTo(String value) {
            addCriterion("UNITNAMECN =", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnNotEqualTo(String value) {
            addCriterion("UNITNAMECN <>", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnGreaterThan(String value) {
            addCriterion("UNITNAMECN >", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnGreaterThanOrEqualTo(String value) {
            addCriterion("UNITNAMECN >=", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnLessThan(String value) {
            addCriterion("UNITNAMECN <", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnLessThanOrEqualTo(String value) {
            addCriterion("UNITNAMECN <=", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnLike(String value) {
            addCriterion("UNITNAMECN like", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnNotLike(String value) {
            addCriterion("UNITNAMECN not like", value, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnIn(List<String> values) {
            addCriterion("UNITNAMECN in", values, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnNotIn(List<String> values) {
            addCriterion("UNITNAMECN not in", values, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnBetween(String value1, String value2) {
            addCriterion("UNITNAMECN between", value1, value2, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andUnitnamecnNotBetween(String value1, String value2) {
            addCriterion("UNITNAMECN not between", value1, value2, "unitnamecn");
            return (Criteria) this;
        }

        public Criteria andThingsubIsNull() {
            addCriterion("THINGSUB is null");
            return (Criteria) this;
        }

        public Criteria andThingsubIsNotNull() {
            addCriterion("THINGSUB is not null");
            return (Criteria) this;
        }

        public Criteria andThingsubEqualTo(String value) {
            addCriterion("THINGSUB =", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubNotEqualTo(String value) {
            addCriterion("THINGSUB <>", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubGreaterThan(String value) {
            addCriterion("THINGSUB >", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubGreaterThanOrEqualTo(String value) {
            addCriterion("THINGSUB >=", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubLessThan(String value) {
            addCriterion("THINGSUB <", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubLessThanOrEqualTo(String value) {
            addCriterion("THINGSUB <=", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubLike(String value) {
            addCriterion("THINGSUB like", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubNotLike(String value) {
            addCriterion("THINGSUB not like", value, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubIn(List<String> values) {
            addCriterion("THINGSUB in", values, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubNotIn(List<String> values) {
            addCriterion("THINGSUB not in", values, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubBetween(String value1, String value2) {
            addCriterion("THINGSUB between", value1, value2, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubNotBetween(String value1, String value2) {
            addCriterion("THINGSUB not between", value1, value2, "thingsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubIsNull() {
            addCriterion("THINGSUBSUB is null");
            return (Criteria) this;
        }

        public Criteria andThingsubsubIsNotNull() {
            addCriterion("THINGSUBSUB is not null");
            return (Criteria) this;
        }

        public Criteria andThingsubsubEqualTo(String value) {
            addCriterion("THINGSUBSUB =", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubNotEqualTo(String value) {
            addCriterion("THINGSUBSUB <>", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubGreaterThan(String value) {
            addCriterion("THINGSUBSUB >", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubGreaterThanOrEqualTo(String value) {
            addCriterion("THINGSUBSUB >=", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubLessThan(String value) {
            addCriterion("THINGSUBSUB <", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubLessThanOrEqualTo(String value) {
            addCriterion("THINGSUBSUB <=", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubLike(String value) {
            addCriterion("THINGSUBSUB like", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubNotLike(String value) {
            addCriterion("THINGSUBSUB not like", value, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubIn(List<String> values) {
            addCriterion("THINGSUBSUB in", values, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubNotIn(List<String> values) {
            addCriterion("THINGSUBSUB not in", values, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubBetween(String value1, String value2) {
            addCriterion("THINGSUBSUB between", value1, value2, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andThingsubsubNotBetween(String value1, String value2) {
            addCriterion("THINGSUBSUB not between", value1, value2, "thingsubsub");
            return (Criteria) this;
        }

        public Criteria andCategorydataIsNull() {
            addCriterion("CATEGORYDATA is null");
            return (Criteria) this;
        }

        public Criteria andCategorydataIsNotNull() {
            addCriterion("CATEGORYDATA is not null");
            return (Criteria) this;
        }

        public Criteria andCategorydataEqualTo(String value) {
            addCriterion("CATEGORYDATA =", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataNotEqualTo(String value) {
            addCriterion("CATEGORYDATA <>", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataGreaterThan(String value) {
            addCriterion("CATEGORYDATA >", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataGreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYDATA >=", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataLessThan(String value) {
            addCriterion("CATEGORYDATA <", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataLessThanOrEqualTo(String value) {
            addCriterion("CATEGORYDATA <=", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataLike(String value) {
            addCriterion("CATEGORYDATA like", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataNotLike(String value) {
            addCriterion("CATEGORYDATA not like", value, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataIn(List<String> values) {
            addCriterion("CATEGORYDATA in", values, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataNotIn(List<String> values) {
            addCriterion("CATEGORYDATA not in", values, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataBetween(String value1, String value2) {
            addCriterion("CATEGORYDATA between", value1, value2, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorydataNotBetween(String value1, String value2) {
            addCriterion("CATEGORYDATA not between", value1, value2, "categorydata");
            return (Criteria) this;
        }

        public Criteria andCategorysciIsNull() {
            addCriterion("CATEGORYSCI is null");
            return (Criteria) this;
        }

        public Criteria andCategorysciIsNotNull() {
            addCriterion("CATEGORYSCI is not null");
            return (Criteria) this;
        }

        public Criteria andCategorysciEqualTo(String value) {
            addCriterion("CATEGORYSCI =", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciNotEqualTo(String value) {
            addCriterion("CATEGORYSCI <>", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciGreaterThan(String value) {
            addCriterion("CATEGORYSCI >", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciGreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYSCI >=", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciLessThan(String value) {
            addCriterion("CATEGORYSCI <", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciLessThanOrEqualTo(String value) {
            addCriterion("CATEGORYSCI <=", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciLike(String value) {
            addCriterion("CATEGORYSCI like", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciNotLike(String value) {
            addCriterion("CATEGORYSCI not like", value, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciIn(List<String> values) {
            addCriterion("CATEGORYSCI in", values, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciNotIn(List<String> values) {
            addCriterion("CATEGORYSCI not in", values, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciBetween(String value1, String value2) {
            addCriterion("CATEGORYSCI between", value1, value2, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysciNotBetween(String value1, String value2) {
            addCriterion("CATEGORYSCI not between", value1, value2, "categorysci");
            return (Criteria) this;
        }

        public Criteria andCategorysysIsNull() {
            addCriterion("CATEGORYSYS is null");
            return (Criteria) this;
        }

        public Criteria andCategorysysIsNotNull() {
            addCriterion("CATEGORYSYS is not null");
            return (Criteria) this;
        }

        public Criteria andCategorysysEqualTo(String value) {
            addCriterion("CATEGORYSYS =", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysNotEqualTo(String value) {
            addCriterion("CATEGORYSYS <>", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysGreaterThan(String value) {
            addCriterion("CATEGORYSYS >", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysGreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYSYS >=", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysLessThan(String value) {
            addCriterion("CATEGORYSYS <", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysLessThanOrEqualTo(String value) {
            addCriterion("CATEGORYSYS <=", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysLike(String value) {
            addCriterion("CATEGORYSYS like", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysNotLike(String value) {
            addCriterion("CATEGORYSYS not like", value, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysIn(List<String> values) {
            addCriterion("CATEGORYSYS in", values, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysNotIn(List<String> values) {
            addCriterion("CATEGORYSYS not in", values, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysBetween(String value1, String value2) {
            addCriterion("CATEGORYSYS between", value1, value2, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategorysysNotBetween(String value1, String value2) {
            addCriterion("CATEGORYSYS not between", value1, value2, "categorysys");
            return (Criteria) this;
        }

        public Criteria andCategoryres1IsNull() {
            addCriterion("CATEGORYRES1 is null");
            return (Criteria) this;
        }

        public Criteria andCategoryres1IsNotNull() {
            addCriterion("CATEGORYRES1 is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryres1EqualTo(String value) {
            addCriterion("CATEGORYRES1 =", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1NotEqualTo(String value) {
            addCriterion("CATEGORYRES1 <>", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1GreaterThan(String value) {
            addCriterion("CATEGORYRES1 >", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1GreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES1 >=", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1LessThan(String value) {
            addCriterion("CATEGORYRES1 <", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1LessThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES1 <=", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1Like(String value) {
            addCriterion("CATEGORYRES1 like", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1NotLike(String value) {
            addCriterion("CATEGORYRES1 not like", value, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1In(List<String> values) {
            addCriterion("CATEGORYRES1 in", values, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1NotIn(List<String> values) {
            addCriterion("CATEGORYRES1 not in", values, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1Between(String value1, String value2) {
            addCriterion("CATEGORYRES1 between", value1, value2, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres1NotBetween(String value1, String value2) {
            addCriterion("CATEGORYRES1 not between", value1, value2, "categoryres1");
            return (Criteria) this;
        }

        public Criteria andCategoryres2IsNull() {
            addCriterion("CATEGORYRES2 is null");
            return (Criteria) this;
        }

        public Criteria andCategoryres2IsNotNull() {
            addCriterion("CATEGORYRES2 is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryres2EqualTo(String value) {
            addCriterion("CATEGORYRES2 =", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2NotEqualTo(String value) {
            addCriterion("CATEGORYRES2 <>", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2GreaterThan(String value) {
            addCriterion("CATEGORYRES2 >", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2GreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES2 >=", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2LessThan(String value) {
            addCriterion("CATEGORYRES2 <", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2LessThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES2 <=", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2Like(String value) {
            addCriterion("CATEGORYRES2 like", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2NotLike(String value) {
            addCriterion("CATEGORYRES2 not like", value, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2In(List<String> values) {
            addCriterion("CATEGORYRES2 in", values, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2NotIn(List<String> values) {
            addCriterion("CATEGORYRES2 not in", values, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2Between(String value1, String value2) {
            addCriterion("CATEGORYRES2 between", value1, value2, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres2NotBetween(String value1, String value2) {
            addCriterion("CATEGORYRES2 not between", value1, value2, "categoryres2");
            return (Criteria) this;
        }

        public Criteria andCategoryres3IsNull() {
            addCriterion("CATEGORYRES3 is null");
            return (Criteria) this;
        }

        public Criteria andCategoryres3IsNotNull() {
            addCriterion("CATEGORYRES3 is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryres3EqualTo(String value) {
            addCriterion("CATEGORYRES3 =", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3NotEqualTo(String value) {
            addCriterion("CATEGORYRES3 <>", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3GreaterThan(String value) {
            addCriterion("CATEGORYRES3 >", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3GreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES3 >=", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3LessThan(String value) {
            addCriterion("CATEGORYRES3 <", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3LessThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES3 <=", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3Like(String value) {
            addCriterion("CATEGORYRES3 like", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3NotLike(String value) {
            addCriterion("CATEGORYRES3 not like", value, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3In(List<String> values) {
            addCriterion("CATEGORYRES3 in", values, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3NotIn(List<String> values) {
            addCriterion("CATEGORYRES3 not in", values, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3Between(String value1, String value2) {
            addCriterion("CATEGORYRES3 between", value1, value2, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres3NotBetween(String value1, String value2) {
            addCriterion("CATEGORYRES3 not between", value1, value2, "categoryres3");
            return (Criteria) this;
        }

        public Criteria andCategoryres4IsNull() {
            addCriterion("CATEGORYRES4 is null");
            return (Criteria) this;
        }

        public Criteria andCategoryres4IsNotNull() {
            addCriterion("CATEGORYRES4 is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryres4EqualTo(String value) {
            addCriterion("CATEGORYRES4 =", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4NotEqualTo(String value) {
            addCriterion("CATEGORYRES4 <>", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4GreaterThan(String value) {
            addCriterion("CATEGORYRES4 >", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4GreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES4 >=", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4LessThan(String value) {
            addCriterion("CATEGORYRES4 <", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4LessThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES4 <=", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4Like(String value) {
            addCriterion("CATEGORYRES4 like", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4NotLike(String value) {
            addCriterion("CATEGORYRES4 not like", value, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4In(List<String> values) {
            addCriterion("CATEGORYRES4 in", values, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4NotIn(List<String> values) {
            addCriterion("CATEGORYRES4 not in", values, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4Between(String value1, String value2) {
            addCriterion("CATEGORYRES4 between", value1, value2, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres4NotBetween(String value1, String value2) {
            addCriterion("CATEGORYRES4 not between", value1, value2, "categoryres4");
            return (Criteria) this;
        }

        public Criteria andCategoryres5IsNull() {
            addCriterion("CATEGORYRES5 is null");
            return (Criteria) this;
        }

        public Criteria andCategoryres5IsNotNull() {
            addCriterion("CATEGORYRES5 is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryres5EqualTo(String value) {
            addCriterion("CATEGORYRES5 =", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5NotEqualTo(String value) {
            addCriterion("CATEGORYRES5 <>", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5GreaterThan(String value) {
            addCriterion("CATEGORYRES5 >", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5GreaterThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES5 >=", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5LessThan(String value) {
            addCriterion("CATEGORYRES5 <", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5LessThanOrEqualTo(String value) {
            addCriterion("CATEGORYRES5 <=", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5Like(String value) {
            addCriterion("CATEGORYRES5 like", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5NotLike(String value) {
            addCriterion("CATEGORYRES5 not like", value, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5In(List<String> values) {
            addCriterion("CATEGORYRES5 in", values, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5NotIn(List<String> values) {
            addCriterion("CATEGORYRES5 not in", values, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5Between(String value1, String value2) {
            addCriterion("CATEGORYRES5 between", value1, value2, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andCategoryres5NotBetween(String value1, String value2) {
            addCriterion("CATEGORYRES5 not between", value1, value2, "categoryres5");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("DESCRIPTION is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("DESCRIPTION is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("DESCRIPTION =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("DESCRIPTION <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("DESCRIPTION >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("DESCRIPTION >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("DESCRIPTION <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("DESCRIPTION <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("DESCRIPTION like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("DESCRIPTION not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("DESCRIPTION in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("DESCRIPTION not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("DESCRIPTION between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("DESCRIPTION not between", value1, value2, "description");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table METRICS
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

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

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

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

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

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

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

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