package cn.ibizlab.core.rule.filter;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;

import lombok.*;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;

import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;


import cn.ibizlab.util.filter.QueryWrapperContext;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.ibizlab.core.rule.domain.RuleItem;
/**
 * 关系型数据实体[RuleItem] 查询条件对象
 */
@Slf4j
@Data
public class RuleItemSearchContext extends QueryWrapperContext<RuleItem> {

	private String n_rulename_like;//[名称]
	public void setN_rulename_like(String n_rulename_like) {
        this.n_rulename_like = n_rulename_like;
        if(!ObjectUtils.isEmpty(this.n_rulename_like)){
            this.getSearchCond().like("rulename", n_rulename_like);
        }
    }
	private String n_rulegroup_like;//[规则分组]
	public void setN_rulegroup_like(String n_rulegroup_like) {
        this.n_rulegroup_like = n_rulegroup_like;
        if(!ObjectUtils.isEmpty(this.n_rulegroup_like)){
            this.getSearchCond().like("rulegroup", n_rulegroup_like);
        }
    }
	private String n_modelid_eq;//[模型标识]
	public void setN_modelid_eq(String n_modelid_eq) {
        this.n_modelid_eq = n_modelid_eq;
        if(!ObjectUtils.isEmpty(this.n_modelid_eq)){
            this.getSearchCond().eq("modelid", n_modelid_eq);
        }
    }
	private String n_modelname_eq;//[模型]
	public void setN_modelname_eq(String n_modelname_eq) {
        this.n_modelname_eq = n_modelname_eq;
        if(!ObjectUtils.isEmpty(this.n_modelname_eq)){
            this.getSearchCond().eq("modelname", n_modelname_eq);
        }
    }
	private String n_modelname_like;//[模型]
	public void setN_modelname_like(String n_modelname_like) {
        this.n_modelname_like = n_modelname_like;
        if(!ObjectUtils.isEmpty(this.n_modelname_like)){
            this.getSearchCond().like("modelname", n_modelname_like);
        }
    }
	private String n_memo_like;//[备注]
	public void setN_memo_like(String n_memo_like) {
        this.n_memo_like = n_memo_like;
        if(!ObjectUtils.isEmpty(this.n_memo_like)){
            this.getSearchCond().like("memo", n_memo_like);
        }
    }
	private String n_rulecode_like;//[规则码]
	public void setN_rulecode_like(String n_rulecode_like) {
        this.n_rulecode_like = n_rulecode_like;
        if(!ObjectUtils.isEmpty(this.n_rulecode_like)){
            this.getSearchCond().like("rulecode", n_rulecode_like);
        }
    }
	private String n_cond_like;//[条件]
	public void setN_cond_like(String n_cond_like) {
        this.n_cond_like = n_cond_like;
        if(!ObjectUtils.isEmpty(this.n_cond_like)){
            this.getSearchCond().like("cond", n_cond_like);
        }
    }
	private String n_systemid_eq;//[系统标识]
	public void setN_systemid_eq(String n_systemid_eq) {
        this.n_systemid_eq = n_systemid_eq;
        if(!ObjectUtils.isEmpty(this.n_systemid_eq)){
            this.getSearchCond().eq("systemid", n_systemid_eq);
        }
    }

    /**
	 * 启用快速搜索
	 */
    @Override
	public void setQuery(String query)
	{
		 this.query=query;
		 if(!StringUtils.isEmpty(query)){
            this.getSearchCond().and( wrapper ->
                     wrapper.like("rulename", query)
            );
		 }
	}
}



