package cn.superdesk.uniorder.dao.entity.thirdpart.szhtxx.electronicInvoice;

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

public class SzhtxxElectronicInvoiceFptxxExtendInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

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

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

    public String getOrderByClause() {
        return orderByClause;
    }

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

    public boolean isDistinct() {
        return distinct;
    }

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

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

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

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

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

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

    /**
    szhtxx_electronic_invoice_fptxx_extend_info
     *
     * @mbg.generated Thu May 26 15:08:39 CST 2022
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

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

        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 andFpqqlshIsNull() {
            addCriterion("fpqqlsh is null");
            return (Criteria) this;
        }

        public Criteria andFpqqlshIsNotNull() {
            addCriterion("fpqqlsh is not null");
            return (Criteria) this;
        }

        public Criteria andFpqqlshEqualTo(String value) {
            addCriterion("fpqqlsh =", value, "fpqqlsh");
            return (Criteria) this;
        }

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

        public Criteria andFpqqlshGreaterThan(String value) {
            addCriterion("fpqqlsh >", value, "fpqqlsh");
            return (Criteria) this;
        }

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

        public Criteria andFpqqlshLessThan(String value) {
            addCriterion("fpqqlsh <", value, "fpqqlsh");
            return (Criteria) this;
        }

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

        public Criteria andFpqqlshLike(String value) {
            addCriterion("fpqqlsh like", value, "fpqqlsh");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andBillSentSignNameIsNull() {
            addCriterion("bill_sent_sign_name is null");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameIsNotNull() {
            addCriterion("bill_sent_sign_name is not null");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameEqualTo(String value) {
            addCriterion("bill_sent_sign_name =", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameNotEqualTo(String value) {
            addCriterion("bill_sent_sign_name <>", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameGreaterThan(String value) {
            addCriterion("bill_sent_sign_name >", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameGreaterThanOrEqualTo(String value) {
            addCriterion("bill_sent_sign_name >=", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameLessThan(String value) {
            addCriterion("bill_sent_sign_name <", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameLessThanOrEqualTo(String value) {
            addCriterion("bill_sent_sign_name <=", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameLike(String value) {
            addCriterion("bill_sent_sign_name like", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameNotLike(String value) {
            addCriterion("bill_sent_sign_name not like", value, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameIn(List<String> values) {
            addCriterion("bill_sent_sign_name in", values, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameNotIn(List<String> values) {
            addCriterion("bill_sent_sign_name not in", values, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameBetween(String value1, String value2) {
            addCriterion("bill_sent_sign_name between", value1, value2, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andBillSentSignNameNotBetween(String value1, String value2) {
            addCriterion("bill_sent_sign_name not between", value1, value2, "billSentSignName");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalIsNull() {
            addCriterion("pdf_url_original is null");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalIsNotNull() {
            addCriterion("pdf_url_original is not null");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalEqualTo(String value) {
            addCriterion("pdf_url_original =", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalNotEqualTo(String value) {
            addCriterion("pdf_url_original <>", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalGreaterThan(String value) {
            addCriterion("pdf_url_original >", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalGreaterThanOrEqualTo(String value) {
            addCriterion("pdf_url_original >=", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalLessThan(String value) {
            addCriterion("pdf_url_original <", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalLessThanOrEqualTo(String value) {
            addCriterion("pdf_url_original <=", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalLike(String value) {
            addCriterion("pdf_url_original like", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalNotLike(String value) {
            addCriterion("pdf_url_original not like", value, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalIn(List<String> values) {
            addCriterion("pdf_url_original in", values, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalNotIn(List<String> values) {
            addCriterion("pdf_url_original not in", values, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalBetween(String value1, String value2) {
            addCriterion("pdf_url_original between", value1, value2, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlOriginalNotBetween(String value1, String value2) {
            addCriterion("pdf_url_original not between", value1, value2, "pdfUrlOriginal");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedIsNull() {
            addCriterion("pdf_url_saved is null");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedIsNotNull() {
            addCriterion("pdf_url_saved is not null");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedEqualTo(String value) {
            addCriterion("pdf_url_saved =", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedNotEqualTo(String value) {
            addCriterion("pdf_url_saved <>", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedGreaterThan(String value) {
            addCriterion("pdf_url_saved >", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedGreaterThanOrEqualTo(String value) {
            addCriterion("pdf_url_saved >=", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedLessThan(String value) {
            addCriterion("pdf_url_saved <", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedLessThanOrEqualTo(String value) {
            addCriterion("pdf_url_saved <=", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedLike(String value) {
            addCriterion("pdf_url_saved like", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedNotLike(String value) {
            addCriterion("pdf_url_saved not like", value, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedIn(List<String> values) {
            addCriterion("pdf_url_saved in", values, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedNotIn(List<String> values) {
            addCriterion("pdf_url_saved not in", values, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedBetween(String value1, String value2) {
            addCriterion("pdf_url_saved between", value1, value2, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andPdfUrlSavedNotBetween(String value1, String value2) {
            addCriterion("pdf_url_saved not between", value1, value2, "pdfUrlSaved");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameIsNull() {
            addCriterion("ghfqylx_name is null");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameIsNotNull() {
            addCriterion("ghfqylx_name is not null");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameEqualTo(String value) {
            addCriterion("ghfqylx_name =", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameNotEqualTo(String value) {
            addCriterion("ghfqylx_name <>", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameGreaterThan(String value) {
            addCriterion("ghfqylx_name >", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameGreaterThanOrEqualTo(String value) {
            addCriterion("ghfqylx_name >=", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameLessThan(String value) {
            addCriterion("ghfqylx_name <", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameLessThanOrEqualTo(String value) {
            addCriterion("ghfqylx_name <=", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameLike(String value) {
            addCriterion("ghfqylx_name like", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameNotLike(String value) {
            addCriterion("ghfqylx_name not like", value, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameIn(List<String> values) {
            addCriterion("ghfqylx_name in", values, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameNotIn(List<String> values) {
            addCriterion("ghfqylx_name not in", values, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameBetween(String value1, String value2) {
            addCriterion("ghfqylx_name between", value1, value2, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andGhfqylxNameNotBetween(String value1, String value2) {
            addCriterion("ghfqylx_name not between", value1, value2, "ghfqylxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameIsNull() {
            addCriterion("kplx_name is null");
            return (Criteria) this;
        }

        public Criteria andKplxNameIsNotNull() {
            addCriterion("kplx_name is not null");
            return (Criteria) this;
        }

        public Criteria andKplxNameEqualTo(String value) {
            addCriterion("kplx_name =", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameNotEqualTo(String value) {
            addCriterion("kplx_name <>", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameGreaterThan(String value) {
            addCriterion("kplx_name >", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameGreaterThanOrEqualTo(String value) {
            addCriterion("kplx_name >=", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameLessThan(String value) {
            addCriterion("kplx_name <", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameLessThanOrEqualTo(String value) {
            addCriterion("kplx_name <=", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameLike(String value) {
            addCriterion("kplx_name like", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameNotLike(String value) {
            addCriterion("kplx_name not like", value, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameIn(List<String> values) {
            addCriterion("kplx_name in", values, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameNotIn(List<String> values) {
            addCriterion("kplx_name not in", values, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameBetween(String value1, String value2) {
            addCriterion("kplx_name between", value1, value2, "kplxName");
            return (Criteria) this;
        }

        public Criteria andKplxNameNotBetween(String value1, String value2) {
            addCriterion("kplx_name not between", value1, value2, "kplxName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameIsNull() {
            addCriterion("qd_bz_name is null");
            return (Criteria) this;
        }

        public Criteria andQdBzNameIsNotNull() {
            addCriterion("qd_bz_name is not null");
            return (Criteria) this;
        }

        public Criteria andQdBzNameEqualTo(String value) {
            addCriterion("qd_bz_name =", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameNotEqualTo(String value) {
            addCriterion("qd_bz_name <>", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameGreaterThan(String value) {
            addCriterion("qd_bz_name >", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameGreaterThanOrEqualTo(String value) {
            addCriterion("qd_bz_name >=", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameLessThan(String value) {
            addCriterion("qd_bz_name <", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameLessThanOrEqualTo(String value) {
            addCriterion("qd_bz_name <=", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameLike(String value) {
            addCriterion("qd_bz_name like", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameNotLike(String value) {
            addCriterion("qd_bz_name not like", value, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameIn(List<String> values) {
            addCriterion("qd_bz_name in", values, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameNotIn(List<String> values) {
            addCriterion("qd_bz_name not in", values, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameBetween(String value1, String value2) {
            addCriterion("qd_bz_name between", value1, value2, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andQdBzNameNotBetween(String value1, String value2) {
            addCriterion("qd_bz_name not between", value1, value2, "qdBzName");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteIsNull() {
            addCriterion("reason_red_write is null");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteIsNotNull() {
            addCriterion("reason_red_write is not null");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteEqualTo(String value) {
            addCriterion("reason_red_write =", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteNotEqualTo(String value) {
            addCriterion("reason_red_write <>", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteGreaterThan(String value) {
            addCriterion("reason_red_write >", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteGreaterThanOrEqualTo(String value) {
            addCriterion("reason_red_write >=", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteLessThan(String value) {
            addCriterion("reason_red_write <", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteLessThanOrEqualTo(String value) {
            addCriterion("reason_red_write <=", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteLike(String value) {
            addCriterion("reason_red_write like", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteNotLike(String value) {
            addCriterion("reason_red_write not like", value, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteIn(List<String> values) {
            addCriterion("reason_red_write in", values, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteNotIn(List<String> values) {
            addCriterion("reason_red_write not in", values, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteBetween(String value1, String value2) {
            addCriterion("reason_red_write between", value1, value2, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andReasonRedWriteNotBetween(String value1, String value2) {
            addCriterion("reason_red_write not between", value1, value2, "reasonRedWrite");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffIsNull() {
            addCriterion("is_red_write_off is null");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffIsNotNull() {
            addCriterion("is_red_write_off is not null");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffEqualTo(Integer value) {
            addCriterion("is_red_write_off =", value, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffNotEqualTo(Integer value) {
            addCriterion("is_red_write_off <>", value, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffGreaterThan(Integer value) {
            addCriterion("is_red_write_off >", value, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_red_write_off >=", value, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffLessThan(Integer value) {
            addCriterion("is_red_write_off <", value, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffLessThanOrEqualTo(Integer value) {
            addCriterion("is_red_write_off <=", value, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffIn(List<Integer> values) {
            addCriterion("is_red_write_off in", values, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffNotIn(List<Integer> values) {
            addCriterion("is_red_write_off not in", values, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffBetween(Integer value1, Integer value2) {
            addCriterion("is_red_write_off between", value1, value2, "isRedWriteOff");
            return (Criteria) this;
        }

        public Criteria andIsRedWriteOffNotBetween(Integer value1, Integer value2) {
            addCriterion("is_red_write_off not between", value1, value2, "isRedWriteOff");
            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 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 andUpdateUserIdNotEqualTo(Long value) {
            addCriterion("update_user_id <>", value, "updateUserId");
            return (Criteria) this;
        }

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

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

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

        public Criteria andUpdateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("update_user_id <=", value, "updateUserId");
            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 andUpdateUserNameIsNull() {
            addCriterion("update_user_name is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameIsNotNull() {
            addCriterion("update_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameEqualTo(String value) {
            addCriterion("update_user_name =", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotEqualTo(String value) {
            addCriterion("update_user_name <>", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameGreaterThan(String value) {
            addCriterion("update_user_name >", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("update_user_name >=", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameLessThan(String value) {
            addCriterion("update_user_name <", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameLessThanOrEqualTo(String value) {
            addCriterion("update_user_name <=", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameLike(String value) {
            addCriterion("update_user_name like", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotLike(String value) {
            addCriterion("update_user_name not like", value, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameIn(List<String> values) {
            addCriterion("update_user_name in", values, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotIn(List<String> values) {
            addCriterion("update_user_name not in", values, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameBetween(String value1, String value2) {
            addCriterion("update_user_name between", value1, value2, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNameNotBetween(String value1, String value2) {
            addCriterion("update_user_name not between", value1, value2, "updateUserName");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Integer value) {
            addCriterion("deleted =", value, "deleted");
            return (Criteria) this;
        }

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

        public Criteria andDeletedGreaterThan(Integer value) {
            addCriterion("deleted >", value, "deleted");
            return (Criteria) this;
        }

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

        public Criteria andDeletedLessThan(Integer value) {
            addCriterion("deleted <", value, "deleted");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andBatchIdIsNull() {
            addCriterion("batch_id is null");
            return (Criteria) this;
        }

        public Criteria andBatchIdIsNotNull() {
            addCriterion("batch_id is not null");
            return (Criteria) this;
        }

        public Criteria andBatchIdEqualTo(String value) {
            addCriterion("batch_id =", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotEqualTo(String value) {
            addCriterion("batch_id <>", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdGreaterThan(String value) {
            addCriterion("batch_id >", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdGreaterThanOrEqualTo(String value) {
            addCriterion("batch_id >=", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdLessThan(String value) {
            addCriterion("batch_id <", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdLessThanOrEqualTo(String value) {
            addCriterion("batch_id <=", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdLike(String value) {
            addCriterion("batch_id like", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotLike(String value) {
            addCriterion("batch_id not like", value, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdIn(List<String> values) {
            addCriterion("batch_id in", values, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotIn(List<String> values) {
            addCriterion("batch_id not in", values, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdBetween(String value1, String value2) {
            addCriterion("batch_id between", value1, value2, "batchId");
            return (Criteria) this;
        }

        public Criteria andBatchIdNotBetween(String value1, String value2) {
            addCriterion("batch_id not between", value1, value2, "batchId");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberIsNull() {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number is null");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberIsNotNull() {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number is not null");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number =", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberNotEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number <>", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberGreaterThan(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number >", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberGreaterThanOrEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number >=", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberLessThan(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number <", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberLessThanOrEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number <=", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberLike(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number like", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberNotLike(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number not like", value, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberIn(List<String> values) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number in", values, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberNotIn(List<String> values) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number not in", values, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberBetween(String value1, String value2) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number between", value1, value2, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceNumberNotBetween(String value1, String value2) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_number not between", value1, value2, "productManagerRequirementsBlueOrRedInvoiceNumber");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeIsNull() {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code is null");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeIsNotNull() {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code is not null");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code =", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeNotEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code <>", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeGreaterThan(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code >", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeGreaterThanOrEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code >=", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeLessThan(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code <", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeLessThanOrEqualTo(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code <=", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeLike(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code like", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeNotLike(String value) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code not like", value, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeIn(List<String> values) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code in", values, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeNotIn(List<String> values) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code not in", values, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeBetween(String value1, String value2) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code between", value1, value2, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andProductManagerRequirementsBlueOrRedInvoiceCodeNotBetween(String value1, String value2) {
            addCriterion("product_manager_requirements_blue_or_red_invoice_code not between", value1, value2, "productManagerRequirementsBlueOrRedInvoiceCode");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusIsNull() {
            addCriterion("pushed_out_status is null");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusIsNotNull() {
            addCriterion("pushed_out_status is not null");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusEqualTo(Integer value) {
            addCriterion("pushed_out_status =", value, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusNotEqualTo(Integer value) {
            addCriterion("pushed_out_status <>", value, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusGreaterThan(Integer value) {
            addCriterion("pushed_out_status >", value, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("pushed_out_status >=", value, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusLessThan(Integer value) {
            addCriterion("pushed_out_status <", value, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusLessThanOrEqualTo(Integer value) {
            addCriterion("pushed_out_status <=", value, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusIn(List<Integer> values) {
            addCriterion("pushed_out_status in", values, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusNotIn(List<Integer> values) {
            addCriterion("pushed_out_status not in", values, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusBetween(Integer value1, Integer value2) {
            addCriterion("pushed_out_status between", value1, value2, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andPushedOutStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("pushed_out_status not between", value1, value2, "pushedOutStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusIsNull() {
            addCriterion("sent_email_status is null");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusIsNotNull() {
            addCriterion("sent_email_status is not null");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusEqualTo(Integer value) {
            addCriterion("sent_email_status =", value, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusNotEqualTo(Integer value) {
            addCriterion("sent_email_status <>", value, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusGreaterThan(Integer value) {
            addCriterion("sent_email_status >", value, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("sent_email_status >=", value, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusLessThan(Integer value) {
            addCriterion("sent_email_status <", value, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusLessThanOrEqualTo(Integer value) {
            addCriterion("sent_email_status <=", value, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusIn(List<Integer> values) {
            addCriterion("sent_email_status in", values, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusNotIn(List<Integer> values) {
            addCriterion("sent_email_status not in", values, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusBetween(Integer value1, Integer value2) {
            addCriterion("sent_email_status between", value1, value2, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andSentEmailStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("sent_email_status not between", value1, value2, "sentEmailStatus");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdIsNull() {
            addCriterion("invoice_apply_id is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdIsNotNull() {
            addCriterion("invoice_apply_id is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdEqualTo(Long value) {
            addCriterion("invoice_apply_id =", value, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdNotEqualTo(Long value) {
            addCriterion("invoice_apply_id <>", value, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdGreaterThan(Long value) {
            addCriterion("invoice_apply_id >", value, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("invoice_apply_id >=", value, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdLessThan(Long value) {
            addCriterion("invoice_apply_id <", value, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdLessThanOrEqualTo(Long value) {
            addCriterion("invoice_apply_id <=", value, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdIn(List<Long> values) {
            addCriterion("invoice_apply_id in", values, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdNotIn(List<Long> values) {
            addCriterion("invoice_apply_id not in", values, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdBetween(Long value1, Long value2) {
            addCriterion("invoice_apply_id between", value1, value2, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplyIdNotBetween(Long value1, Long value2) {
            addCriterion("invoice_apply_id not between", value1, value2, "invoiceApplyId");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnIsNull() {
            addCriterion("invoice_apply_sn is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnIsNotNull() {
            addCriterion("invoice_apply_sn is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnEqualTo(String value) {
            addCriterion("invoice_apply_sn =", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotEqualTo(String value) {
            addCriterion("invoice_apply_sn <>", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnGreaterThan(String value) {
            addCriterion("invoice_apply_sn >", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_apply_sn >=", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnLessThan(String value) {
            addCriterion("invoice_apply_sn <", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnLessThanOrEqualTo(String value) {
            addCriterion("invoice_apply_sn <=", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnLike(String value) {
            addCriterion("invoice_apply_sn like", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotLike(String value) {
            addCriterion("invoice_apply_sn not like", value, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnIn(List<String> values) {
            addCriterion("invoice_apply_sn in", values, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotIn(List<String> values) {
            addCriterion("invoice_apply_sn not in", values, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnBetween(String value1, String value2) {
            addCriterion("invoice_apply_sn between", value1, value2, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andInvoiceApplySnNotBetween(String value1, String value2) {
            addCriterion("invoice_apply_sn not between", value1, value2, "invoiceApplySn");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdIsNull() {
            addCriterion("become_invalid_user_id is null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdIsNotNull() {
            addCriterion("become_invalid_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdEqualTo(Long value) {
            addCriterion("become_invalid_user_id =", value, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdNotEqualTo(Long value) {
            addCriterion("become_invalid_user_id <>", value, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdGreaterThan(Long value) {
            addCriterion("become_invalid_user_id >", value, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("become_invalid_user_id >=", value, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdLessThan(Long value) {
            addCriterion("become_invalid_user_id <", value, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdLessThanOrEqualTo(Long value) {
            addCriterion("become_invalid_user_id <=", value, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdIn(List<Long> values) {
            addCriterion("become_invalid_user_id in", values, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdNotIn(List<Long> values) {
            addCriterion("become_invalid_user_id not in", values, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdBetween(Long value1, Long value2) {
            addCriterion("become_invalid_user_id between", value1, value2, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserIdNotBetween(Long value1, Long value2) {
            addCriterion("become_invalid_user_id not between", value1, value2, "becomeInvalidUserId");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameIsNull() {
            addCriterion("become_invalid_user_name is null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameIsNotNull() {
            addCriterion("become_invalid_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameEqualTo(String value) {
            addCriterion("become_invalid_user_name =", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameNotEqualTo(String value) {
            addCriterion("become_invalid_user_name <>", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameGreaterThan(String value) {
            addCriterion("become_invalid_user_name >", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("become_invalid_user_name >=", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameLessThan(String value) {
            addCriterion("become_invalid_user_name <", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameLessThanOrEqualTo(String value) {
            addCriterion("become_invalid_user_name <=", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameLike(String value) {
            addCriterion("become_invalid_user_name like", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameNotLike(String value) {
            addCriterion("become_invalid_user_name not like", value, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameIn(List<String> values) {
            addCriterion("become_invalid_user_name in", values, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameNotIn(List<String> values) {
            addCriterion("become_invalid_user_name not in", values, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameBetween(String value1, String value2) {
            addCriterion("become_invalid_user_name between", value1, value2, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidUserNameNotBetween(String value1, String value2) {
            addCriterion("become_invalid_user_name not between", value1, value2, "becomeInvalidUserName");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeIsNull() {
            addCriterion("become_invalid_time is null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeIsNotNull() {
            addCriterion("become_invalid_time is not null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeEqualTo(Date value) {
            addCriterion("become_invalid_time =", value, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeNotEqualTo(Date value) {
            addCriterion("become_invalid_time <>", value, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeGreaterThan(Date value) {
            addCriterion("become_invalid_time >", value, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("become_invalid_time >=", value, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeLessThan(Date value) {
            addCriterion("become_invalid_time <", value, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeLessThanOrEqualTo(Date value) {
            addCriterion("become_invalid_time <=", value, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeIn(List<Date> values) {
            addCriterion("become_invalid_time in", values, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeNotIn(List<Date> values) {
            addCriterion("become_invalid_time not in", values, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeBetween(Date value1, Date value2) {
            addCriterion("become_invalid_time between", value1, value2, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidTimeNotBetween(Date value1, Date value2) {
            addCriterion("become_invalid_time not between", value1, value2, "becomeInvalidTime");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonIsNull() {
            addCriterion("become_invalid_reason is null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonIsNotNull() {
            addCriterion("become_invalid_reason is not null");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonEqualTo(String value) {
            addCriterion("become_invalid_reason =", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonNotEqualTo(String value) {
            addCriterion("become_invalid_reason <>", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonGreaterThan(String value) {
            addCriterion("become_invalid_reason >", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonGreaterThanOrEqualTo(String value) {
            addCriterion("become_invalid_reason >=", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonLessThan(String value) {
            addCriterion("become_invalid_reason <", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonLessThanOrEqualTo(String value) {
            addCriterion("become_invalid_reason <=", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonLike(String value) {
            addCriterion("become_invalid_reason like", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonNotLike(String value) {
            addCriterion("become_invalid_reason not like", value, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonIn(List<String> values) {
            addCriterion("become_invalid_reason in", values, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonNotIn(List<String> values) {
            addCriterion("become_invalid_reason not in", values, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonBetween(String value1, String value2) {
            addCriterion("become_invalid_reason between", value1, value2, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andBecomeInvalidReasonNotBetween(String value1, String value2) {
            addCriterion("become_invalid_reason not between", value1, value2, "becomeInvalidReason");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignIsNull() {
            addCriterion("flag_void_sign is null");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignIsNotNull() {
            addCriterion("flag_void_sign is not null");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignEqualTo(Integer value) {
            addCriterion("flag_void_sign =", value, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignNotEqualTo(Integer value) {
            addCriterion("flag_void_sign <>", value, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignGreaterThan(Integer value) {
            addCriterion("flag_void_sign >", value, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignGreaterThanOrEqualTo(Integer value) {
            addCriterion("flag_void_sign >=", value, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignLessThan(Integer value) {
            addCriterion("flag_void_sign <", value, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignLessThanOrEqualTo(Integer value) {
            addCriterion("flag_void_sign <=", value, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignIn(List<Integer> values) {
            addCriterion("flag_void_sign in", values, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignNotIn(List<Integer> values) {
            addCriterion("flag_void_sign not in", values, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignBetween(Integer value1, Integer value2) {
            addCriterion("flag_void_sign between", value1, value2, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagVoidSignNotBetween(Integer value1, Integer value2) {
            addCriterion("flag_void_sign not between", value1, value2, "flagVoidSign");
            return (Criteria) this;
        }

        public Criteria andFlagRepairIsNull() {
            addCriterion("flag_repair is null");
            return (Criteria) this;
        }

        public Criteria andFlagRepairIsNotNull() {
            addCriterion("flag_repair is not null");
            return (Criteria) this;
        }

        public Criteria andFlagRepairEqualTo(Integer value) {
            addCriterion("flag_repair =", value, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairNotEqualTo(Integer value) {
            addCriterion("flag_repair <>", value, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairGreaterThan(Integer value) {
            addCriterion("flag_repair >", value, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairGreaterThanOrEqualTo(Integer value) {
            addCriterion("flag_repair >=", value, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairLessThan(Integer value) {
            addCriterion("flag_repair <", value, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairLessThanOrEqualTo(Integer value) {
            addCriterion("flag_repair <=", value, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairIn(List<Integer> values) {
            addCriterion("flag_repair in", values, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairNotIn(List<Integer> values) {
            addCriterion("flag_repair not in", values, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairBetween(Integer value1, Integer value2) {
            addCriterion("flag_repair between", value1, value2, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagRepairNotBetween(Integer value1, Integer value2) {
            addCriterion("flag_repair not between", value1, value2, "flagRepair");
            return (Criteria) this;
        }

        public Criteria andFlagListIsNull() {
            addCriterion("flag_list is null");
            return (Criteria) this;
        }

        public Criteria andFlagListIsNotNull() {
            addCriterion("flag_list is not null");
            return (Criteria) this;
        }

        public Criteria andFlagListEqualTo(Integer value) {
            addCriterion("flag_list =", value, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListNotEqualTo(Integer value) {
            addCriterion("flag_list <>", value, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListGreaterThan(Integer value) {
            addCriterion("flag_list >", value, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListGreaterThanOrEqualTo(Integer value) {
            addCriterion("flag_list >=", value, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListLessThan(Integer value) {
            addCriterion("flag_list <", value, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListLessThanOrEqualTo(Integer value) {
            addCriterion("flag_list <=", value, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListIn(List<Integer> values) {
            addCriterion("flag_list in", values, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListNotIn(List<Integer> values) {
            addCriterion("flag_list not in", values, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListBetween(Integer value1, Integer value2) {
            addCriterion("flag_list between", value1, value2, "flagList");
            return (Criteria) this;
        }

        public Criteria andFlagListNotBetween(Integer value1, Integer value2) {
            addCriterion("flag_list not between", value1, value2, "flagList");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnIsNull() {
            addCriterion("red_tax_info_sn is null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnIsNotNull() {
            addCriterion("red_tax_info_sn is not null");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnEqualTo(String value) {
            addCriterion("red_tax_info_sn =", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotEqualTo(String value) {
            addCriterion("red_tax_info_sn <>", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnGreaterThan(String value) {
            addCriterion("red_tax_info_sn >", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnGreaterThanOrEqualTo(String value) {
            addCriterion("red_tax_info_sn >=", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnLessThan(String value) {
            addCriterion("red_tax_info_sn <", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnLessThanOrEqualTo(String value) {
            addCriterion("red_tax_info_sn <=", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnLike(String value) {
            addCriterion("red_tax_info_sn like", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotLike(String value) {
            addCriterion("red_tax_info_sn not like", value, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnIn(List<String> values) {
            addCriterion("red_tax_info_sn in", values, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotIn(List<String> values) {
            addCriterion("red_tax_info_sn not in", values, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnBetween(String value1, String value2) {
            addCriterion("red_tax_info_sn between", value1, value2, "redTaxInfoSn");
            return (Criteria) this;
        }

        public Criteria andRedTaxInfoSnNotBetween(String value1, String value2) {
            addCriterion("red_tax_info_sn not between", value1, value2, "redTaxInfoSn");
            return (Criteria) this;
        }
    }

    /**
    szhtxx_electronic_invoice_fptxx_extend_info
     *
     * @mbg.generated do_not_delete_during_merge Thu May 26 15:08:39 CST 2022
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    /**
    szhtxx_electronic_invoice_fptxx_extend_info
     *
     * @mbg.generated Thu May 26 15:08:39 CST 2022
     */
    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);
        }
    }
}