package com.mvc.entity;

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

public class TExtendIdentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

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

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

    public String getOrderByClause() {
        return orderByClause;
    }

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

    public boolean isDistinct() {
        return distinct;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andAireadIdIsNull() {
            addCriterion("AIREAD_ID is null");
            return (Criteria) this;
        }

        public Criteria andAireadIdIsNotNull() {
            addCriterion("AIREAD_ID is not null");
            return (Criteria) this;
        }

        public Criteria andAireadIdEqualTo(Integer value) {
            addCriterion("AIREAD_ID =", value, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdNotEqualTo(Integer value) {
            addCriterion("AIREAD_ID <>", value, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdGreaterThan(Integer value) {
            addCriterion("AIREAD_ID >", value, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("AIREAD_ID >=", value, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdLessThan(Integer value) {
            addCriterion("AIREAD_ID <", value, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdLessThanOrEqualTo(Integer value) {
            addCriterion("AIREAD_ID <=", value, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdIn(List<Integer> values) {
            addCriterion("AIREAD_ID in", values, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdNotIn(List<Integer> values) {
            addCriterion("AIREAD_ID not in", values, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdBetween(Integer value1, Integer value2) {
            addCriterion("AIREAD_ID between", value1, value2, "aireadId");
            return (Criteria) this;
        }

        public Criteria andAireadIdNotBetween(Integer value1, Integer value2) {
            addCriterion("AIREAD_ID not between", value1, value2, "aireadId");
            return (Criteria) this;
        }

        public Criteria andDeviceSnIsNull() {
            addCriterion("DEVICE_SN is null");
            return (Criteria) this;
        }

        public Criteria andDeviceSnIsNotNull() {
            addCriterion("DEVICE_SN is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceSnEqualTo(String value) {
            addCriterion("DEVICE_SN =", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnNotEqualTo(String value) {
            addCriterion("DEVICE_SN <>", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnGreaterThan(String value) {
            addCriterion("DEVICE_SN >", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnGreaterThanOrEqualTo(String value) {
            addCriterion("DEVICE_SN >=", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnLessThan(String value) {
            addCriterion("DEVICE_SN <", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnLessThanOrEqualTo(String value) {
            addCriterion("DEVICE_SN <=", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnLike(String value) {
            addCriterion("DEVICE_SN like", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnNotLike(String value) {
            addCriterion("DEVICE_SN not like", value, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnIn(List<String> values) {
            addCriterion("DEVICE_SN in", values, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnNotIn(List<String> values) {
            addCriterion("DEVICE_SN not in", values, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnBetween(String value1, String value2) {
            addCriterion("DEVICE_SN between", value1, value2, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andDeviceSnNotBetween(String value1, String value2) {
            addCriterion("DEVICE_SN not between", value1, value2, "deviceSn");
            return (Criteria) this;
        }

        public Criteria andStationCodeIsNull() {
            addCriterion("STATION_CODE is null");
            return (Criteria) this;
        }

        public Criteria andStationCodeIsNotNull() {
            addCriterion("STATION_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andStationCodeEqualTo(String value) {
            addCriterion("STATION_CODE =", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotEqualTo(String value) {
            addCriterion("STATION_CODE <>", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeGreaterThan(String value) {
            addCriterion("STATION_CODE >", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeGreaterThanOrEqualTo(String value) {
            addCriterion("STATION_CODE >=", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeLessThan(String value) {
            addCriterion("STATION_CODE <", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeLessThanOrEqualTo(String value) {
            addCriterion("STATION_CODE <=", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeLike(String value) {
            addCriterion("STATION_CODE like", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotLike(String value) {
            addCriterion("STATION_CODE not like", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeIn(List<String> values) {
            addCriterion("STATION_CODE in", values, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotIn(List<String> values) {
            addCriterion("STATION_CODE not in", values, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeBetween(String value1, String value2) {
            addCriterion("STATION_CODE between", value1, value2, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotBetween(String value1, String value2) {
            addCriterion("STATION_CODE not between", value1, value2, "stationCode");
            return (Criteria) this;
        }

        public Criteria andIdentTypeIsNull() {
            addCriterion("IDENT_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andIdentTypeIsNotNull() {
            addCriterion("IDENT_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andIdentTypeEqualTo(Integer value) {
            addCriterion("IDENT_TYPE =", value, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeNotEqualTo(Integer value) {
            addCriterion("IDENT_TYPE <>", value, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeGreaterThan(Integer value) {
            addCriterion("IDENT_TYPE >", value, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("IDENT_TYPE >=", value, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeLessThan(Integer value) {
            addCriterion("IDENT_TYPE <", value, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeLessThanOrEqualTo(Integer value) {
            addCriterion("IDENT_TYPE <=", value, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeIn(List<Integer> values) {
            addCriterion("IDENT_TYPE in", values, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeNotIn(List<Integer> values) {
            addCriterion("IDENT_TYPE not in", values, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeBetween(Integer value1, Integer value2) {
            addCriterion("IDENT_TYPE between", value1, value2, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("IDENT_TYPE not between", value1, value2, "identType");
            return (Criteria) this;
        }

        public Criteria andIdentTimeIsNull() {
            addCriterion("IDENT_TIME is null");
            return (Criteria) this;
        }

        public Criteria andIdentTimeIsNotNull() {
            addCriterion("IDENT_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andIdentTimeEqualTo(Date value) {
            addCriterion("IDENT_TIME =", value, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeNotEqualTo(Date value) {
            addCriterion("IDENT_TIME <>", value, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeGreaterThan(Date value) {
            addCriterion("IDENT_TIME >", value, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("IDENT_TIME >=", value, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeLessThan(Date value) {
            addCriterion("IDENT_TIME <", value, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeLessThanOrEqualTo(Date value) {
            addCriterion("IDENT_TIME <=", value, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeIn(List<Date> values) {
            addCriterion("IDENT_TIME in", values, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeNotIn(List<Date> values) {
            addCriterion("IDENT_TIME not in", values, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeBetween(Date value1, Date value2) {
            addCriterion("IDENT_TIME between", value1, value2, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentTimeNotBetween(Date value1, Date value2) {
            addCriterion("IDENT_TIME not between", value1, value2, "identTime");
            return (Criteria) this;
        }

        public Criteria andIdentValueIsNull() {
            addCriterion("IDENT_VALUE is null");
            return (Criteria) this;
        }

        public Criteria andIdentValueIsNotNull() {
            addCriterion("IDENT_VALUE is not null");
            return (Criteria) this;
        }

        public Criteria andIdentValueEqualTo(BigDecimal value) {
            addCriterion("IDENT_VALUE =", value, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueNotEqualTo(BigDecimal value) {
            addCriterion("IDENT_VALUE <>", value, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueGreaterThan(BigDecimal value) {
            addCriterion("IDENT_VALUE >", value, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("IDENT_VALUE >=", value, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueLessThan(BigDecimal value) {
            addCriterion("IDENT_VALUE <", value, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueLessThanOrEqualTo(BigDecimal value) {
            addCriterion("IDENT_VALUE <=", value, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueIn(List<BigDecimal> values) {
            addCriterion("IDENT_VALUE in", values, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueNotIn(List<BigDecimal> values) {
            addCriterion("IDENT_VALUE not in", values, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("IDENT_VALUE between", value1, value2, "identValue");
            return (Criteria) this;
        }

        public Criteria andIdentValueNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("IDENT_VALUE not between", value1, value2, "identValue");
            return (Criteria) this;
        }

        public Criteria andResultCodeIsNull() {
            addCriterion("RESULT_CODE is null");
            return (Criteria) this;
        }

        public Criteria andResultCodeIsNotNull() {
            addCriterion("RESULT_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andResultCodeEqualTo(Integer value) {
            addCriterion("RESULT_CODE =", value, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeNotEqualTo(Integer value) {
            addCriterion("RESULT_CODE <>", value, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeGreaterThan(Integer value) {
            addCriterion("RESULT_CODE >", value, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("RESULT_CODE >=", value, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeLessThan(Integer value) {
            addCriterion("RESULT_CODE <", value, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeLessThanOrEqualTo(Integer value) {
            addCriterion("RESULT_CODE <=", value, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeIn(List<Integer> values) {
            addCriterion("RESULT_CODE in", values, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeNotIn(List<Integer> values) {
            addCriterion("RESULT_CODE not in", values, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeBetween(Integer value1, Integer value2) {
            addCriterion("RESULT_CODE between", value1, value2, "resultCode");
            return (Criteria) this;
        }

        public Criteria andResultCodeNotBetween(Integer value1, Integer value2) {
            addCriterion("RESULT_CODE not between", value1, value2, "resultCode");
            return (Criteria) this;
        }

        public Criteria andDigitNumIsNull() {
            addCriterion("DIGIT_NUM is null");
            return (Criteria) this;
        }

        public Criteria andDigitNumIsNotNull() {
            addCriterion("DIGIT_NUM is not null");
            return (Criteria) this;
        }

        public Criteria andDigitNumEqualTo(Integer value) {
            addCriterion("DIGIT_NUM =", value, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumNotEqualTo(Integer value) {
            addCriterion("DIGIT_NUM <>", value, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumGreaterThan(Integer value) {
            addCriterion("DIGIT_NUM >", value, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("DIGIT_NUM >=", value, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumLessThan(Integer value) {
            addCriterion("DIGIT_NUM <", value, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumLessThanOrEqualTo(Integer value) {
            addCriterion("DIGIT_NUM <=", value, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumIn(List<Integer> values) {
            addCriterion("DIGIT_NUM in", values, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumNotIn(List<Integer> values) {
            addCriterion("DIGIT_NUM not in", values, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumBetween(Integer value1, Integer value2) {
            addCriterion("DIGIT_NUM between", value1, value2, "digitNum");
            return (Criteria) this;
        }

        public Criteria andDigitNumNotBetween(Integer value1, Integer value2) {
            addCriterion("DIGIT_NUM not between", value1, value2, "digitNum");
            return (Criteria) this;
        }

        public Criteria andUnitTypeIsNull() {
            addCriterion("UNIT_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andUnitTypeIsNotNull() {
            addCriterion("UNIT_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andUnitTypeEqualTo(Integer value) {
            addCriterion("UNIT_TYPE =", value, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeNotEqualTo(Integer value) {
            addCriterion("UNIT_TYPE <>", value, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeGreaterThan(Integer value) {
            addCriterion("UNIT_TYPE >", value, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("UNIT_TYPE >=", value, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeLessThan(Integer value) {
            addCriterion("UNIT_TYPE <", value, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeLessThanOrEqualTo(Integer value) {
            addCriterion("UNIT_TYPE <=", value, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeIn(List<Integer> values) {
            addCriterion("UNIT_TYPE in", values, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeNotIn(List<Integer> values) {
            addCriterion("UNIT_TYPE not in", values, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeBetween(Integer value1, Integer value2) {
            addCriterion("UNIT_TYPE between", value1, value2, "unitType");
            return (Criteria) this;
        }

        public Criteria andUnitTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("UNIT_TYPE not between", value1, value2, "unitType");
            return (Criteria) this;
        }

        public Criteria andRotateAngleIsNull() {
            addCriterion("ROTATE_ANGLE is null");
            return (Criteria) this;
        }

        public Criteria andRotateAngleIsNotNull() {
            addCriterion("ROTATE_ANGLE is not null");
            return (Criteria) this;
        }

        public Criteria andRotateAngleEqualTo(Integer value) {
            addCriterion("ROTATE_ANGLE =", value, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleNotEqualTo(Integer value) {
            addCriterion("ROTATE_ANGLE <>", value, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleGreaterThan(Integer value) {
            addCriterion("ROTATE_ANGLE >", value, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleGreaterThanOrEqualTo(Integer value) {
            addCriterion("ROTATE_ANGLE >=", value, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleLessThan(Integer value) {
            addCriterion("ROTATE_ANGLE <", value, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleLessThanOrEqualTo(Integer value) {
            addCriterion("ROTATE_ANGLE <=", value, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleIn(List<Integer> values) {
            addCriterion("ROTATE_ANGLE in", values, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleNotIn(List<Integer> values) {
            addCriterion("ROTATE_ANGLE not in", values, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleBetween(Integer value1, Integer value2) {
            addCriterion("ROTATE_ANGLE between", value1, value2, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andRotateAngleNotBetween(Integer value1, Integer value2) {
            addCriterion("ROTATE_ANGLE not between", value1, value2, "rotateAngle");
            return (Criteria) this;
        }

        public Criteria andImagePathIsNull() {
            addCriterion("IMAGE_PATH is null");
            return (Criteria) this;
        }

        public Criteria andImagePathIsNotNull() {
            addCriterion("IMAGE_PATH is not null");
            return (Criteria) this;
        }

        public Criteria andImagePathEqualTo(String value) {
            addCriterion("IMAGE_PATH =", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathNotEqualTo(String value) {
            addCriterion("IMAGE_PATH <>", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathGreaterThan(String value) {
            addCriterion("IMAGE_PATH >", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathGreaterThanOrEqualTo(String value) {
            addCriterion("IMAGE_PATH >=", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathLessThan(String value) {
            addCriterion("IMAGE_PATH <", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathLessThanOrEqualTo(String value) {
            addCriterion("IMAGE_PATH <=", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathLike(String value) {
            addCriterion("IMAGE_PATH like", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathNotLike(String value) {
            addCriterion("IMAGE_PATH not like", value, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathIn(List<String> values) {
            addCriterion("IMAGE_PATH in", values, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathNotIn(List<String> values) {
            addCriterion("IMAGE_PATH not in", values, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathBetween(String value1, String value2) {
            addCriterion("IMAGE_PATH between", value1, value2, "imagePath");
            return (Criteria) this;
        }

        public Criteria andImagePathNotBetween(String value1, String value2) {
            addCriterion("IMAGE_PATH not between", value1, value2, "imagePath");
            return (Criteria) this;
        }

        public Criteria andDebugInfoIsNull() {
            addCriterion("DEBUG_INFO is null");
            return (Criteria) this;
        }

        public Criteria andDebugInfoIsNotNull() {
            addCriterion("DEBUG_INFO is not null");
            return (Criteria) this;
        }

        public Criteria andDebugInfoEqualTo(String value) {
            addCriterion("DEBUG_INFO =", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoNotEqualTo(String value) {
            addCriterion("DEBUG_INFO <>", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoGreaterThan(String value) {
            addCriterion("DEBUG_INFO >", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoGreaterThanOrEqualTo(String value) {
            addCriterion("DEBUG_INFO >=", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoLessThan(String value) {
            addCriterion("DEBUG_INFO <", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoLessThanOrEqualTo(String value) {
            addCriterion("DEBUG_INFO <=", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoLike(String value) {
            addCriterion("DEBUG_INFO like", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoNotLike(String value) {
            addCriterion("DEBUG_INFO not like", value, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoIn(List<String> values) {
            addCriterion("DEBUG_INFO in", values, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoNotIn(List<String> values) {
            addCriterion("DEBUG_INFO not in", values, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoBetween(String value1, String value2) {
            addCriterion("DEBUG_INFO between", value1, value2, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andDebugInfoNotBetween(String value1, String value2) {
            addCriterion("DEBUG_INFO not between", value1, value2, "debugInfo");
            return (Criteria) this;
        }

        public Criteria andNumberRegionIsNull() {
            addCriterion("NUMBER_REGION is null");
            return (Criteria) this;
        }

        public Criteria andNumberRegionIsNotNull() {
            addCriterion("NUMBER_REGION is not null");
            return (Criteria) this;
        }

        public Criteria andNumberRegionEqualTo(String value) {
            addCriterion("NUMBER_REGION =", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionNotEqualTo(String value) {
            addCriterion("NUMBER_REGION <>", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionGreaterThan(String value) {
            addCriterion("NUMBER_REGION >", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionGreaterThanOrEqualTo(String value) {
            addCriterion("NUMBER_REGION >=", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionLessThan(String value) {
            addCriterion("NUMBER_REGION <", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionLessThanOrEqualTo(String value) {
            addCriterion("NUMBER_REGION <=", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionLike(String value) {
            addCriterion("NUMBER_REGION like", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionNotLike(String value) {
            addCriterion("NUMBER_REGION not like", value, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionIn(List<String> values) {
            addCriterion("NUMBER_REGION in", values, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionNotIn(List<String> values) {
            addCriterion("NUMBER_REGION not in", values, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionBetween(String value1, String value2) {
            addCriterion("NUMBER_REGION between", value1, value2, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andNumberRegionNotBetween(String value1, String value2) {
            addCriterion("NUMBER_REGION not between", value1, value2, "numberRegion");
            return (Criteria) this;
        }

        public Criteria andImageQualityIsNull() {
            addCriterion("IMAGE_QUALITY is null");
            return (Criteria) this;
        }

        public Criteria andImageQualityIsNotNull() {
            addCriterion("IMAGE_QUALITY is not null");
            return (Criteria) this;
        }

        public Criteria andImageQualityEqualTo(Integer value) {
            addCriterion("IMAGE_QUALITY =", value, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityNotEqualTo(Integer value) {
            addCriterion("IMAGE_QUALITY <>", value, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityGreaterThan(Integer value) {
            addCriterion("IMAGE_QUALITY >", value, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityGreaterThanOrEqualTo(Integer value) {
            addCriterion("IMAGE_QUALITY >=", value, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityLessThan(Integer value) {
            addCriterion("IMAGE_QUALITY <", value, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityLessThanOrEqualTo(Integer value) {
            addCriterion("IMAGE_QUALITY <=", value, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityIn(List<Integer> values) {
            addCriterion("IMAGE_QUALITY in", values, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityNotIn(List<Integer> values) {
            addCriterion("IMAGE_QUALITY not in", values, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityBetween(Integer value1, Integer value2) {
            addCriterion("IMAGE_QUALITY between", value1, value2, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andImageQualityNotBetween(Integer value1, Integer value2) {
            addCriterion("IMAGE_QUALITY not between", value1, value2, "imageQuality");
            return (Criteria) this;
        }

        public Criteria andMaxFlowIsNull() {
            addCriterion("MAX_FLOW is null");
            return (Criteria) this;
        }

        public Criteria andMaxFlowIsNotNull() {
            addCriterion("MAX_FLOW is not null");
            return (Criteria) this;
        }

        public Criteria andMaxFlowEqualTo(BigDecimal value) {
            addCriterion("MAX_FLOW =", value, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowNotEqualTo(BigDecimal value) {
            addCriterion("MAX_FLOW <>", value, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowGreaterThan(BigDecimal value) {
            addCriterion("MAX_FLOW >", value, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("MAX_FLOW >=", value, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowLessThan(BigDecimal value) {
            addCriterion("MAX_FLOW <", value, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowLessThanOrEqualTo(BigDecimal value) {
            addCriterion("MAX_FLOW <=", value, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowIn(List<BigDecimal> values) {
            addCriterion("MAX_FLOW in", values, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowNotIn(List<BigDecimal> values) {
            addCriterion("MAX_FLOW not in", values, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MAX_FLOW between", value1, value2, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMaxFlowNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MAX_FLOW not between", value1, value2, "maxFlow");
            return (Criteria) this;
        }

        public Criteria andMeterTypeIsNull() {
            addCriterion("METER_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andMeterTypeIsNotNull() {
            addCriterion("METER_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andMeterTypeEqualTo(Integer value) {
            addCriterion("METER_TYPE =", value, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeNotEqualTo(Integer value) {
            addCriterion("METER_TYPE <>", value, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeGreaterThan(Integer value) {
            addCriterion("METER_TYPE >", value, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("METER_TYPE >=", value, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeLessThan(Integer value) {
            addCriterion("METER_TYPE <", value, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeLessThanOrEqualTo(Integer value) {
            addCriterion("METER_TYPE <=", value, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeIn(List<Integer> values) {
            addCriterion("METER_TYPE in", values, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeNotIn(List<Integer> values) {
            addCriterion("METER_TYPE not in", values, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeBetween(Integer value1, Integer value2) {
            addCriterion("METER_TYPE between", value1, value2, "meterType");
            return (Criteria) this;
        }

        public Criteria andMeterTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("METER_TYPE not between", value1, value2, "meterType");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnIsNull() {
            addCriterion("NUM_RUN_CNN is null");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnIsNotNull() {
            addCriterion("NUM_RUN_CNN is not null");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnEqualTo(Integer value) {
            addCriterion("NUM_RUN_CNN =", value, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnNotEqualTo(Integer value) {
            addCriterion("NUM_RUN_CNN <>", value, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnGreaterThan(Integer value) {
            addCriterion("NUM_RUN_CNN >", value, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnGreaterThanOrEqualTo(Integer value) {
            addCriterion("NUM_RUN_CNN >=", value, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnLessThan(Integer value) {
            addCriterion("NUM_RUN_CNN <", value, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnLessThanOrEqualTo(Integer value) {
            addCriterion("NUM_RUN_CNN <=", value, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnIn(List<Integer> values) {
            addCriterion("NUM_RUN_CNN in", values, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnNotIn(List<Integer> values) {
            addCriterion("NUM_RUN_CNN not in", values, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnBetween(Integer value1, Integer value2) {
            addCriterion("NUM_RUN_CNN between", value1, value2, "numRunCnn");
            return (Criteria) this;
        }

        public Criteria andNumRunCnnNotBetween(Integer value1, Integer value2) {
            addCriterion("NUM_RUN_CNN not between", value1, value2, "numRunCnn");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

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

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

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

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

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