package org.linlinjava.jz.db.domain;

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

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

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

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

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

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

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

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

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

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hm_employ_relation
     *
     * @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 hm_employ_relation
     *
     * @mbg.generated
     */
    public HmEmployRelationExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hm_employ_relation
     *
     * @mbg.generated
     */
    public HmEmployRelationExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hm_employ_relation
     *
     * @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 hm_employ_relation
     *
     * @mbg.generated
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hm_employ_relation
     *
     * @mbg.generated
     */
    public static Criteria newAndCreateCriteria() {
        HmEmployRelationExample example = new HmEmployRelationExample();
        return example.createCriteria();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hm_employ_relation
     *
     * @mbg.generated
     */
    public HmEmployRelationExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hm_employ_relation
     *
     * @mbg.generated
     */
    public HmEmployRelationExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table hm_employ_relation
     *
     * @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(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

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

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

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

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(String value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("order_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(String value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("order_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(String value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("order_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("order_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(String value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("order_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(String value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("order_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNoLike(String value) {
            addCriterion("order_no like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotLike(String value) {
            addCriterion("order_no not like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<String> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<String> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(String value1, String value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(String value1, String value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andUserServantIdIsNull() {
            addCriterion("user_servant_id is null");
            return (Criteria) this;
        }

        public Criteria andUserServantIdIsNotNull() {
            addCriterion("user_servant_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserServantIdEqualTo(Long value) {
            addCriterion("user_servant_id =", value, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_servant_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserServantIdNotEqualTo(Long value) {
            addCriterion("user_servant_id <>", value, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_servant_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserServantIdGreaterThan(Long value) {
            addCriterion("user_servant_id >", value, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_servant_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserServantIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_servant_id >=", value, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_servant_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserServantIdLessThan(Long value) {
            addCriterion("user_servant_id <", value, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_servant_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserServantIdLessThanOrEqualTo(Long value) {
            addCriterion("user_servant_id <=", value, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_servant_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserServantIdIn(List<Long> values) {
            addCriterion("user_servant_id in", values, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdNotIn(List<Long> values) {
            addCriterion("user_servant_id not in", values, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdBetween(Long value1, Long value2) {
            addCriterion("user_servant_id between", value1, value2, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserServantIdNotBetween(Long value1, Long value2) {
            addCriterion("user_servant_id not between", value1, value2, "userServantId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdIsNull() {
            addCriterion("user_employer_id is null");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdIsNotNull() {
            addCriterion("user_employer_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdEqualTo(Long value) {
            addCriterion("user_employer_id =", value, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_employer_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdNotEqualTo(Long value) {
            addCriterion("user_employer_id <>", value, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_employer_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdGreaterThan(Long value) {
            addCriterion("user_employer_id >", value, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_employer_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_employer_id >=", value, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_employer_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdLessThan(Long value) {
            addCriterion("user_employer_id <", value, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_employer_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdLessThanOrEqualTo(Long value) {
            addCriterion("user_employer_id <=", value, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_employer_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdIn(List<Long> values) {
            addCriterion("user_employer_id in", values, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdNotIn(List<Long> values) {
            addCriterion("user_employer_id not in", values, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdBetween(Long value1, Long value2) {
            addCriterion("user_employer_id between", value1, value2, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserEmployerIdNotBetween(Long value1, Long value2) {
            addCriterion("user_employer_id not between", value1, value2, "userEmployerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdIsNull() {
            addCriterion("user_butler_id is null");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdIsNotNull() {
            addCriterion("user_butler_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdEqualTo(Long value) {
            addCriterion("user_butler_id =", value, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_butler_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserButlerIdNotEqualTo(Long value) {
            addCriterion("user_butler_id <>", value, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_butler_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserButlerIdGreaterThan(Long value) {
            addCriterion("user_butler_id >", value, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_butler_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserButlerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_butler_id >=", value, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_butler_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserButlerIdLessThan(Long value) {
            addCriterion("user_butler_id <", value, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_butler_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserButlerIdLessThanOrEqualTo(Long value) {
            addCriterion("user_butler_id <=", value, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("user_butler_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserButlerIdIn(List<Long> values) {
            addCriterion("user_butler_id in", values, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdNotIn(List<Long> values) {
            addCriterion("user_butler_id not in", values, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdBetween(Long value1, Long value2) {
            addCriterion("user_butler_id between", value1, value2, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andUserButlerIdNotBetween(Long value1, Long value2) {
            addCriterion("user_butler_id not between", value1, value2, "userButlerId");
            return (Criteria) this;
        }

        public Criteria andServantNameIsNull() {
            addCriterion("servant_name is null");
            return (Criteria) this;
        }

        public Criteria andServantNameIsNotNull() {
            addCriterion("servant_name is not null");
            return (Criteria) this;
        }

        public Criteria andServantNameEqualTo(String value) {
            addCriterion("servant_name =", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("servant_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantNameNotEqualTo(String value) {
            addCriterion("servant_name <>", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("servant_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantNameGreaterThan(String value) {
            addCriterion("servant_name >", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("servant_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantNameGreaterThanOrEqualTo(String value) {
            addCriterion("servant_name >=", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("servant_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantNameLessThan(String value) {
            addCriterion("servant_name <", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("servant_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantNameLessThanOrEqualTo(String value) {
            addCriterion("servant_name <=", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("servant_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantNameLike(String value) {
            addCriterion("servant_name like", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameNotLike(String value) {
            addCriterion("servant_name not like", value, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameIn(List<String> values) {
            addCriterion("servant_name in", values, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameNotIn(List<String> values) {
            addCriterion("servant_name not in", values, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameBetween(String value1, String value2) {
            addCriterion("servant_name between", value1, value2, "servantName");
            return (Criteria) this;
        }

        public Criteria andServantNameNotBetween(String value1, String value2) {
            addCriterion("servant_name not between", value1, value2, "servantName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameIsNull() {
            addCriterion("employer_name is null");
            return (Criteria) this;
        }

        public Criteria andEmployerNameIsNotNull() {
            addCriterion("employer_name is not null");
            return (Criteria) this;
        }

        public Criteria andEmployerNameEqualTo(String value) {
            addCriterion("employer_name =", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("employer_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEmployerNameNotEqualTo(String value) {
            addCriterion("employer_name <>", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("employer_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEmployerNameGreaterThan(String value) {
            addCriterion("employer_name >", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("employer_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEmployerNameGreaterThanOrEqualTo(String value) {
            addCriterion("employer_name >=", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("employer_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEmployerNameLessThan(String value) {
            addCriterion("employer_name <", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("employer_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEmployerNameLessThanOrEqualTo(String value) {
            addCriterion("employer_name <=", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("employer_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEmployerNameLike(String value) {
            addCriterion("employer_name like", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameNotLike(String value) {
            addCriterion("employer_name not like", value, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameIn(List<String> values) {
            addCriterion("employer_name in", values, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameNotIn(List<String> values) {
            addCriterion("employer_name not in", values, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameBetween(String value1, String value2) {
            addCriterion("employer_name between", value1, value2, "employerName");
            return (Criteria) this;
        }

        public Criteria andEmployerNameNotBetween(String value1, String value2) {
            addCriterion("employer_name not between", value1, value2, "employerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameIsNull() {
            addCriterion("butler_name is null");
            return (Criteria) this;
        }

        public Criteria andButlerNameIsNotNull() {
            addCriterion("butler_name is not null");
            return (Criteria) this;
        }

        public Criteria andButlerNameEqualTo(String value) {
            addCriterion("butler_name =", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerNameNotEqualTo(String value) {
            addCriterion("butler_name <>", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerNameGreaterThan(String value) {
            addCriterion("butler_name >", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerNameGreaterThanOrEqualTo(String value) {
            addCriterion("butler_name >=", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerNameLessThan(String value) {
            addCriterion("butler_name <", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerNameLessThanOrEqualTo(String value) {
            addCriterion("butler_name <=", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerNameLike(String value) {
            addCriterion("butler_name like", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameNotLike(String value) {
            addCriterion("butler_name not like", value, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameIn(List<String> values) {
            addCriterion("butler_name in", values, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameNotIn(List<String> values) {
            addCriterion("butler_name not in", values, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameBetween(String value1, String value2) {
            addCriterion("butler_name between", value1, value2, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerNameNotBetween(String value1, String value2) {
            addCriterion("butler_name not between", value1, value2, "butlerName");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmIsNull() {
            addCriterion("butler_first_confirm is null");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmIsNotNull() {
            addCriterion("butler_first_confirm is not null");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmEqualTo(Integer value) {
            addCriterion("butler_first_confirm =", value, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_first_confirm = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmNotEqualTo(Integer value) {
            addCriterion("butler_first_confirm <>", value, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_first_confirm <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmGreaterThan(Integer value) {
            addCriterion("butler_first_confirm >", value, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_first_confirm > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmGreaterThanOrEqualTo(Integer value) {
            addCriterion("butler_first_confirm >=", value, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_first_confirm >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmLessThan(Integer value) {
            addCriterion("butler_first_confirm <", value, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_first_confirm < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmLessThanOrEqualTo(Integer value) {
            addCriterion("butler_first_confirm <=", value, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("butler_first_confirm <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmIn(List<Integer> values) {
            addCriterion("butler_first_confirm in", values, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmNotIn(List<Integer> values) {
            addCriterion("butler_first_confirm not in", values, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmBetween(Integer value1, Integer value2) {
            addCriterion("butler_first_confirm between", value1, value2, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andButlerFirstConfirmNotBetween(Integer value1, Integer value2) {
            addCriterion("butler_first_confirm not between", value1, value2, "butlerFirstConfirm");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeIsNull() {
            addCriterion("first_service_time is null");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeIsNotNull() {
            addCriterion("first_service_time is not null");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeEqualTo(LocalDateTime value) {
            addCriterion("first_service_time =", value, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("first_service_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeNotEqualTo(LocalDateTime value) {
            addCriterion("first_service_time <>", value, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("first_service_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeGreaterThan(LocalDateTime value) {
            addCriterion("first_service_time >", value, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("first_service_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("first_service_time >=", value, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("first_service_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeLessThan(LocalDateTime value) {
            addCriterion("first_service_time <", value, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("first_service_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("first_service_time <=", value, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("first_service_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeIn(List<LocalDateTime> values) {
            addCriterion("first_service_time in", values, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeNotIn(List<LocalDateTime> values) {
            addCriterion("first_service_time not in", values, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("first_service_time between", value1, value2, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andFirstServiceTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("first_service_time not between", value1, value2, "firstServiceTime");
            return (Criteria) this;
        }

        public Criteria andRestModeIsNull() {
            addCriterion("rest_mode is null");
            return (Criteria) this;
        }

        public Criteria andRestModeIsNotNull() {
            addCriterion("rest_mode is not null");
            return (Criteria) this;
        }

        public Criteria andRestModeEqualTo(Integer value) {
            addCriterion("rest_mode =", value, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_mode = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestModeNotEqualTo(Integer value) {
            addCriterion("rest_mode <>", value, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_mode <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestModeGreaterThan(Integer value) {
            addCriterion("rest_mode >", value, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_mode > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestModeGreaterThanOrEqualTo(Integer value) {
            addCriterion("rest_mode >=", value, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_mode >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestModeLessThan(Integer value) {
            addCriterion("rest_mode <", value, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_mode < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestModeLessThanOrEqualTo(Integer value) {
            addCriterion("rest_mode <=", value, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_mode <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestModeIn(List<Integer> values) {
            addCriterion("rest_mode in", values, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeNotIn(List<Integer> values) {
            addCriterion("rest_mode not in", values, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeBetween(Integer value1, Integer value2) {
            addCriterion("rest_mode between", value1, value2, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestModeNotBetween(Integer value1, Integer value2) {
            addCriterion("rest_mode not between", value1, value2, "restMode");
            return (Criteria) this;
        }

        public Criteria andRestDayIsNull() {
            addCriterion("rest_day is null");
            return (Criteria) this;
        }

        public Criteria andRestDayIsNotNull() {
            addCriterion("rest_day is not null");
            return (Criteria) this;
        }

        public Criteria andRestDayEqualTo(String value) {
            addCriterion("rest_day =", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_day = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayNotEqualTo(String value) {
            addCriterion("rest_day <>", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_day <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThan(String value) {
            addCriterion("rest_day >", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_day > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThanOrEqualTo(String value) {
            addCriterion("rest_day >=", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_day >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayLessThan(String value) {
            addCriterion("rest_day <", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_day < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayLessThanOrEqualTo(String value) {
            addCriterion("rest_day <=", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("rest_day <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayLike(String value) {
            addCriterion("rest_day like", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotLike(String value) {
            addCriterion("rest_day not like", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayIn(List<String> values) {
            addCriterion("rest_day in", values, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotIn(List<String> values) {
            addCriterion("rest_day not in", values, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayBetween(String value1, String value2) {
            addCriterion("rest_day between", value1, value2, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotBetween(String value1, String value2) {
            addCriterion("rest_day not between", value1, value2, "restDay");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockIsNull() {
            addCriterion("is_need_clock is null");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockIsNotNull() {
            addCriterion("is_need_clock is not null");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockEqualTo(Integer value) {
            addCriterion("is_need_clock =", value, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_need_clock = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsNeedClockNotEqualTo(Integer value) {
            addCriterion("is_need_clock <>", value, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_need_clock <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsNeedClockGreaterThan(Integer value) {
            addCriterion("is_need_clock >", value, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_need_clock > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsNeedClockGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_need_clock >=", value, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_need_clock >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsNeedClockLessThan(Integer value) {
            addCriterion("is_need_clock <", value, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_need_clock < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsNeedClockLessThanOrEqualTo(Integer value) {
            addCriterion("is_need_clock <=", value, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_need_clock <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsNeedClockIn(List<Integer> values) {
            addCriterion("is_need_clock in", values, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockNotIn(List<Integer> values) {
            addCriterion("is_need_clock not in", values, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockBetween(Integer value1, Integer value2) {
            addCriterion("is_need_clock between", value1, value2, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andIsNeedClockNotBetween(Integer value1, Integer value2) {
            addCriterion("is_need_clock not between", value1, value2, "isNeedClock");
            return (Criteria) this;
        }

        public Criteria andWorkScopeIsNull() {
            addCriterion("work_scope is null");
            return (Criteria) this;
        }

        public Criteria andWorkScopeIsNotNull() {
            addCriterion("work_scope is not null");
            return (Criteria) this;
        }

        public Criteria andWorkScopeEqualTo(String value) {
            addCriterion("work_scope =", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("work_scope = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkScopeNotEqualTo(String value) {
            addCriterion("work_scope <>", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("work_scope <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkScopeGreaterThan(String value) {
            addCriterion("work_scope >", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("work_scope > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkScopeGreaterThanOrEqualTo(String value) {
            addCriterion("work_scope >=", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("work_scope >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkScopeLessThan(String value) {
            addCriterion("work_scope <", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("work_scope < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkScopeLessThanOrEqualTo(String value) {
            addCriterion("work_scope <=", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("work_scope <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkScopeLike(String value) {
            addCriterion("work_scope like", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeNotLike(String value) {
            addCriterion("work_scope not like", value, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeIn(List<String> values) {
            addCriterion("work_scope in", values, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeNotIn(List<String> values) {
            addCriterion("work_scope not in", values, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeBetween(String value1, String value2) {
            addCriterion("work_scope between", value1, value2, "workScope");
            return (Criteria) this;
        }

        public Criteria andWorkScopeNotBetween(String value1, String value2) {
            addCriterion("work_scope not between", value1, value2, "workScope");
            return (Criteria) this;
        }

        public Criteria andIsInvalidIsNull() {
            addCriterion("is_invalid is null");
            return (Criteria) this;
        }

        public Criteria andIsInvalidIsNotNull() {
            addCriterion("is_invalid is not null");
            return (Criteria) this;
        }

        public Criteria andIsInvalidEqualTo(Integer value) {
            addCriterion("is_invalid =", value, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_invalid = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsInvalidNotEqualTo(Integer value) {
            addCriterion("is_invalid <>", value, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_invalid <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsInvalidGreaterThan(Integer value) {
            addCriterion("is_invalid >", value, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_invalid > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsInvalidGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_invalid >=", value, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_invalid >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsInvalidLessThan(Integer value) {
            addCriterion("is_invalid <", value, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_invalid < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsInvalidLessThanOrEqualTo(Integer value) {
            addCriterion("is_invalid <=", value, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("is_invalid <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsInvalidIn(List<Integer> values) {
            addCriterion("is_invalid in", values, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidNotIn(List<Integer> values) {
            addCriterion("is_invalid not in", values, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidBetween(Integer value1, Integer value2) {
            addCriterion("is_invalid between", value1, value2, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andIsInvalidNotBetween(Integer value1, Integer value2) {
            addCriterion("is_invalid not between", value1, value2, "isInvalid");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeIsNull() {
            addCriterion("relieve_time is null");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeIsNotNull() {
            addCriterion("relieve_time is not null");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeEqualTo(LocalDateTime value) {
            addCriterion("relieve_time =", value, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("relieve_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRelieveTimeNotEqualTo(LocalDateTime value) {
            addCriterion("relieve_time <>", value, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("relieve_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRelieveTimeGreaterThan(LocalDateTime value) {
            addCriterion("relieve_time >", value, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("relieve_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRelieveTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("relieve_time >=", value, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("relieve_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRelieveTimeLessThan(LocalDateTime value) {
            addCriterion("relieve_time <", value, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("relieve_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRelieveTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("relieve_time <=", value, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("relieve_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRelieveTimeIn(List<LocalDateTime> values) {
            addCriterion("relieve_time in", values, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeNotIn(List<LocalDateTime> values) {
            addCriterion("relieve_time not in", values, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("relieve_time between", value1, value2, "relieveTime");
            return (Criteria) this;
        }

        public Criteria andRelieveTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("relieve_time not between", value1, value2, "relieveTime");
            return (Criteria) this;
        }

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

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

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

        public Criteria andCreateTimeEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("create_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("create_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("create_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("create_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("create_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("create_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

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

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

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

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

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

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

        public Criteria andUpdateTimeEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("update_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("update_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("update_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("update_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("update_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("update_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

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

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

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

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

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

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

        public Criteria andRemarkEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("remark = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkNotEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("remark <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkGreaterThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("remark > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkGreaterThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("remark >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkLessThanColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("remark < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkLessThanOrEqualToColumn(HmEmployRelation.Column column) {
            addCriterion(new StringBuilder("remark <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

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

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

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

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

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

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table hm_employ_relation
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {
        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        private HmEmployRelationExample example;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        protected Criteria(HmEmployRelationExample example) {
            super();
            this.example = example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        public HmEmployRelationExample example() {
            return this.example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        @Deprecated
        public interface ICriteriaAdd {
            /**
             * This method was generated by MyBatis Generator.
             * This method corresponds to the database table hm_employ_relation
             *
             * @mbg.generated
             */
            Criteria add(Criteria add);
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table hm_employ_relation
     *
     * @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);
        }
    }

    public interface ICriteriaWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table hm_employ_relation
         *
         * @mbg.generated
         */
        void example(org.linlinjava.jz.db.domain.HmEmployRelationExample example);
    }
}