package com.unis.base.server.example;

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

public class TyHlyExample {
    /**
     * ty_hly
     */
    protected String orderByClause;

    /**
     * ty_hly
     */
    protected boolean distinct;

    /**
     * ty_hly
     */
    protected List<Criteria> oredCriteria;

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

    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;
    }

    /**
     * ty_hly 2023-12-01
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

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

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andQymcIsNull() {
            addCriterion("qymc is null");
            return (Criteria) this;
        }

        public Criteria andQymcIsNotNull() {
            addCriterion("qymc is not null");
            return (Criteria) this;
        }

        public Criteria andQymcEqualTo(String value) {
            addCriterion("qymc =", value, "qymc");
            return (Criteria) this;
        }

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

        public Criteria andQymcGreaterThan(String value) {
            addCriterion("qymc >", value, "qymc");
            return (Criteria) this;
        }

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

        public Criteria andQymcLessThan(String value) {
            addCriterion("qymc <", value, "qymc");
            return (Criteria) this;
        }

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

        public Criteria andQymcLike(String value) {
            addCriterion("qymc like", value, "qymc");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andQylxIsNull() {
            addCriterion("qylx is null");
            return (Criteria) this;
        }

        public Criteria andQylxIsNotNull() {
            addCriterion("qylx is not null");
            return (Criteria) this;
        }

        public Criteria andQylxEqualTo(String value) {
            addCriterion("qylx =", value, "qylx");
            return (Criteria) this;
        }

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

        public Criteria andQylxGreaterThan(String value) {
            addCriterion("qylx >", value, "qylx");
            return (Criteria) this;
        }

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

        public Criteria andQylxLessThan(String value) {
            addCriterion("qylx <", value, "qylx");
            return (Criteria) this;
        }

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

        public Criteria andQylxLike(String value) {
            addCriterion("qylx like", value, "qylx");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andQyxydmIsNull() {
            addCriterion("qyxydm is null");
            return (Criteria) this;
        }

        public Criteria andQyxydmIsNotNull() {
            addCriterion("qyxydm is not null");
            return (Criteria) this;
        }

        public Criteria andQyxydmEqualTo(String value) {
            addCriterion("qyxydm =", value, "qyxydm");
            return (Criteria) this;
        }

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

        public Criteria andQyxydmGreaterThan(String value) {
            addCriterion("qyxydm >", value, "qyxydm");
            return (Criteria) this;
        }

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

        public Criteria andQyxydmLessThan(String value) {
            addCriterion("qyxydm <", value, "qyxydm");
            return (Criteria) this;
        }

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

        public Criteria andQyxydmLike(String value) {
            addCriterion("qyxydm like", value, "qyxydm");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andLxrIsNull() {
            addCriterion("lxr is null");
            return (Criteria) this;
        }

        public Criteria andLxrIsNotNull() {
            addCriterion("lxr is not null");
            return (Criteria) this;
        }

        public Criteria andLxrEqualTo(String value) {
            addCriterion("lxr =", value, "lxr");
            return (Criteria) this;
        }

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

        public Criteria andLxrGreaterThan(String value) {
            addCriterion("lxr >", value, "lxr");
            return (Criteria) this;
        }

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

        public Criteria andLxrLessThan(String value) {
            addCriterion("lxr <", value, "lxr");
            return (Criteria) this;
        }

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

        public Criteria andLxrLike(String value) {
            addCriterion("lxr like", value, "lxr");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andLxfsIsNull() {
            addCriterion("lxfs is null");
            return (Criteria) this;
        }

        public Criteria andLxfsIsNotNull() {
            addCriterion("lxfs is not null");
            return (Criteria) this;
        }

        public Criteria andLxfsEqualTo(String value) {
            addCriterion("lxfs =", value, "lxfs");
            return (Criteria) this;
        }

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

        public Criteria andLxfsGreaterThan(String value) {
            addCriterion("lxfs >", value, "lxfs");
            return (Criteria) this;
        }

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

        public Criteria andLxfsLessThan(String value) {
            addCriterion("lxfs <", value, "lxfs");
            return (Criteria) this;
        }

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

        public Criteria andLxfsLike(String value) {
            addCriterion("lxfs like", value, "lxfs");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andZzbmIsNull() {
            addCriterion("zzbm is null");
            return (Criteria) this;
        }

        public Criteria andZzbmIsNotNull() {
            addCriterion("zzbm is not null");
            return (Criteria) this;
        }

        public Criteria andZzbmEqualTo(String value) {
            addCriterion("zzbm =", value, "zzbm");
            return (Criteria) this;
        }

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

        public Criteria andZzbmGreaterThan(String value) {
            addCriterion("zzbm >", value, "zzbm");
            return (Criteria) this;
        }

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

        public Criteria andZzbmLessThan(String value) {
            addCriterion("zzbm <", value, "zzbm");
            return (Criteria) this;
        }

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

        public Criteria andZzbmLike(String value) {
            addCriterion("zzbm like", value, "zzbm");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCjsjIsNull() {
            addCriterion("cjsj is null");
            return (Criteria) this;
        }

        public Criteria andCjsjIsNotNull() {
            addCriterion("cjsj is not null");
            return (Criteria) this;
        }

        public Criteria andCjsjEqualTo(Date value) {
            addCriterion("cjsj =", value, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjNotEqualTo(Date value) {
            addCriterion("cjsj <>", value, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjGreaterThan(Date value) {
            addCriterion("cjsj >", value, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjGreaterThanOrEqualTo(Date value) {
            addCriterion("cjsj >=", value, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjLessThan(Date value) {
            addCriterion("cjsj <", value, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjLessThanOrEqualTo(Date value) {
            addCriterion("cjsj <=", value, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjIn(List<Date> values) {
            addCriterion("cjsj in", values, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjNotIn(List<Date> values) {
            addCriterion("cjsj not in", values, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjBetween(Date value1, Date value2) {
            addCriterion("cjsj between", value1, value2, "cjsj");
            return (Criteria) this;
        }

        public Criteria andCjsjNotBetween(Date value1, Date value2) {
            addCriterion("cjsj not between", value1, value2, "cjsj");
            return (Criteria) this;
        }
    }

    /**
     * ty_hly
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * ty_hly 2023-12-01
     */
    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);
        }
    }
}