package pwc.taxtech.atms.entity;

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

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

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

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

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

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

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

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

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

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dbo.MAILQUEUE
     *
     * @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 dbo.MAILQUEUE
     *
     * @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 dbo.MAILQUEUE
     *
     * @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 dbo.MAILQUEUE
     *
     * @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 dbo.MAILQUEUE
     *
     * @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 andMailseqIsNull() {
            addCriterion("MAILSEQ is null");
            return (Criteria) this;
        }

        public Criteria andMailseqIsNotNull() {
            addCriterion("MAILSEQ is not null");
            return (Criteria) this;
        }

        public Criteria andMailseqEqualTo(Integer value) {
            addCriterion("MAILSEQ =", value, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqNotEqualTo(Integer value) {
            addCriterion("MAILSEQ <>", value, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqGreaterThan(Integer value) {
            addCriterion("MAILSEQ >", value, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqGreaterThanOrEqualTo(Integer value) {
            addCriterion("MAILSEQ >=", value, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqLessThan(Integer value) {
            addCriterion("MAILSEQ <", value, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqLessThanOrEqualTo(Integer value) {
            addCriterion("MAILSEQ <=", value, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqIn(List<Integer> values) {
            addCriterion("MAILSEQ in", values, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqNotIn(List<Integer> values) {
            addCriterion("MAILSEQ not in", values, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqBetween(Integer value1, Integer value2) {
            addCriterion("MAILSEQ between", value1, value2, "mailseq");
            return (Criteria) this;
        }

        public Criteria andMailseqNotBetween(Integer value1, Integer value2) {
            addCriterion("MAILSEQ not between", value1, value2, "mailseq");
            return (Criteria) this;
        }

        public Criteria andAppcodeIsNull() {
            addCriterion("APPCODE is null");
            return (Criteria) this;
        }

        public Criteria andAppcodeIsNotNull() {
            addCriterion("APPCODE is not null");
            return (Criteria) this;
        }

        public Criteria andAppcodeEqualTo(String value) {
            addCriterion("APPCODE =", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeNotEqualTo(String value) {
            addCriterion("APPCODE <>", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeGreaterThan(String value) {
            addCriterion("APPCODE >", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeGreaterThanOrEqualTo(String value) {
            addCriterion("APPCODE >=", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeLessThan(String value) {
            addCriterion("APPCODE <", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeLessThanOrEqualTo(String value) {
            addCriterion("APPCODE <=", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeLike(String value) {
            addCriterion("APPCODE like", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeNotLike(String value) {
            addCriterion("APPCODE not like", value, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeIn(List<String> values) {
            addCriterion("APPCODE in", values, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeNotIn(List<String> values) {
            addCriterion("APPCODE not in", values, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeBetween(String value1, String value2) {
            addCriterion("APPCODE between", value1, value2, "appcode");
            return (Criteria) this;
        }

        public Criteria andAppcodeNotBetween(String value1, String value2) {
            addCriterion("APPCODE not between", value1, value2, "appcode");
            return (Criteria) this;
        }

        public Criteria andMtoIsNull() {
            addCriterion("MTO is null");
            return (Criteria) this;
        }

        public Criteria andMtoIsNotNull() {
            addCriterion("MTO is not null");
            return (Criteria) this;
        }

        public Criteria andMtoEqualTo(String value) {
            addCriterion("MTO =", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoNotEqualTo(String value) {
            addCriterion("MTO <>", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoGreaterThan(String value) {
            addCriterion("MTO >", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoGreaterThanOrEqualTo(String value) {
            addCriterion("MTO >=", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoLessThan(String value) {
            addCriterion("MTO <", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoLessThanOrEqualTo(String value) {
            addCriterion("MTO <=", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoLike(String value) {
            addCriterion("MTO like", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoNotLike(String value) {
            addCriterion("MTO not like", value, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoIn(List<String> values) {
            addCriterion("MTO in", values, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoNotIn(List<String> values) {
            addCriterion("MTO not in", values, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoBetween(String value1, String value2) {
            addCriterion("MTO between", value1, value2, "mto");
            return (Criteria) this;
        }

        public Criteria andMtoNotBetween(String value1, String value2) {
            addCriterion("MTO not between", value1, value2, "mto");
            return (Criteria) this;
        }

        public Criteria andMfromIsNull() {
            addCriterion("MFROM is null");
            return (Criteria) this;
        }

        public Criteria andMfromIsNotNull() {
            addCriterion("MFROM is not null");
            return (Criteria) this;
        }

        public Criteria andMfromEqualTo(String value) {
            addCriterion("MFROM =", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromNotEqualTo(String value) {
            addCriterion("MFROM <>", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromGreaterThan(String value) {
            addCriterion("MFROM >", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromGreaterThanOrEqualTo(String value) {
            addCriterion("MFROM >=", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromLessThan(String value) {
            addCriterion("MFROM <", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromLessThanOrEqualTo(String value) {
            addCriterion("MFROM <=", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromLike(String value) {
            addCriterion("MFROM like", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromNotLike(String value) {
            addCriterion("MFROM not like", value, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromIn(List<String> values) {
            addCriterion("MFROM in", values, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromNotIn(List<String> values) {
            addCriterion("MFROM not in", values, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromBetween(String value1, String value2) {
            addCriterion("MFROM between", value1, value2, "mfrom");
            return (Criteria) this;
        }

        public Criteria andMfromNotBetween(String value1, String value2) {
            addCriterion("MFROM not between", value1, value2, "mfrom");
            return (Criteria) this;
        }

        public Criteria andReplytoIsNull() {
            addCriterion("REPLYTO is null");
            return (Criteria) this;
        }

        public Criteria andReplytoIsNotNull() {
            addCriterion("REPLYTO is not null");
            return (Criteria) this;
        }

        public Criteria andReplytoEqualTo(String value) {
            addCriterion("REPLYTO =", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoNotEqualTo(String value) {
            addCriterion("REPLYTO <>", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoGreaterThan(String value) {
            addCriterion("REPLYTO >", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoGreaterThanOrEqualTo(String value) {
            addCriterion("REPLYTO >=", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoLessThan(String value) {
            addCriterion("REPLYTO <", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoLessThanOrEqualTo(String value) {
            addCriterion("REPLYTO <=", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoLike(String value) {
            addCriterion("REPLYTO like", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoNotLike(String value) {
            addCriterion("REPLYTO not like", value, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoIn(List<String> values) {
            addCriterion("REPLYTO in", values, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoNotIn(List<String> values) {
            addCriterion("REPLYTO not in", values, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoBetween(String value1, String value2) {
            addCriterion("REPLYTO between", value1, value2, "replyto");
            return (Criteria) this;
        }

        public Criteria andReplytoNotBetween(String value1, String value2) {
            addCriterion("REPLYTO not between", value1, value2, "replyto");
            return (Criteria) this;
        }

        public Criteria andCcIsNull() {
            addCriterion("CC is null");
            return (Criteria) this;
        }

        public Criteria andCcIsNotNull() {
            addCriterion("CC is not null");
            return (Criteria) this;
        }

        public Criteria andCcEqualTo(String value) {
            addCriterion("CC =", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcNotEqualTo(String value) {
            addCriterion("CC <>", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcGreaterThan(String value) {
            addCriterion("CC >", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcGreaterThanOrEqualTo(String value) {
            addCriterion("CC >=", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcLessThan(String value) {
            addCriterion("CC <", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcLessThanOrEqualTo(String value) {
            addCriterion("CC <=", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcLike(String value) {
            addCriterion("CC like", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcNotLike(String value) {
            addCriterion("CC not like", value, "cc");
            return (Criteria) this;
        }

        public Criteria andCcIn(List<String> values) {
            addCriterion("CC in", values, "cc");
            return (Criteria) this;
        }

        public Criteria andCcNotIn(List<String> values) {
            addCriterion("CC not in", values, "cc");
            return (Criteria) this;
        }

        public Criteria andCcBetween(String value1, String value2) {
            addCriterion("CC between", value1, value2, "cc");
            return (Criteria) this;
        }

        public Criteria andCcNotBetween(String value1, String value2) {
            addCriterion("CC not between", value1, value2, "cc");
            return (Criteria) this;
        }

        public Criteria andBccIsNull() {
            addCriterion("BCC is null");
            return (Criteria) this;
        }

        public Criteria andBccIsNotNull() {
            addCriterion("BCC is not null");
            return (Criteria) this;
        }

        public Criteria andBccEqualTo(String value) {
            addCriterion("BCC =", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccNotEqualTo(String value) {
            addCriterion("BCC <>", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccGreaterThan(String value) {
            addCriterion("BCC >", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccGreaterThanOrEqualTo(String value) {
            addCriterion("BCC >=", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccLessThan(String value) {
            addCriterion("BCC <", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccLessThanOrEqualTo(String value) {
            addCriterion("BCC <=", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccLike(String value) {
            addCriterion("BCC like", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccNotLike(String value) {
            addCriterion("BCC not like", value, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccIn(List<String> values) {
            addCriterion("BCC in", values, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccNotIn(List<String> values) {
            addCriterion("BCC not in", values, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccBetween(String value1, String value2) {
            addCriterion("BCC between", value1, value2, "bcc");
            return (Criteria) this;
        }

        public Criteria andBccNotBetween(String value1, String value2) {
            addCriterion("BCC not between", value1, value2, "bcc");
            return (Criteria) this;
        }

        public Criteria andOrganisationIsNull() {
            addCriterion("ORGANISATION is null");
            return (Criteria) this;
        }

        public Criteria andOrganisationIsNotNull() {
            addCriterion("ORGANISATION is not null");
            return (Criteria) this;
        }

        public Criteria andOrganisationEqualTo(String value) {
            addCriterion("ORGANISATION =", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationNotEqualTo(String value) {
            addCriterion("ORGANISATION <>", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationGreaterThan(String value) {
            addCriterion("ORGANISATION >", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationGreaterThanOrEqualTo(String value) {
            addCriterion("ORGANISATION >=", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationLessThan(String value) {
            addCriterion("ORGANISATION <", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationLessThanOrEqualTo(String value) {
            addCriterion("ORGANISATION <=", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationLike(String value) {
            addCriterion("ORGANISATION like", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationNotLike(String value) {
            addCriterion("ORGANISATION not like", value, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationIn(List<String> values) {
            addCriterion("ORGANISATION in", values, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationNotIn(List<String> values) {
            addCriterion("ORGANISATION not in", values, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationBetween(String value1, String value2) {
            addCriterion("ORGANISATION between", value1, value2, "organisation");
            return (Criteria) this;
        }

        public Criteria andOrganisationNotBetween(String value1, String value2) {
            addCriterion("ORGANISATION not between", value1, value2, "organisation");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNull() {
            addCriterion("SUBJECT is null");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNotNull() {
            addCriterion("SUBJECT is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectEqualTo(String value) {
            addCriterion("SUBJECT =", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotEqualTo(String value) {
            addCriterion("SUBJECT <>", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThan(String value) {
            addCriterion("SUBJECT >", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThanOrEqualTo(String value) {
            addCriterion("SUBJECT >=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThan(String value) {
            addCriterion("SUBJECT <", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThanOrEqualTo(String value) {
            addCriterion("SUBJECT <=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLike(String value) {
            addCriterion("SUBJECT like", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotLike(String value) {
            addCriterion("SUBJECT not like", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectIn(List<String> values) {
            addCriterion("SUBJECT in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotIn(List<String> values) {
            addCriterion("SUBJECT not in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectBetween(String value1, String value2) {
            addCriterion("SUBJECT between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotBetween(String value1, String value2) {
            addCriterion("SUBJECT not between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andSubmitbyIsNull() {
            addCriterion("SUBMITBY is null");
            return (Criteria) this;
        }

        public Criteria andSubmitbyIsNotNull() {
            addCriterion("SUBMITBY is not null");
            return (Criteria) this;
        }

        public Criteria andSubmitbyEqualTo(String value) {
            addCriterion("SUBMITBY =", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyNotEqualTo(String value) {
            addCriterion("SUBMITBY <>", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyGreaterThan(String value) {
            addCriterion("SUBMITBY >", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyGreaterThanOrEqualTo(String value) {
            addCriterion("SUBMITBY >=", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyLessThan(String value) {
            addCriterion("SUBMITBY <", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyLessThanOrEqualTo(String value) {
            addCriterion("SUBMITBY <=", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyLike(String value) {
            addCriterion("SUBMITBY like", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyNotLike(String value) {
            addCriterion("SUBMITBY not like", value, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyIn(List<String> values) {
            addCriterion("SUBMITBY in", values, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyNotIn(List<String> values) {
            addCriterion("SUBMITBY not in", values, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyBetween(String value1, String value2) {
            addCriterion("SUBMITBY between", value1, value2, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitbyNotBetween(String value1, String value2) {
            addCriterion("SUBMITBY not between", value1, value2, "submitby");
            return (Criteria) this;
        }

        public Criteria andSubmitdateIsNull() {
            addCriterion("SUBMITDATE is null");
            return (Criteria) this;
        }

        public Criteria andSubmitdateIsNotNull() {
            addCriterion("SUBMITDATE is not null");
            return (Criteria) this;
        }

        public Criteria andSubmitdateEqualTo(Date value) {
            addCriterion("SUBMITDATE =", value, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateNotEqualTo(Date value) {
            addCriterion("SUBMITDATE <>", value, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateGreaterThan(Date value) {
            addCriterion("SUBMITDATE >", value, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateGreaterThanOrEqualTo(Date value) {
            addCriterion("SUBMITDATE >=", value, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateLessThan(Date value) {
            addCriterion("SUBMITDATE <", value, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateLessThanOrEqualTo(Date value) {
            addCriterion("SUBMITDATE <=", value, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateIn(List<Date> values) {
            addCriterion("SUBMITDATE in", values, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateNotIn(List<Date> values) {
            addCriterion("SUBMITDATE not in", values, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateBetween(Date value1, Date value2) {
            addCriterion("SUBMITDATE between", value1, value2, "submitdate");
            return (Criteria) this;
        }

        public Criteria andSubmitdateNotBetween(Date value1, Date value2) {
            addCriterion("SUBMITDATE not between", value1, value2, "submitdate");
            return (Criteria) this;
        }

        public Criteria andPostedflagIsNull() {
            addCriterion("POSTEDFLAG is null");
            return (Criteria) this;
        }

        public Criteria andPostedflagIsNotNull() {
            addCriterion("POSTEDFLAG is not null");
            return (Criteria) this;
        }

        public Criteria andPostedflagEqualTo(String value) {
            addCriterion("POSTEDFLAG =", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagNotEqualTo(String value) {
            addCriterion("POSTEDFLAG <>", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagGreaterThan(String value) {
            addCriterion("POSTEDFLAG >", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagGreaterThanOrEqualTo(String value) {
            addCriterion("POSTEDFLAG >=", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagLessThan(String value) {
            addCriterion("POSTEDFLAG <", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagLessThanOrEqualTo(String value) {
            addCriterion("POSTEDFLAG <=", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagLike(String value) {
            addCriterion("POSTEDFLAG like", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagNotLike(String value) {
            addCriterion("POSTEDFLAG not like", value, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagIn(List<String> values) {
            addCriterion("POSTEDFLAG in", values, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagNotIn(List<String> values) {
            addCriterion("POSTEDFLAG not in", values, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagBetween(String value1, String value2) {
            addCriterion("POSTEDFLAG between", value1, value2, "postedflag");
            return (Criteria) this;
        }

        public Criteria andPostedflagNotBetween(String value1, String value2) {
            addCriterion("POSTEDFLAG not between", value1, value2, "postedflag");
            return (Criteria) this;
        }

        public Criteria andSenddateIsNull() {
            addCriterion("SENDDATE is null");
            return (Criteria) this;
        }

        public Criteria andSenddateIsNotNull() {
            addCriterion("SENDDATE is not null");
            return (Criteria) this;
        }

        public Criteria andSenddateEqualTo(Date value) {
            addCriterion("SENDDATE =", value, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateNotEqualTo(Date value) {
            addCriterion("SENDDATE <>", value, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateGreaterThan(Date value) {
            addCriterion("SENDDATE >", value, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateGreaterThanOrEqualTo(Date value) {
            addCriterion("SENDDATE >=", value, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateLessThan(Date value) {
            addCriterion("SENDDATE <", value, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateLessThanOrEqualTo(Date value) {
            addCriterion("SENDDATE <=", value, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateIn(List<Date> values) {
            addCriterion("SENDDATE in", values, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateNotIn(List<Date> values) {
            addCriterion("SENDDATE not in", values, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateBetween(Date value1, Date value2) {
            addCriterion("SENDDATE between", value1, value2, "senddate");
            return (Criteria) this;
        }

        public Criteria andSenddateNotBetween(Date value1, Date value2) {
            addCriterion("SENDDATE not between", value1, value2, "senddate");
            return (Criteria) this;
        }

        public Criteria andImmediateflagIsNull() {
            addCriterion("IMMEDIATEFLAG is null");
            return (Criteria) this;
        }

        public Criteria andImmediateflagIsNotNull() {
            addCriterion("IMMEDIATEFLAG is not null");
            return (Criteria) this;
        }

        public Criteria andImmediateflagEqualTo(String value) {
            addCriterion("IMMEDIATEFLAG =", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagNotEqualTo(String value) {
            addCriterion("IMMEDIATEFLAG <>", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagGreaterThan(String value) {
            addCriterion("IMMEDIATEFLAG >", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagGreaterThanOrEqualTo(String value) {
            addCriterion("IMMEDIATEFLAG >=", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagLessThan(String value) {
            addCriterion("IMMEDIATEFLAG <", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagLessThanOrEqualTo(String value) {
            addCriterion("IMMEDIATEFLAG <=", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagLike(String value) {
            addCriterion("IMMEDIATEFLAG like", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagNotLike(String value) {
            addCriterion("IMMEDIATEFLAG not like", value, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagIn(List<String> values) {
            addCriterion("IMMEDIATEFLAG in", values, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagNotIn(List<String> values) {
            addCriterion("IMMEDIATEFLAG not in", values, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagBetween(String value1, String value2) {
            addCriterion("IMMEDIATEFLAG between", value1, value2, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andImmediateflagNotBetween(String value1, String value2) {
            addCriterion("IMMEDIATEFLAG not between", value1, value2, "immediateflag");
            return (Criteria) this;
        }

        public Criteria andPostdateIsNull() {
            addCriterion("POSTDATE is null");
            return (Criteria) this;
        }

        public Criteria andPostdateIsNotNull() {
            addCriterion("POSTDATE is not null");
            return (Criteria) this;
        }

        public Criteria andPostdateEqualTo(Date value) {
            addCriterion("POSTDATE =", value, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateNotEqualTo(Date value) {
            addCriterion("POSTDATE <>", value, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateGreaterThan(Date value) {
            addCriterion("POSTDATE >", value, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateGreaterThanOrEqualTo(Date value) {
            addCriterion("POSTDATE >=", value, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateLessThan(Date value) {
            addCriterion("POSTDATE <", value, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateLessThanOrEqualTo(Date value) {
            addCriterion("POSTDATE <=", value, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateIn(List<Date> values) {
            addCriterion("POSTDATE in", values, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateNotIn(List<Date> values) {
            addCriterion("POSTDATE not in", values, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateBetween(Date value1, Date value2) {
            addCriterion("POSTDATE between", value1, value2, "postdate");
            return (Criteria) this;
        }

        public Criteria andPostdateNotBetween(Date value1, Date value2) {
            addCriterion("POSTDATE not between", value1, value2, "postdate");
            return (Criteria) this;
        }

        public Criteria andErrmsgIsNull() {
            addCriterion("ERRMSG is null");
            return (Criteria) this;
        }

        public Criteria andErrmsgIsNotNull() {
            addCriterion("ERRMSG is not null");
            return (Criteria) this;
        }

        public Criteria andErrmsgEqualTo(String value) {
            addCriterion("ERRMSG =", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgNotEqualTo(String value) {
            addCriterion("ERRMSG <>", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgGreaterThan(String value) {
            addCriterion("ERRMSG >", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgGreaterThanOrEqualTo(String value) {
            addCriterion("ERRMSG >=", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgLessThan(String value) {
            addCriterion("ERRMSG <", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgLessThanOrEqualTo(String value) {
            addCriterion("ERRMSG <=", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgLike(String value) {
            addCriterion("ERRMSG like", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgNotLike(String value) {
            addCriterion("ERRMSG not like", value, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgIn(List<String> values) {
            addCriterion("ERRMSG in", values, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgNotIn(List<String> values) {
            addCriterion("ERRMSG not in", values, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgBetween(String value1, String value2) {
            addCriterion("ERRMSG between", value1, value2, "errmsg");
            return (Criteria) this;
        }

        public Criteria andErrmsgNotBetween(String value1, String value2) {
            addCriterion("ERRMSG not between", value1, value2, "errmsg");
            return (Criteria) this;
        }

        public Criteria andEncodeIsNull() {
            addCriterion("ENCODE is null");
            return (Criteria) this;
        }

        public Criteria andEncodeIsNotNull() {
            addCriterion("ENCODE is not null");
            return (Criteria) this;
        }

        public Criteria andEncodeEqualTo(String value) {
            addCriterion("ENCODE =", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeNotEqualTo(String value) {
            addCriterion("ENCODE <>", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeGreaterThan(String value) {
            addCriterion("ENCODE >", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeGreaterThanOrEqualTo(String value) {
            addCriterion("ENCODE >=", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeLessThan(String value) {
            addCriterion("ENCODE <", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeLessThanOrEqualTo(String value) {
            addCriterion("ENCODE <=", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeLike(String value) {
            addCriterion("ENCODE like", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeNotLike(String value) {
            addCriterion("ENCODE not like", value, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeIn(List<String> values) {
            addCriterion("ENCODE in", values, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeNotIn(List<String> values) {
            addCriterion("ENCODE not in", values, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeBetween(String value1, String value2) {
            addCriterion("ENCODE between", value1, value2, "encode");
            return (Criteria) this;
        }

        public Criteria andEncodeNotBetween(String value1, String value2) {
            addCriterion("ENCODE not between", value1, value2, "encode");
            return (Criteria) this;
        }

        public Criteria andReferidIsNull() {
            addCriterion("ReferID is null");
            return (Criteria) this;
        }

        public Criteria andReferidIsNotNull() {
            addCriterion("ReferID is not null");
            return (Criteria) this;
        }

        public Criteria andReferidEqualTo(String value) {
            addCriterion("ReferID =", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidNotEqualTo(String value) {
            addCriterion("ReferID <>", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidGreaterThan(String value) {
            addCriterion("ReferID >", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidGreaterThanOrEqualTo(String value) {
            addCriterion("ReferID >=", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidLessThan(String value) {
            addCriterion("ReferID <", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidLessThanOrEqualTo(String value) {
            addCriterion("ReferID <=", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidLike(String value) {
            addCriterion("ReferID like", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidNotLike(String value) {
            addCriterion("ReferID not like", value, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidIn(List<String> values) {
            addCriterion("ReferID in", values, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidNotIn(List<String> values) {
            addCriterion("ReferID not in", values, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidBetween(String value1, String value2) {
            addCriterion("ReferID between", value1, value2, "referid");
            return (Criteria) this;
        }

        public Criteria andReferidNotBetween(String value1, String value2) {
            addCriterion("ReferID not between", value1, value2, "referid");
            return (Criteria) this;
        }
    }

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