package pwc.taxtech.atms.vat.entity;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            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 andPeriodIsNull() {
            addCriterion("period is null");
            return (Criteria) this;
        }

        public Criteria andPeriodIsNotNull() {
            addCriterion("period is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodEqualTo(Integer value) {
            addCriterion("period =", value, "period");
            return (Criteria) this;
        }

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

        public Criteria andPeriodGreaterThan(Integer value) {
            addCriterion("period >", value, "period");
            return (Criteria) this;
        }

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

        public Criteria andPeriodLessThan(Integer value) {
            addCriterion("period <", value, "period");
            return (Criteria) this;
        }

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

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

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

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

        public Criteria andPeriodNotBetween(Integer value1, Integer value2) {
            addCriterion("period not between", value1, value2, "period");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdIsNull() {
            addCriterion("cell_template_id is null");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdIsNotNull() {
            addCriterion("cell_template_id is not null");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdEqualTo(Long value) {
            addCriterion("cell_template_id =", value, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdNotEqualTo(Long value) {
            addCriterion("cell_template_id <>", value, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdGreaterThan(Long value) {
            addCriterion("cell_template_id >", value, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdGreaterThanOrEqualTo(Long value) {
            addCriterion("cell_template_id >=", value, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdLessThan(Long value) {
            addCriterion("cell_template_id <", value, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdLessThanOrEqualTo(Long value) {
            addCriterion("cell_template_id <=", value, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdIn(List<Long> values) {
            addCriterion("cell_template_id in", values, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdNotIn(List<Long> values) {
            addCriterion("cell_template_id not in", values, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdBetween(Long value1, Long value2) {
            addCriterion("cell_template_id between", value1, value2, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateIdNotBetween(Long value1, Long value2) {
            addCriterion("cell_template_id not between", value1, value2, "cellTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdIsNull() {
            addCriterion("report_template_id is null");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdIsNotNull() {
            addCriterion("report_template_id is not null");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdEqualTo(Long value) {
            addCriterion("report_template_id =", value, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdNotEqualTo(Long value) {
            addCriterion("report_template_id <>", value, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdGreaterThan(Long value) {
            addCriterion("report_template_id >", value, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdGreaterThanOrEqualTo(Long value) {
            addCriterion("report_template_id >=", value, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdLessThan(Long value) {
            addCriterion("report_template_id <", value, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdLessThanOrEqualTo(Long value) {
            addCriterion("report_template_id <=", value, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdIn(List<Long> values) {
            addCriterion("report_template_id in", values, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdNotIn(List<Long> values) {
            addCriterion("report_template_id not in", values, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdBetween(Long value1, Long value2) {
            addCriterion("report_template_id between", value1, value2, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andReportTemplateIdNotBetween(Long value1, Long value2) {
            addCriterion("report_template_id not between", value1, value2, "reportTemplateId");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeIsNull() {
            addCriterion("data_source_type is null");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeIsNotNull() {
            addCriterion("data_source_type is not null");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeEqualTo(Integer value) {
            addCriterion("data_source_type =", value, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeNotEqualTo(Integer value) {
            addCriterion("data_source_type <>", value, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeGreaterThan(Integer value) {
            addCriterion("data_source_type >", value, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("data_source_type >=", value, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeLessThan(Integer value) {
            addCriterion("data_source_type <", value, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("data_source_type <=", value, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeIn(List<Integer> values) {
            addCriterion("data_source_type in", values, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeNotIn(List<Integer> values) {
            addCriterion("data_source_type not in", values, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeBetween(Integer value1, Integer value2) {
            addCriterion("data_source_type between", value1, value2, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andDataSourceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("data_source_type not between", value1, value2, "dataSourceType");
            return (Criteria) this;
        }

        public Criteria andFormulaIsNull() {
            addCriterion("formula is null");
            return (Criteria) this;
        }

        public Criteria andFormulaIsNotNull() {
            addCriterion("formula is not null");
            return (Criteria) this;
        }

        public Criteria andFormulaEqualTo(String value) {
            addCriterion("formula =", value, "formula");
            return (Criteria) this;
        }

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

        public Criteria andFormulaGreaterThan(String value) {
            addCriterion("formula >", value, "formula");
            return (Criteria) this;
        }

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

        public Criteria andFormulaLessThan(String value) {
            addCriterion("formula <", value, "formula");
            return (Criteria) this;
        }

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

        public Criteria andFormulaLike(String value) {
            addCriterion("formula like", value, "formula");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andParsedFormulaIsNull() {
            addCriterion("parsed_formula is null");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaIsNotNull() {
            addCriterion("parsed_formula is not null");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaEqualTo(String value) {
            addCriterion("parsed_formula =", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaNotEqualTo(String value) {
            addCriterion("parsed_formula <>", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaGreaterThan(String value) {
            addCriterion("parsed_formula >", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaGreaterThanOrEqualTo(String value) {
            addCriterion("parsed_formula >=", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaLessThan(String value) {
            addCriterion("parsed_formula <", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaLessThanOrEqualTo(String value) {
            addCriterion("parsed_formula <=", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaLike(String value) {
            addCriterion("parsed_formula like", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaNotLike(String value) {
            addCriterion("parsed_formula not like", value, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaIn(List<String> values) {
            addCriterion("parsed_formula in", values, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaNotIn(List<String> values) {
            addCriterion("parsed_formula not in", values, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaBetween(String value1, String value2) {
            addCriterion("parsed_formula between", value1, value2, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andParsedFormulaNotBetween(String value1, String value2) {
            addCriterion("parsed_formula not between", value1, value2, "parsedFormula");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionIsNull() {
            addCriterion("formula_description is null");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionIsNotNull() {
            addCriterion("formula_description is not null");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionEqualTo(String value) {
            addCriterion("formula_description =", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionNotEqualTo(String value) {
            addCriterion("formula_description <>", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionGreaterThan(String value) {
            addCriterion("formula_description >", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("formula_description >=", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionLessThan(String value) {
            addCriterion("formula_description <", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionLessThanOrEqualTo(String value) {
            addCriterion("formula_description <=", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionLike(String value) {
            addCriterion("formula_description like", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionNotLike(String value) {
            addCriterion("formula_description not like", value, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionIn(List<String> values) {
            addCriterion("formula_description in", values, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionNotIn(List<String> values) {
            addCriterion("formula_description not in", values, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionBetween(String value1, String value2) {
            addCriterion("formula_description between", value1, value2, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andFormulaDescriptionNotBetween(String value1, String value2) {
            addCriterion("formula_description not between", value1, value2, "formulaDescription");
            return (Criteria) this;
        }

        public Criteria andAccountCodesIsNull() {
            addCriterion("account_codes is null");
            return (Criteria) this;
        }

        public Criteria andAccountCodesIsNotNull() {
            addCriterion("account_codes is not null");
            return (Criteria) this;
        }

        public Criteria andAccountCodesEqualTo(String value) {
            addCriterion("account_codes =", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesNotEqualTo(String value) {
            addCriterion("account_codes <>", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesGreaterThan(String value) {
            addCriterion("account_codes >", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesGreaterThanOrEqualTo(String value) {
            addCriterion("account_codes >=", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesLessThan(String value) {
            addCriterion("account_codes <", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesLessThanOrEqualTo(String value) {
            addCriterion("account_codes <=", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesLike(String value) {
            addCriterion("account_codes like", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesNotLike(String value) {
            addCriterion("account_codes not like", value, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesIn(List<String> values) {
            addCriterion("account_codes in", values, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesNotIn(List<String> values) {
            addCriterion("account_codes not in", values, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesBetween(String value1, String value2) {
            addCriterion("account_codes between", value1, value2, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andAccountCodesNotBetween(String value1, String value2) {
            addCriterion("account_codes not between", value1, value2, "accountCodes");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIsNull() {
            addCriterion("invoice_type is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIsNotNull() {
            addCriterion("invoice_type is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeEqualTo(Integer value) {
            addCriterion("invoice_type =", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotEqualTo(Integer value) {
            addCriterion("invoice_type <>", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeGreaterThan(Integer value) {
            addCriterion("invoice_type >", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("invoice_type >=", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeLessThan(Integer value) {
            addCriterion("invoice_type <", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("invoice_type <=", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIn(List<Integer> values) {
            addCriterion("invoice_type in", values, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotIn(List<Integer> values) {
            addCriterion("invoice_type not in", values, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeBetween(Integer value1, Integer value2) {
            addCriterion("invoice_type between", value1, value2, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("invoice_type not between", value1, value2, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andTaxRateIsNull() {
            addCriterion("tax_rate is null");
            return (Criteria) this;
        }

        public Criteria andTaxRateIsNotNull() {
            addCriterion("tax_rate is not null");
            return (Criteria) this;
        }

        public Criteria andTaxRateEqualTo(String value) {
            addCriterion("tax_rate =", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotEqualTo(String value) {
            addCriterion("tax_rate <>", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateGreaterThan(String value) {
            addCriterion("tax_rate >", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateGreaterThanOrEqualTo(String value) {
            addCriterion("tax_rate >=", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLessThan(String value) {
            addCriterion("tax_rate <", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLessThanOrEqualTo(String value) {
            addCriterion("tax_rate <=", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLike(String value) {
            addCriterion("tax_rate like", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotLike(String value) {
            addCriterion("tax_rate not like", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateIn(List<String> values) {
            addCriterion("tax_rate in", values, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotIn(List<String> values) {
            addCriterion("tax_rate not in", values, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateBetween(String value1, String value2) {
            addCriterion("tax_rate between", value1, value2, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotBetween(String value1, String value2) {
            addCriterion("tax_rate not between", value1, value2, "taxRate");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeIsNull() {
            addCriterion("invoice_amount_type is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeIsNotNull() {
            addCriterion("invoice_amount_type is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeEqualTo(Integer value) {
            addCriterion("invoice_amount_type =", value, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeNotEqualTo(Integer value) {
            addCriterion("invoice_amount_type <>", value, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeGreaterThan(Integer value) {
            addCriterion("invoice_amount_type >", value, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("invoice_amount_type >=", value, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeLessThan(Integer value) {
            addCriterion("invoice_amount_type <", value, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeLessThanOrEqualTo(Integer value) {
            addCriterion("invoice_amount_type <=", value, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeIn(List<Integer> values) {
            addCriterion("invoice_amount_type in", values, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeNotIn(List<Integer> values) {
            addCriterion("invoice_amount_type not in", values, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeBetween(Integer value1, Integer value2) {
            addCriterion("invoice_amount_type between", value1, value2, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("invoice_amount_type not between", value1, value2, "invoiceAmountType");
            return (Criteria) this;
        }

        public Criteria andModelIdsIsNull() {
            addCriterion("model_ids is null");
            return (Criteria) this;
        }

        public Criteria andModelIdsIsNotNull() {
            addCriterion("model_ids is not null");
            return (Criteria) this;
        }

        public Criteria andModelIdsEqualTo(String value) {
            addCriterion("model_ids =", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsNotEqualTo(String value) {
            addCriterion("model_ids <>", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsGreaterThan(String value) {
            addCriterion("model_ids >", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsGreaterThanOrEqualTo(String value) {
            addCriterion("model_ids >=", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsLessThan(String value) {
            addCriterion("model_ids <", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsLessThanOrEqualTo(String value) {
            addCriterion("model_ids <=", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsLike(String value) {
            addCriterion("model_ids like", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsNotLike(String value) {
            addCriterion("model_ids not like", value, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsIn(List<String> values) {
            addCriterion("model_ids in", values, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsNotIn(List<String> values) {
            addCriterion("model_ids not in", values, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsBetween(String value1, String value2) {
            addCriterion("model_ids between", value1, value2, "modelIds");
            return (Criteria) this;
        }

        public Criteria andModelIdsNotBetween(String value1, String value2) {
            addCriterion("model_ids not between", value1, value2, "modelIds");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            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(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            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(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andInvoiceCategoryIsNull() {
            addCriterion("invoice_category is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryIsNotNull() {
            addCriterion("invoice_category is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryEqualTo(String value) {
            addCriterion("invoice_category =", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryNotEqualTo(String value) {
            addCriterion("invoice_category <>", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryGreaterThan(String value) {
            addCriterion("invoice_category >", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_category >=", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryLessThan(String value) {
            addCriterion("invoice_category <", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryLessThanOrEqualTo(String value) {
            addCriterion("invoice_category <=", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryLike(String value) {
            addCriterion("invoice_category like", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryNotLike(String value) {
            addCriterion("invoice_category not like", value, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryIn(List<String> values) {
            addCriterion("invoice_category in", values, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryNotIn(List<String> values) {
            addCriterion("invoice_category not in", values, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryBetween(String value1, String value2) {
            addCriterion("invoice_category between", value1, value2, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andInvoiceCategoryNotBetween(String value1, String value2) {
            addCriterion("invoice_category not between", value1, value2, "invoiceCategory");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceIsNull() {
            addCriterion("formula_data_source is null");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceIsNotNull() {
            addCriterion("formula_data_source is not null");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceEqualTo(String value) {
            addCriterion("formula_data_source =", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceNotEqualTo(String value) {
            addCriterion("formula_data_source <>", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceGreaterThan(String value) {
            addCriterion("formula_data_source >", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceGreaterThanOrEqualTo(String value) {
            addCriterion("formula_data_source >=", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceLessThan(String value) {
            addCriterion("formula_data_source <", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceLessThanOrEqualTo(String value) {
            addCriterion("formula_data_source <=", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceLike(String value) {
            addCriterion("formula_data_source like", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceNotLike(String value) {
            addCriterion("formula_data_source not like", value, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceIn(List<String> values) {
            addCriterion("formula_data_source in", values, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceNotIn(List<String> values) {
            addCriterion("formula_data_source not in", values, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceBetween(String value1, String value2) {
            addCriterion("formula_data_source between", value1, value2, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andFormulaDataSourceNotBetween(String value1, String value2) {
            addCriterion("formula_data_source not between", value1, value2, "formulaDataSource");
            return (Criteria) this;
        }

        public Criteria andValidationIsNull() {
            addCriterion("validation is null");
            return (Criteria) this;
        }

        public Criteria andValidationIsNotNull() {
            addCriterion("validation is not null");
            return (Criteria) this;
        }

        public Criteria andValidationEqualTo(String value) {
            addCriterion("validation =", value, "validation");
            return (Criteria) this;
        }

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

        public Criteria andValidationGreaterThan(String value) {
            addCriterion("validation >", value, "validation");
            return (Criteria) this;
        }

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

        public Criteria andValidationLessThan(String value) {
            addCriterion("validation <", value, "validation");
            return (Criteria) this;
        }

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

        public Criteria andValidationLike(String value) {
            addCriterion("validation like", value, "validation");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andParsedValidationIsNull() {
            addCriterion("parsed_validation is null");
            return (Criteria) this;
        }

        public Criteria andParsedValidationIsNotNull() {
            addCriterion("parsed_validation is not null");
            return (Criteria) this;
        }

        public Criteria andParsedValidationEqualTo(String value) {
            addCriterion("parsed_validation =", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationNotEqualTo(String value) {
            addCriterion("parsed_validation <>", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationGreaterThan(String value) {
            addCriterion("parsed_validation >", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationGreaterThanOrEqualTo(String value) {
            addCriterion("parsed_validation >=", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationLessThan(String value) {
            addCriterion("parsed_validation <", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationLessThanOrEqualTo(String value) {
            addCriterion("parsed_validation <=", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationLike(String value) {
            addCriterion("parsed_validation like", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationNotLike(String value) {
            addCriterion("parsed_validation not like", value, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationIn(List<String> values) {
            addCriterion("parsed_validation in", values, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationNotIn(List<String> values) {
            addCriterion("parsed_validation not in", values, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationBetween(String value1, String value2) {
            addCriterion("parsed_validation between", value1, value2, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andParsedValidationNotBetween(String value1, String value2) {
            addCriterion("parsed_validation not between", value1, value2, "parsedValidation");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionIsNull() {
            addCriterion("validation_description is null");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionIsNotNull() {
            addCriterion("validation_description is not null");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionEqualTo(String value) {
            addCriterion("validation_description =", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionNotEqualTo(String value) {
            addCriterion("validation_description <>", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionGreaterThan(String value) {
            addCriterion("validation_description >", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("validation_description >=", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionLessThan(String value) {
            addCriterion("validation_description <", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionLessThanOrEqualTo(String value) {
            addCriterion("validation_description <=", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionLike(String value) {
            addCriterion("validation_description like", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionNotLike(String value) {
            addCriterion("validation_description not like", value, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionIn(List<String> values) {
            addCriterion("validation_description in", values, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionNotIn(List<String> values) {
            addCriterion("validation_description not in", values, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionBetween(String value1, String value2) {
            addCriterion("validation_description between", value1, value2, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andValidationDescriptionNotBetween(String value1, String value2) {
            addCriterion("validation_description not between", value1, value2, "validationDescription");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordIsNull() {
            addCriterion("voucher_keyword is null");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordIsNotNull() {
            addCriterion("voucher_keyword is not null");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordEqualTo(String value) {
            addCriterion("voucher_keyword =", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordNotEqualTo(String value) {
            addCriterion("voucher_keyword <>", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordGreaterThan(String value) {
            addCriterion("voucher_keyword >", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordGreaterThanOrEqualTo(String value) {
            addCriterion("voucher_keyword >=", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordLessThan(String value) {
            addCriterion("voucher_keyword <", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordLessThanOrEqualTo(String value) {
            addCriterion("voucher_keyword <=", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordLike(String value) {
            addCriterion("voucher_keyword like", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordNotLike(String value) {
            addCriterion("voucher_keyword not like", value, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordIn(List<String> values) {
            addCriterion("voucher_keyword in", values, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordNotIn(List<String> values) {
            addCriterion("voucher_keyword not in", values, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordBetween(String value1, String value2) {
            addCriterion("voucher_keyword between", value1, value2, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andVoucherKeywordNotBetween(String value1, String value2) {
            addCriterion("voucher_keyword not between", value1, value2, "voucherKeyword");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdIsNull() {
            addCriterion("cell_template_config_id is null");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdIsNotNull() {
            addCriterion("cell_template_config_id is not null");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdEqualTo(Long value) {
            addCriterion("cell_template_config_id =", value, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdNotEqualTo(Long value) {
            addCriterion("cell_template_config_id <>", value, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdGreaterThan(Long value) {
            addCriterion("cell_template_config_id >", value, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdGreaterThanOrEqualTo(Long value) {
            addCriterion("cell_template_config_id >=", value, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdLessThan(Long value) {
            addCriterion("cell_template_config_id <", value, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdLessThanOrEqualTo(Long value) {
            addCriterion("cell_template_config_id <=", value, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdIn(List<Long> values) {
            addCriterion("cell_template_config_id in", values, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdNotIn(List<Long> values) {
            addCriterion("cell_template_config_id not in", values, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdBetween(Long value1, Long value2) {
            addCriterion("cell_template_config_id between", value1, value2, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andCellTemplateConfigIdNotBetween(Long value1, Long value2) {
            addCriterion("cell_template_config_id not between", value1, value2, "cellTemplateConfigId");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaIsNull() {
            addCriterion("key_value_parsed_formula is null");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaIsNotNull() {
            addCriterion("key_value_parsed_formula is not null");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaEqualTo(String value) {
            addCriterion("key_value_parsed_formula =", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaNotEqualTo(String value) {
            addCriterion("key_value_parsed_formula <>", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaGreaterThan(String value) {
            addCriterion("key_value_parsed_formula >", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaGreaterThanOrEqualTo(String value) {
            addCriterion("key_value_parsed_formula >=", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaLessThan(String value) {
            addCriterion("key_value_parsed_formula <", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaLessThanOrEqualTo(String value) {
            addCriterion("key_value_parsed_formula <=", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaLike(String value) {
            addCriterion("key_value_parsed_formula like", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaNotLike(String value) {
            addCriterion("key_value_parsed_formula not like", value, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaIn(List<String> values) {
            addCriterion("key_value_parsed_formula in", values, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaNotIn(List<String> values) {
            addCriterion("key_value_parsed_formula not in", values, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaBetween(String value1, String value2) {
            addCriterion("key_value_parsed_formula between", value1, value2, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andKeyValueParsedFormulaNotBetween(String value1, String value2) {
            addCriterion("key_value_parsed_formula not between", value1, value2, "keyValueParsedFormula");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNull() {
            addCriterion("project_id is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("project_id is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(String value) {
            addCriterion("project_id =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(String value) {
            addCriterion("project_id <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(String value) {
            addCriterion("project_id >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(String value) {
            addCriterion("project_id >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(String value) {
            addCriterion("project_id <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(String value) {
            addCriterion("project_id <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLike(String value) {
            addCriterion("project_id like", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotLike(String value) {
            addCriterion("project_id not like", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<String> values) {
            addCriterion("project_id in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<String> values) {
            addCriterion("project_id not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(String value1, String value2) {
            addCriterion("project_id between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(String value1, String value2) {
            addCriterion("project_id not between", value1, value2, "projectId");
            return (Criteria) this;
        }
    }

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

        protected Criteria() {
            super();
        }
    }

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