package org.linlinjava.jz.db.domain;

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table contract_sub
     *
     * @mbg.generated
     */
    public ContractSubExample 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 contract_sub
     *
     * @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 contract_sub
     *
     * @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 contract_sub
     *
     * @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 contract_sub
     *
     * @mbg.generated
     */
    public static Criteria newAndCreateCriteria() {
        ContractSubExample example = new ContractSubExample();
        return example.createCriteria();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table contract_sub
     *
     * @mbg.generated
     */
    public ContractSubExample 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 contract_sub
     *
     * @mbg.generated
     */
    public ContractSubExample 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 contract_sub
     *
     * @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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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 andMasterContractIdIsNull() {
            addCriterion("master_contract_id is null");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdIsNotNull() {
            addCriterion("master_contract_id is not null");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdEqualTo(Long value) {
            addCriterion("master_contract_id =", value, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractIdNotEqualTo(Long value) {
            addCriterion("master_contract_id <>", value, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractIdGreaterThan(Long value) {
            addCriterion("master_contract_id >", value, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractIdGreaterThanOrEqualTo(Long value) {
            addCriterion("master_contract_id >=", value, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractIdLessThan(Long value) {
            addCriterion("master_contract_id <", value, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractIdLessThanOrEqualTo(Long value) {
            addCriterion("master_contract_id <=", value, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractIdIn(List<Long> values) {
            addCriterion("master_contract_id in", values, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdNotIn(List<Long> values) {
            addCriterion("master_contract_id not in", values, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdBetween(Long value1, Long value2) {
            addCriterion("master_contract_id between", value1, value2, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractIdNotBetween(Long value1, Long value2) {
            addCriterion("master_contract_id not between", value1, value2, "masterContractId");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoIsNull() {
            addCriterion("master_contract_no is null");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoIsNotNull() {
            addCriterion("master_contract_no is not null");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoEqualTo(String value) {
            addCriterion("master_contract_no =", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractNoNotEqualTo(String value) {
            addCriterion("master_contract_no <>", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractNoGreaterThan(String value) {
            addCriterion("master_contract_no >", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractNoGreaterThanOrEqualTo(String value) {
            addCriterion("master_contract_no >=", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractNoLessThan(String value) {
            addCriterion("master_contract_no <", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractNoLessThanOrEqualTo(String value) {
            addCriterion("master_contract_no <=", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("master_contract_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMasterContractNoLike(String value) {
            addCriterion("master_contract_no like", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoNotLike(String value) {
            addCriterion("master_contract_no not like", value, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoIn(List<String> values) {
            addCriterion("master_contract_no in", values, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoNotIn(List<String> values) {
            addCriterion("master_contract_no not in", values, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoBetween(String value1, String value2) {
            addCriterion("master_contract_no between", value1, value2, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andMasterContractNoNotBetween(String value1, String value2) {
            addCriterion("master_contract_no not between", value1, value2, "masterContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoIsNull() {
            addCriterion("sub_contract_no is null");
            return (Criteria) this;
        }

        public Criteria andSubContractNoIsNotNull() {
            addCriterion("sub_contract_no is not null");
            return (Criteria) this;
        }

        public Criteria andSubContractNoEqualTo(String value) {
            addCriterion("sub_contract_no =", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_contract_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubContractNoNotEqualTo(String value) {
            addCriterion("sub_contract_no <>", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_contract_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubContractNoGreaterThan(String value) {
            addCriterion("sub_contract_no >", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_contract_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubContractNoGreaterThanOrEqualTo(String value) {
            addCriterion("sub_contract_no >=", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_contract_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubContractNoLessThan(String value) {
            addCriterion("sub_contract_no <", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_contract_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubContractNoLessThanOrEqualTo(String value) {
            addCriterion("sub_contract_no <=", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_contract_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubContractNoLike(String value) {
            addCriterion("sub_contract_no like", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoNotLike(String value) {
            addCriterion("sub_contract_no not like", value, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoIn(List<String> values) {
            addCriterion("sub_contract_no in", values, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoNotIn(List<String> values) {
            addCriterion("sub_contract_no not in", values, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoBetween(String value1, String value2) {
            addCriterion("sub_contract_no between", value1, value2, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubContractNoNotBetween(String value1, String value2) {
            addCriterion("sub_contract_no not between", value1, value2, "subContractNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoIsNull() {
            addCriterion("sub_order_no is null");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoIsNotNull() {
            addCriterion("sub_order_no is not null");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoEqualTo(String value) {
            addCriterion("sub_order_no =", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_order_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubOrderNoNotEqualTo(String value) {
            addCriterion("sub_order_no <>", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_order_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubOrderNoGreaterThan(String value) {
            addCriterion("sub_order_no >", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_order_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("sub_order_no >=", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_order_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubOrderNoLessThan(String value) {
            addCriterion("sub_order_no <", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_order_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubOrderNoLessThanOrEqualTo(String value) {
            addCriterion("sub_order_no <=", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("sub_order_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSubOrderNoLike(String value) {
            addCriterion("sub_order_no like", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoNotLike(String value) {
            addCriterion("sub_order_no not like", value, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoIn(List<String> values) {
            addCriterion("sub_order_no in", values, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoNotIn(List<String> values) {
            addCriterion("sub_order_no not in", values, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoBetween(String value1, String value2) {
            addCriterion("sub_order_no between", value1, value2, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andSubOrderNoNotBetween(String value1, String value2) {
            addCriterion("sub_order_no not between", value1, value2, "subOrderNo");
            return (Criteria) this;
        }

        public Criteria andClueNoIsNull() {
            addCriterion("clue_no is null");
            return (Criteria) this;
        }

        public Criteria andClueNoIsNotNull() {
            addCriterion("clue_no is not null");
            return (Criteria) this;
        }

        public Criteria andClueNoEqualTo(String value) {
            addCriterion("clue_no =", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("clue_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoNotEqualTo(String value) {
            addCriterion("clue_no <>", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("clue_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThan(String value) {
            addCriterion("clue_no >", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("clue_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThanOrEqualTo(String value) {
            addCriterion("clue_no >=", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("clue_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoLessThan(String value) {
            addCriterion("clue_no <", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("clue_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoLessThanOrEqualTo(String value) {
            addCriterion("clue_no <=", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("clue_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoLike(String value) {
            addCriterion("clue_no like", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotLike(String value) {
            addCriterion("clue_no not like", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoIn(List<String> values) {
            addCriterion("clue_no in", values, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotIn(List<String> values) {
            addCriterion("clue_no not in", values, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoBetween(String value1, String value2) {
            addCriterion("clue_no between", value1, value2, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotBetween(String value1, String value2) {
            addCriterion("clue_no not between", value1, value2, "clueNo");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdIsNull() {
            addCriterion("customer_client_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdIsNotNull() {
            addCriterion("customer_client_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdEqualTo(Long value) {
            addCriterion("customer_client_id =", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("customer_client_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotEqualTo(Long value) {
            addCriterion("customer_client_id <>", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("customer_client_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThan(Long value) {
            addCriterion("customer_client_id >", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("customer_client_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThanOrEqualTo(Long value) {
            addCriterion("customer_client_id >=", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("customer_client_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThan(Long value) {
            addCriterion("customer_client_id <", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("customer_client_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThanOrEqualTo(Long value) {
            addCriterion("customer_client_id <=", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("customer_client_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdIn(List<Long> values) {
            addCriterion("customer_client_id in", values, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotIn(List<Long> values) {
            addCriterion("customer_client_id not in", values, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdBetween(Long value1, Long value2) {
            addCriterion("customer_client_id between", value1, value2, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotBetween(Long value1, Long value2) {
            addCriterion("customer_client_id not between", value1, value2, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andServantIdIsNull() {
            addCriterion("servant_id is null");
            return (Criteria) this;
        }

        public Criteria andServantIdIsNotNull() {
            addCriterion("servant_id is not null");
            return (Criteria) this;
        }

        public Criteria andServantIdEqualTo(Long value) {
            addCriterion("servant_id =", value, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("servant_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantIdNotEqualTo(Long value) {
            addCriterion("servant_id <>", value, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("servant_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantIdGreaterThan(Long value) {
            addCriterion("servant_id >", value, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("servant_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantIdGreaterThanOrEqualTo(Long value) {
            addCriterion("servant_id >=", value, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("servant_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantIdLessThan(Long value) {
            addCriterion("servant_id <", value, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("servant_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantIdLessThanOrEqualTo(Long value) {
            addCriterion("servant_id <=", value, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("servant_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServantIdIn(List<Long> values) {
            addCriterion("servant_id in", values, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdNotIn(List<Long> values) {
            addCriterion("servant_id not in", values, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdBetween(Long value1, Long value2) {
            addCriterion("servant_id between", value1, value2, "servantId");
            return (Criteria) this;
        }

        public Criteria andServantIdNotBetween(Long value1, Long value2) {
            addCriterion("servant_id not between", value1, value2, "servantId");
            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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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 andWorkerFraIdIsNull() {
            addCriterion("worker_fra_id is null");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdIsNotNull() {
            addCriterion("worker_fra_id is not null");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdEqualTo(Long value) {
            addCriterion("worker_fra_id =", value, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_fra_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdNotEqualTo(Long value) {
            addCriterion("worker_fra_id <>", value, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_fra_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdGreaterThan(Long value) {
            addCriterion("worker_fra_id >", value, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_fra_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdGreaterThanOrEqualTo(Long value) {
            addCriterion("worker_fra_id >=", value, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_fra_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdLessThan(Long value) {
            addCriterion("worker_fra_id <", value, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_fra_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdLessThanOrEqualTo(Long value) {
            addCriterion("worker_fra_id <=", value, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_fra_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdIn(List<Long> values) {
            addCriterion("worker_fra_id in", values, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdNotIn(List<Long> values) {
            addCriterion("worker_fra_id not in", values, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdBetween(Long value1, Long value2) {
            addCriterion("worker_fra_id between", value1, value2, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerFraIdNotBetween(Long value1, Long value2) {
            addCriterion("worker_fra_id not between", value1, value2, "workerFraId");
            return (Criteria) this;
        }

        public Criteria andWorkerNoIsNull() {
            addCriterion("worker_no is null");
            return (Criteria) this;
        }

        public Criteria andWorkerNoIsNotNull() {
            addCriterion("worker_no is not null");
            return (Criteria) this;
        }

        public Criteria andWorkerNoEqualTo(String value) {
            addCriterion("worker_no =", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerNoNotEqualTo(String value) {
            addCriterion("worker_no <>", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerNoGreaterThan(String value) {
            addCriterion("worker_no >", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerNoGreaterThanOrEqualTo(String value) {
            addCriterion("worker_no >=", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerNoLessThan(String value) {
            addCriterion("worker_no <", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerNoLessThanOrEqualTo(String value) {
            addCriterion("worker_no <=", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("worker_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkerNoLike(String value) {
            addCriterion("worker_no like", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoNotLike(String value) {
            addCriterion("worker_no not like", value, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoIn(List<String> values) {
            addCriterion("worker_no in", values, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoNotIn(List<String> values) {
            addCriterion("worker_no not in", values, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoBetween(String value1, String value2) {
            addCriterion("worker_no between", value1, value2, "workerNo");
            return (Criteria) this;
        }

        public Criteria andWorkerNoNotBetween(String value1, String value2) {
            addCriterion("worker_no not between", value1, value2, "workerNo");
            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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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 andContractStateIsNull() {
            addCriterion("contract_state is null");
            return (Criteria) this;
        }

        public Criteria andContractStateIsNotNull() {
            addCriterion("contract_state is not null");
            return (Criteria) this;
        }

        public Criteria andContractStateEqualTo(Integer value) {
            addCriterion("contract_state =", value, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_state = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStateNotEqualTo(Integer value) {
            addCriterion("contract_state <>", value, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_state <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStateGreaterThan(Integer value) {
            addCriterion("contract_state >", value, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_state > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("contract_state >=", value, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_state >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStateLessThan(Integer value) {
            addCriterion("contract_state <", value, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_state < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStateLessThanOrEqualTo(Integer value) {
            addCriterion("contract_state <=", value, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_state <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStateIn(List<Integer> values) {
            addCriterion("contract_state in", values, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateNotIn(List<Integer> values) {
            addCriterion("contract_state not in", values, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateBetween(Integer value1, Integer value2) {
            addCriterion("contract_state between", value1, value2, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractStateNotBetween(Integer value1, Integer value2) {
            addCriterion("contract_state not between", value1, value2, "contractState");
            return (Criteria) this;
        }

        public Criteria andContractTypeIsNull() {
            addCriterion("contract_type is null");
            return (Criteria) this;
        }

        public Criteria andContractTypeIsNotNull() {
            addCriterion("contract_type is not null");
            return (Criteria) this;
        }

        public Criteria andContractTypeEqualTo(Integer value) {
            addCriterion("contract_type =", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_type = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractTypeNotEqualTo(Integer value) {
            addCriterion("contract_type <>", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_type <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractTypeGreaterThan(Integer value) {
            addCriterion("contract_type >", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_type > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("contract_type >=", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_type >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractTypeLessThan(Integer value) {
            addCriterion("contract_type <", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_type < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractTypeLessThanOrEqualTo(Integer value) {
            addCriterion("contract_type <=", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_type <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractTypeIn(List<Integer> values) {
            addCriterion("contract_type in", values, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeNotIn(List<Integer> values) {
            addCriterion("contract_type not in", values, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeBetween(Integer value1, Integer value2) {
            addCriterion("contract_type between", value1, value2, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("contract_type not between", value1, value2, "contractType");
            return (Criteria) this;
        }

        public Criteria andFileIdIsNull() {
            addCriterion("file_id is null");
            return (Criteria) this;
        }

        public Criteria andFileIdIsNotNull() {
            addCriterion("file_id is not null");
            return (Criteria) this;
        }

        public Criteria andFileIdEqualTo(String value) {
            addCriterion("file_id =", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("file_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFileIdNotEqualTo(String value) {
            addCriterion("file_id <>", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("file_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFileIdGreaterThan(String value) {
            addCriterion("file_id >", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("file_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFileIdGreaterThanOrEqualTo(String value) {
            addCriterion("file_id >=", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("file_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFileIdLessThan(String value) {
            addCriterion("file_id <", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("file_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFileIdLessThanOrEqualTo(String value) {
            addCriterion("file_id <=", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("file_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFileIdLike(String value) {
            addCriterion("file_id like", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdNotLike(String value) {
            addCriterion("file_id not like", value, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdIn(List<String> values) {
            addCriterion("file_id in", values, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdNotIn(List<String> values) {
            addCriterion("file_id not in", values, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdBetween(String value1, String value2) {
            addCriterion("file_id between", value1, value2, "fileId");
            return (Criteria) this;
        }

        public Criteria andFileIdNotBetween(String value1, String value2) {
            addCriterion("file_id not between", value1, value2, "fileId");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIsNull() {
            addCriterion("service_type is null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIsNotNull() {
            addCriterion("service_type is not null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeEqualTo(Integer value) {
            addCriterion("service_type =", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_type = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotEqualTo(Integer value) {
            addCriterion("service_type <>", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_type <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThan(Integer value) {
            addCriterion("service_type >", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_type > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("service_type >=", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_type >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThan(Integer value) {
            addCriterion("service_type <", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_type < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("service_type <=", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_type <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeIn(List<Integer> values) {
            addCriterion("service_type in", values, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotIn(List<Integer> values) {
            addCriterion("service_type not in", values, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeBetween(Integer value1, Integer value2) {
            addCriterion("service_type between", value1, value2, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("service_type not between", value1, value2, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceModelIsNull() {
            addCriterion("service_model is null");
            return (Criteria) this;
        }

        public Criteria andServiceModelIsNotNull() {
            addCriterion("service_model is not null");
            return (Criteria) this;
        }

        public Criteria andServiceModelEqualTo(Integer value) {
            addCriterion("service_model =", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_model = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelNotEqualTo(Integer value) {
            addCriterion("service_model <>", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_model <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThan(Integer value) {
            addCriterion("service_model >", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_model > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThanOrEqualTo(Integer value) {
            addCriterion("service_model >=", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_model >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThan(Integer value) {
            addCriterion("service_model <", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_model < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThanOrEqualTo(Integer value) {
            addCriterion("service_model <=", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_model <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelIn(List<Integer> values) {
            addCriterion("service_model in", values, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelNotIn(List<Integer> values) {
            addCriterion("service_model not in", values, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelBetween(Integer value1, Integer value2) {
            addCriterion("service_model between", value1, value2, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelNotBetween(Integer value1, Integer value2) {
            addCriterion("service_model not between", value1, value2, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostIsNull() {
            addCriterion("payable_intermediary_cost is null");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostIsNotNull() {
            addCriterion("payable_intermediary_cost is not null");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostEqualTo(Double value) {
            addCriterion("payable_intermediary_cost =", value, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_intermediary_cost = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostNotEqualTo(Double value) {
            addCriterion("payable_intermediary_cost <>", value, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_intermediary_cost <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostGreaterThan(Double value) {
            addCriterion("payable_intermediary_cost >", value, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_intermediary_cost > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostGreaterThanOrEqualTo(Double value) {
            addCriterion("payable_intermediary_cost >=", value, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_intermediary_cost >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostLessThan(Double value) {
            addCriterion("payable_intermediary_cost <", value, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_intermediary_cost < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostLessThanOrEqualTo(Double value) {
            addCriterion("payable_intermediary_cost <=", value, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_intermediary_cost <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostIn(List<Double> values) {
            addCriterion("payable_intermediary_cost in", values, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostNotIn(List<Double> values) {
            addCriterion("payable_intermediary_cost not in", values, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostBetween(Double value1, Double value2) {
            addCriterion("payable_intermediary_cost between", value1, value2, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andPayableIntermediaryCostNotBetween(Double value1, Double value2) {
            addCriterion("payable_intermediary_cost not between", value1, value2, "payableIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostIsNull() {
            addCriterion("actual_intermediary_cost is null");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostIsNotNull() {
            addCriterion("actual_intermediary_cost is not null");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostEqualTo(Double value) {
            addCriterion("actual_intermediary_cost =", value, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_intermediary_cost = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostNotEqualTo(Double value) {
            addCriterion("actual_intermediary_cost <>", value, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_intermediary_cost <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostGreaterThan(Double value) {
            addCriterion("actual_intermediary_cost >", value, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_intermediary_cost > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostGreaterThanOrEqualTo(Double value) {
            addCriterion("actual_intermediary_cost >=", value, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_intermediary_cost >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostLessThan(Double value) {
            addCriterion("actual_intermediary_cost <", value, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_intermediary_cost < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostLessThanOrEqualTo(Double value) {
            addCriterion("actual_intermediary_cost <=", value, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_intermediary_cost <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostIn(List<Double> values) {
            addCriterion("actual_intermediary_cost in", values, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostNotIn(List<Double> values) {
            addCriterion("actual_intermediary_cost not in", values, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostBetween(Double value1, Double value2) {
            addCriterion("actual_intermediary_cost between", value1, value2, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andActualIntermediaryCostNotBetween(Double value1, Double value2) {
            addCriterion("actual_intermediary_cost not between", value1, value2, "actualIntermediaryCost");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryIsNull() {
            addCriterion("firstmonth_salary is null");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryIsNotNull() {
            addCriterion("firstmonth_salary is not null");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryEqualTo(Double value) {
            addCriterion("firstmonth_salary =", value, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("firstmonth_salary = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryNotEqualTo(Double value) {
            addCriterion("firstmonth_salary <>", value, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("firstmonth_salary <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryGreaterThan(Double value) {
            addCriterion("firstmonth_salary >", value, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("firstmonth_salary > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryGreaterThanOrEqualTo(Double value) {
            addCriterion("firstmonth_salary >=", value, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("firstmonth_salary >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryLessThan(Double value) {
            addCriterion("firstmonth_salary <", value, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("firstmonth_salary < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryLessThanOrEqualTo(Double value) {
            addCriterion("firstmonth_salary <=", value, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("firstmonth_salary <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryIn(List<Double> values) {
            addCriterion("firstmonth_salary in", values, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryNotIn(List<Double> values) {
            addCriterion("firstmonth_salary not in", values, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryBetween(Double value1, Double value2) {
            addCriterion("firstmonth_salary between", value1, value2, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andFirstmonthSalaryNotBetween(Double value1, Double value2) {
            addCriterion("firstmonth_salary not between", value1, value2, "firstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryIsNull() {
            addCriterion("payable_firstmonth_salary is null");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryIsNotNull() {
            addCriterion("payable_firstmonth_salary is not null");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryEqualTo(Double value) {
            addCriterion("payable_firstmonth_salary =", value, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_firstmonth_salary = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryNotEqualTo(Double value) {
            addCriterion("payable_firstmonth_salary <>", value, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_firstmonth_salary <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryGreaterThan(Double value) {
            addCriterion("payable_firstmonth_salary >", value, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_firstmonth_salary > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryGreaterThanOrEqualTo(Double value) {
            addCriterion("payable_firstmonth_salary >=", value, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_firstmonth_salary >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryLessThan(Double value) {
            addCriterion("payable_firstmonth_salary <", value, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_firstmonth_salary < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryLessThanOrEqualTo(Double value) {
            addCriterion("payable_firstmonth_salary <=", value, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payable_firstmonth_salary <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryIn(List<Double> values) {
            addCriterion("payable_firstmonth_salary in", values, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryNotIn(List<Double> values) {
            addCriterion("payable_firstmonth_salary not in", values, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryBetween(Double value1, Double value2) {
            addCriterion("payable_firstmonth_salary between", value1, value2, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPayableFirstmonthSalaryNotBetween(Double value1, Double value2) {
            addCriterion("payable_firstmonth_salary not between", value1, value2, "payableFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryIsNull() {
            addCriterion("payment_firstmonth_salary is null");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryIsNotNull() {
            addCriterion("payment_firstmonth_salary is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryEqualTo(Double value) {
            addCriterion("payment_firstmonth_salary =", value, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payment_firstmonth_salary = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryNotEqualTo(Double value) {
            addCriterion("payment_firstmonth_salary <>", value, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payment_firstmonth_salary <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryGreaterThan(Double value) {
            addCriterion("payment_firstmonth_salary >", value, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payment_firstmonth_salary > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryGreaterThanOrEqualTo(Double value) {
            addCriterion("payment_firstmonth_salary >=", value, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payment_firstmonth_salary >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryLessThan(Double value) {
            addCriterion("payment_firstmonth_salary <", value, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payment_firstmonth_salary < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryLessThanOrEqualTo(Double value) {
            addCriterion("payment_firstmonth_salary <=", value, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("payment_firstmonth_salary <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryIn(List<Double> values) {
            addCriterion("payment_firstmonth_salary in", values, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryNotIn(List<Double> values) {
            addCriterion("payment_firstmonth_salary not in", values, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryBetween(Double value1, Double value2) {
            addCriterion("payment_firstmonth_salary between", value1, value2, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andPaymentFirstmonthSalaryNotBetween(Double value1, Double value2) {
            addCriterion("payment_firstmonth_salary not between", value1, value2, "paymentFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryIsNull() {
            addCriterion("obligations_firstmonth_salary is null");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryIsNotNull() {
            addCriterion("obligations_firstmonth_salary is not null");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryEqualTo(Double value) {
            addCriterion("obligations_firstmonth_salary =", value, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("obligations_firstmonth_salary = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryNotEqualTo(Double value) {
            addCriterion("obligations_firstmonth_salary <>", value, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("obligations_firstmonth_salary <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryGreaterThan(Double value) {
            addCriterion("obligations_firstmonth_salary >", value, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("obligations_firstmonth_salary > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryGreaterThanOrEqualTo(Double value) {
            addCriterion("obligations_firstmonth_salary >=", value, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("obligations_firstmonth_salary >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryLessThan(Double value) {
            addCriterion("obligations_firstmonth_salary <", value, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("obligations_firstmonth_salary < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryLessThanOrEqualTo(Double value) {
            addCriterion("obligations_firstmonth_salary <=", value, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("obligations_firstmonth_salary <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryIn(List<Double> values) {
            addCriterion("obligations_firstmonth_salary in", values, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryNotIn(List<Double> values) {
            addCriterion("obligations_firstmonth_salary not in", values, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryBetween(Double value1, Double value2) {
            addCriterion("obligations_firstmonth_salary between", value1, value2, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andObligationsFirstmonthSalaryNotBetween(Double value1, Double value2) {
            addCriterion("obligations_firstmonth_salary not between", value1, value2, "obligationsFirstmonthSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryIsNull() {
            addCriterion("surplus_salary is null");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryIsNotNull() {
            addCriterion("surplus_salary is not null");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryEqualTo(Double value) {
            addCriterion("surplus_salary =", value, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("surplus_salary = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryNotEqualTo(Double value) {
            addCriterion("surplus_salary <>", value, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("surplus_salary <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryGreaterThan(Double value) {
            addCriterion("surplus_salary >", value, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("surplus_salary > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryGreaterThanOrEqualTo(Double value) {
            addCriterion("surplus_salary >=", value, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("surplus_salary >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryLessThan(Double value) {
            addCriterion("surplus_salary <", value, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("surplus_salary < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryLessThanOrEqualTo(Double value) {
            addCriterion("surplus_salary <=", value, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("surplus_salary <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryIn(List<Double> values) {
            addCriterion("surplus_salary in", values, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryNotIn(List<Double> values) {
            addCriterion("surplus_salary not in", values, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryBetween(Double value1, Double value2) {
            addCriterion("surplus_salary between", value1, value2, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andSurplusSalaryNotBetween(Double value1, Double value2) {
            addCriterion("surplus_salary not between", value1, value2, "surplusSalary");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeIsNull() {
            addCriterion("service_start_time is null");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeIsNotNull() {
            addCriterion("service_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeEqualTo(String value) {
            addCriterion("service_start_time =", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_start_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeNotEqualTo(String value) {
            addCriterion("service_start_time <>", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_start_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeGreaterThan(String value) {
            addCriterion("service_start_time >", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_start_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeGreaterThanOrEqualTo(String value) {
            addCriterion("service_start_time >=", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_start_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeLessThan(String value) {
            addCriterion("service_start_time <", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_start_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeLessThanOrEqualTo(String value) {
            addCriterion("service_start_time <=", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_start_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeLike(String value) {
            addCriterion("service_start_time like", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeNotLike(String value) {
            addCriterion("service_start_time not like", value, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeIn(List<String> values) {
            addCriterion("service_start_time in", values, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeNotIn(List<String> values) {
            addCriterion("service_start_time not in", values, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeBetween(String value1, String value2) {
            addCriterion("service_start_time between", value1, value2, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceStartTimeNotBetween(String value1, String value2) {
            addCriterion("service_start_time not between", value1, value2, "serviceStartTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeIsNull() {
            addCriterion("service_end_time is null");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeIsNotNull() {
            addCriterion("service_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeEqualTo(String value) {
            addCriterion("service_end_time =", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_end_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeNotEqualTo(String value) {
            addCriterion("service_end_time <>", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_end_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeGreaterThan(String value) {
            addCriterion("service_end_time >", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_end_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeGreaterThanOrEqualTo(String value) {
            addCriterion("service_end_time >=", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_end_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeLessThan(String value) {
            addCriterion("service_end_time <", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_end_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeLessThanOrEqualTo(String value) {
            addCriterion("service_end_time <=", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_end_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeLike(String value) {
            addCriterion("service_end_time like", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeNotLike(String value) {
            addCriterion("service_end_time not like", value, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeIn(List<String> values) {
            addCriterion("service_end_time in", values, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeNotIn(List<String> values) {
            addCriterion("service_end_time not in", values, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeBetween(String value1, String value2) {
            addCriterion("service_end_time between", value1, value2, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andServiceEndTimeNotBetween(String value1, String value2) {
            addCriterion("service_end_time not between", value1, value2, "serviceEndTime");
            return (Criteria) this;
        }

        public Criteria andContractStartDateIsNull() {
            addCriterion("contract_start_date is null");
            return (Criteria) this;
        }

        public Criteria andContractStartDateIsNotNull() {
            addCriterion("contract_start_date is not null");
            return (Criteria) this;
        }

        public Criteria andContractStartDateEqualTo(LocalDate value) {
            addCriterion("contract_start_date =", value, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_start_date = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStartDateNotEqualTo(LocalDate value) {
            addCriterion("contract_start_date <>", value, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_start_date <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStartDateGreaterThan(LocalDate value) {
            addCriterion("contract_start_date >", value, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_start_date > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStartDateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("contract_start_date >=", value, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_start_date >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStartDateLessThan(LocalDate value) {
            addCriterion("contract_start_date <", value, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_start_date < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStartDateLessThanOrEqualTo(LocalDate value) {
            addCriterion("contract_start_date <=", value, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_start_date <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractStartDateIn(List<LocalDate> values) {
            addCriterion("contract_start_date in", values, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateNotIn(List<LocalDate> values) {
            addCriterion("contract_start_date not in", values, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("contract_start_date between", value1, value2, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractStartDateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("contract_start_date not between", value1, value2, "contractStartDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateIsNull() {
            addCriterion("contract_end_date is null");
            return (Criteria) this;
        }

        public Criteria andContractEndDateIsNotNull() {
            addCriterion("contract_end_date is not null");
            return (Criteria) this;
        }

        public Criteria andContractEndDateEqualTo(LocalDate value) {
            addCriterion("contract_end_date =", value, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_end_date = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractEndDateNotEqualTo(LocalDate value) {
            addCriterion("contract_end_date <>", value, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_end_date <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractEndDateGreaterThan(LocalDate value) {
            addCriterion("contract_end_date >", value, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_end_date > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractEndDateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("contract_end_date >=", value, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_end_date >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractEndDateLessThan(LocalDate value) {
            addCriterion("contract_end_date <", value, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_end_date < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractEndDateLessThanOrEqualTo(LocalDate value) {
            addCriterion("contract_end_date <=", value, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("contract_end_date <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContractEndDateIn(List<LocalDate> values) {
            addCriterion("contract_end_date in", values, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateNotIn(List<LocalDate> values) {
            addCriterion("contract_end_date not in", values, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("contract_end_date between", value1, value2, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andContractEndDateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("contract_end_date not between", value1, value2, "contractEndDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateIsNull() {
            addCriterion("shanghu_date is null");
            return (Criteria) this;
        }

        public Criteria andShanghuDateIsNotNull() {
            addCriterion("shanghu_date is not null");
            return (Criteria) this;
        }

        public Criteria andShanghuDateEqualTo(LocalDate value) {
            addCriterion("shanghu_date =", value, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("shanghu_date = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andShanghuDateNotEqualTo(LocalDate value) {
            addCriterion("shanghu_date <>", value, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("shanghu_date <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andShanghuDateGreaterThan(LocalDate value) {
            addCriterion("shanghu_date >", value, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("shanghu_date > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andShanghuDateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("shanghu_date >=", value, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("shanghu_date >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andShanghuDateLessThan(LocalDate value) {
            addCriterion("shanghu_date <", value, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("shanghu_date < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andShanghuDateLessThanOrEqualTo(LocalDate value) {
            addCriterion("shanghu_date <=", value, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("shanghu_date <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andShanghuDateIn(List<LocalDate> values) {
            addCriterion("shanghu_date in", values, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateNotIn(List<LocalDate> values) {
            addCriterion("shanghu_date not in", values, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("shanghu_date between", value1, value2, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andShanghuDateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("shanghu_date not between", value1, value2, "shanghuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateIsNull() {
            addCriterion("xiahu_date is null");
            return (Criteria) this;
        }

        public Criteria andXiahuDateIsNotNull() {
            addCriterion("xiahu_date is not null");
            return (Criteria) this;
        }

        public Criteria andXiahuDateEqualTo(LocalDate value) {
            addCriterion("xiahu_date =", value, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("xiahu_date = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andXiahuDateNotEqualTo(LocalDate value) {
            addCriterion("xiahu_date <>", value, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("xiahu_date <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andXiahuDateGreaterThan(LocalDate value) {
            addCriterion("xiahu_date >", value, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("xiahu_date > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andXiahuDateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("xiahu_date >=", value, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("xiahu_date >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andXiahuDateLessThan(LocalDate value) {
            addCriterion("xiahu_date <", value, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("xiahu_date < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andXiahuDateLessThanOrEqualTo(LocalDate value) {
            addCriterion("xiahu_date <=", value, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("xiahu_date <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andXiahuDateIn(List<LocalDate> values) {
            addCriterion("xiahu_date in", values, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateNotIn(List<LocalDate> values) {
            addCriterion("xiahu_date not in", values, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("xiahu_date between", value1, value2, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andXiahuDateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("xiahu_date not between", value1, value2, "xiahuDate");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysIsNull() {
            addCriterion("actual_service_days is null");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysIsNotNull() {
            addCriterion("actual_service_days is not null");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysEqualTo(String value) {
            addCriterion("actual_service_days =", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_service_days = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysNotEqualTo(String value) {
            addCriterion("actual_service_days <>", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_service_days <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysGreaterThan(String value) {
            addCriterion("actual_service_days >", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_service_days > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysGreaterThanOrEqualTo(String value) {
            addCriterion("actual_service_days >=", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_service_days >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysLessThan(String value) {
            addCriterion("actual_service_days <", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_service_days < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysLessThanOrEqualTo(String value) {
            addCriterion("actual_service_days <=", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("actual_service_days <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysLike(String value) {
            addCriterion("actual_service_days like", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysNotLike(String value) {
            addCriterion("actual_service_days not like", value, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysIn(List<String> values) {
            addCriterion("actual_service_days in", values, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysNotIn(List<String> values) {
            addCriterion("actual_service_days not in", values, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysBetween(String value1, String value2) {
            addCriterion("actual_service_days between", value1, value2, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andActualServiceDaysNotBetween(String value1, String value2) {
            addCriterion("actual_service_days not between", value1, value2, "actualServiceDays");
            return (Criteria) this;
        }

        public Criteria andServiceDurationIsNull() {
            addCriterion("service_duration is null");
            return (Criteria) this;
        }

        public Criteria andServiceDurationIsNotNull() {
            addCriterion("service_duration is not null");
            return (Criteria) this;
        }

        public Criteria andServiceDurationEqualTo(Double value) {
            addCriterion("service_duration =", value, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_duration = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceDurationNotEqualTo(Double value) {
            addCriterion("service_duration <>", value, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_duration <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceDurationGreaterThan(Double value) {
            addCriterion("service_duration >", value, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_duration > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceDurationGreaterThanOrEqualTo(Double value) {
            addCriterion("service_duration >=", value, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_duration >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceDurationLessThan(Double value) {
            addCriterion("service_duration <", value, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_duration < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceDurationLessThanOrEqualTo(Double value) {
            addCriterion("service_duration <=", value, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("service_duration <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceDurationIn(List<Double> values) {
            addCriterion("service_duration in", values, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationNotIn(List<Double> values) {
            addCriterion("service_duration not in", values, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationBetween(Double value1, Double value2) {
            addCriterion("service_duration between", value1, value2, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andServiceDurationNotBetween(Double value1, Double value2) {
            addCriterion("service_duration not between", value1, value2, "serviceDuration");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryIsNull() {
            addCriterion("hourly_salary is null");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryIsNotNull() {
            addCriterion("hourly_salary is not null");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryEqualTo(Double value) {
            addCriterion("hourly_salary =", value, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("hourly_salary = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHourlySalaryNotEqualTo(Double value) {
            addCriterion("hourly_salary <>", value, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("hourly_salary <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHourlySalaryGreaterThan(Double value) {
            addCriterion("hourly_salary >", value, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("hourly_salary > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHourlySalaryGreaterThanOrEqualTo(Double value) {
            addCriterion("hourly_salary >=", value, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("hourly_salary >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHourlySalaryLessThan(Double value) {
            addCriterion("hourly_salary <", value, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("hourly_salary < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHourlySalaryLessThanOrEqualTo(Double value) {
            addCriterion("hourly_salary <=", value, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("hourly_salary <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHourlySalaryIn(List<Double> values) {
            addCriterion("hourly_salary in", values, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryNotIn(List<Double> values) {
            addCriterion("hourly_salary not in", values, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryBetween(Double value1, Double value2) {
            addCriterion("hourly_salary between", value1, value2, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andHourlySalaryNotBetween(Double value1, Double value2) {
            addCriterion("hourly_salary not between", value1, value2, "hourlySalary");
            return (Criteria) this;
        }

        public Criteria andSettlementIsNull() {
            addCriterion("settlement is null");
            return (Criteria) this;
        }

        public Criteria andSettlementIsNotNull() {
            addCriterion("settlement is not null");
            return (Criteria) this;
        }

        public Criteria andSettlementEqualTo(Boolean value) {
            addCriterion("settlement =", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("settlement = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSettlementNotEqualTo(Boolean value) {
            addCriterion("settlement <>", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("settlement <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSettlementGreaterThan(Boolean value) {
            addCriterion("settlement >", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("settlement > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSettlementGreaterThanOrEqualTo(Boolean value) {
            addCriterion("settlement >=", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("settlement >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSettlementLessThan(Boolean value) {
            addCriterion("settlement <", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("settlement < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSettlementLessThanOrEqualTo(Boolean value) {
            addCriterion("settlement <=", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("settlement <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSettlementIn(List<Boolean> values) {
            addCriterion("settlement in", values, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotIn(List<Boolean> values) {
            addCriterion("settlement not in", values, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementBetween(Boolean value1, Boolean value2) {
            addCriterion("settlement between", value1, value2, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotBetween(Boolean value1, Boolean value2) {
            addCriterion("settlement not between", value1, value2, "settlement");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersIsNull() {
            addCriterion("accept_orders is null");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersIsNotNull() {
            addCriterion("accept_orders is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersEqualTo(Integer value) {
            addCriterion("accept_orders =", value, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("accept_orders = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersNotEqualTo(Integer value) {
            addCriterion("accept_orders <>", value, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("accept_orders <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersGreaterThan(Integer value) {
            addCriterion("accept_orders >", value, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("accept_orders > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersGreaterThanOrEqualTo(Integer value) {
            addCriterion("accept_orders >=", value, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("accept_orders >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersLessThan(Integer value) {
            addCriterion("accept_orders <", value, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("accept_orders < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersLessThanOrEqualTo(Integer value) {
            addCriterion("accept_orders <=", value, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("accept_orders <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersIn(List<Integer> values) {
            addCriterion("accept_orders in", values, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersNotIn(List<Integer> values) {
            addCriterion("accept_orders not in", values, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersBetween(Integer value1, Integer value2) {
            addCriterion("accept_orders between", value1, value2, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andAcceptOrdersNotBetween(Integer value1, Integer value2) {
            addCriterion("accept_orders not between", value1, value2, "acceptOrders");
            return (Criteria) this;
        }

        public Criteria andReviewTypeIsNull() {
            addCriterion("review_type is null");
            return (Criteria) this;
        }

        public Criteria andReviewTypeIsNotNull() {
            addCriterion("review_type is not null");
            return (Criteria) this;
        }

        public Criteria andReviewTypeEqualTo(Integer value) {
            addCriterion("review_type =", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("review_type = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotEqualTo(Integer value) {
            addCriterion("review_type <>", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("review_type <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andReviewTypeGreaterThan(Integer value) {
            addCriterion("review_type >", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("review_type > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andReviewTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("review_type >=", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("review_type >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andReviewTypeLessThan(Integer value) {
            addCriterion("review_type <", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("review_type < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andReviewTypeLessThanOrEqualTo(Integer value) {
            addCriterion("review_type <=", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("review_type <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andReviewTypeIn(List<Integer> values) {
            addCriterion("review_type in", values, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotIn(List<Integer> values) {
            addCriterion("review_type not in", values, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeBetween(Integer value1, Integer value2) {
            addCriterion("review_type between", value1, value2, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("review_type not between", value1, value2, "reviewType");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdIsNull() {
            addCriterion("cancel_file_id is null");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdIsNotNull() {
            addCriterion("cancel_file_id is not null");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdEqualTo(String value) {
            addCriterion("cancel_file_id =", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("cancel_file_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCancelFileIdNotEqualTo(String value) {
            addCriterion("cancel_file_id <>", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("cancel_file_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCancelFileIdGreaterThan(String value) {
            addCriterion("cancel_file_id >", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("cancel_file_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCancelFileIdGreaterThanOrEqualTo(String value) {
            addCriterion("cancel_file_id >=", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("cancel_file_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCancelFileIdLessThan(String value) {
            addCriterion("cancel_file_id <", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("cancel_file_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCancelFileIdLessThanOrEqualTo(String value) {
            addCriterion("cancel_file_id <=", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("cancel_file_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCancelFileIdLike(String value) {
            addCriterion("cancel_file_id like", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdNotLike(String value) {
            addCriterion("cancel_file_id not like", value, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdIn(List<String> values) {
            addCriterion("cancel_file_id in", values, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdNotIn(List<String> values) {
            addCriterion("cancel_file_id not in", values, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdBetween(String value1, String value2) {
            addCriterion("cancel_file_id between", value1, value2, "cancelFileId");
            return (Criteria) this;
        }

        public Criteria andCancelFileIdNotBetween(String value1, String value2) {
            addCriterion("cancel_file_id not between", value1, value2, "cancelFileId");
            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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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 andCreateUserIdIsNull() {
            addCriterion("create_user_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIsNotNull() {
            addCriterion("create_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdEqualTo(Long value) {
            addCriterion("create_user_id =", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("create_user_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotEqualTo(Long value) {
            addCriterion("create_user_id <>", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("create_user_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThan(Long value) {
            addCriterion("create_user_id >", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("create_user_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("create_user_id >=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("create_user_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThan(Long value) {
            addCriterion("create_user_id <", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("create_user_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("create_user_id <=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("create_user_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIn(List<Long> values) {
            addCriterion("create_user_id in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotIn(List<Long> values) {
            addCriterion("create_user_id not in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdBetween(Long value1, Long value2) {
            addCriterion("create_user_id between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("create_user_id not between", value1, value2, "createUserId");
            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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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 andUpdateUserIdIsNull() {
            addCriterion("update_user_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNotNull() {
            addCriterion("update_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdEqualTo(Long value) {
            addCriterion("update_user_id =", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("update_user_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotEqualTo(Long value) {
            addCriterion("update_user_id <>", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("update_user_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThan(Long value) {
            addCriterion("update_user_id >", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("update_user_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("update_user_id >=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("update_user_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThan(Long value) {
            addCriterion("update_user_id <", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("update_user_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("update_user_id <=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("update_user_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIn(List<Long> values) {
            addCriterion("update_user_id in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotIn(List<Long> values) {
            addCriterion("update_user_id not in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdBetween(Long value1, Long value2) {
            addCriterion("update_user_id between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("update_user_id not between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andRejectReasonIsNull() {
            addCriterion("reject_reason is null");
            return (Criteria) this;
        }

        public Criteria andRejectReasonIsNotNull() {
            addCriterion("reject_reason is not null");
            return (Criteria) this;
        }

        public Criteria andRejectReasonEqualTo(String value) {
            addCriterion("reject_reason =", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("reject_reason = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRejectReasonNotEqualTo(String value) {
            addCriterion("reject_reason <>", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonNotEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("reject_reason <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRejectReasonGreaterThan(String value) {
            addCriterion("reject_reason >", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonGreaterThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("reject_reason > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRejectReasonGreaterThanOrEqualTo(String value) {
            addCriterion("reject_reason >=", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonGreaterThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("reject_reason >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRejectReasonLessThan(String value) {
            addCriterion("reject_reason <", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonLessThanColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("reject_reason < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRejectReasonLessThanOrEqualTo(String value) {
            addCriterion("reject_reason <=", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonLessThanOrEqualToColumn(ContractSub.Column column) {
            addCriterion(new StringBuilder("reject_reason <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRejectReasonLike(String value) {
            addCriterion("reject_reason like", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonNotLike(String value) {
            addCriterion("reject_reason not like", value, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonIn(List<String> values) {
            addCriterion("reject_reason in", values, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonNotIn(List<String> values) {
            addCriterion("reject_reason not in", values, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonBetween(String value1, String value2) {
            addCriterion("reject_reason between", value1, value2, "rejectReason");
            return (Criteria) this;
        }

        public Criteria andRejectReasonNotBetween(String value1, String value2) {
            addCriterion("reject_reason not between", value1, value2, "rejectReason");
            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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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(ContractSub.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 contract_sub
     *
     * @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 contract_sub
         *
         * @mbg.generated
         */
        private ContractSubExample example;

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

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

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table contract_sub
         *
         * @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 contract_sub
         *
         * @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 contract_sub
         *
         * @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 contract_sub
             *
             * @mbg.generated
             */
            Criteria add(Criteria add);
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table contract_sub
     *
     * @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 contract_sub
         *
         * @mbg.generated
         */
        void criteria(Criteria criteria);
    }

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