package com.hbbh.adapter.utils;
|
|
import com.rtdb.model.SearchCondition;
|
import com.rtdb.model.SearchConditionTotal;
|
|
/**
|
* 复合查询条件设置
|
*/
|
public class SearchConditionUtil {
|
|
private static String wildcard = "*";
|
private static String questionMark = "?";
|
private static String _null = null;
|
|
/**
|
* 复合查询
|
*/
|
public static SearchCondition getSearchCondition() {
|
SearchCondition searchCondition = new SearchCondition();
|
|
//标签点描述的子集 |
|
searchCondition.setDesc(_null);
|
// 描述中包含该参数的标签点均满足条件,空字符串表示不用描述作搜索条件,缺省设置为空,长度不得超过 RTDB_SOURCE_SIZE
|
|
//标签点工程单位的子集 |
|
searchCondition.setUnit(_null);
|
// 工程单位中包含该参数的标签点均满足条件,空字符串表示不用工程单位作搜索条件,缺省设置为空,长度不得超过 RTDB_UNIT_SIZE
|
|
//数据源集合 |
|
searchCondition.setSource(_null);
|
// 字符串中的每个字符均表示一个数据源,空字符串表示不用数据源作搜索条件,缺省设置为空,长度不得超过 RTDB_DESC_SIZE
|
|
//标签点名称掩码 |
|
searchCondition.setTagmask(wildcard);
|
// 支持"*"和"?"通配符,缺省设置为"*",长度不得超过 RTDB_TAG_SIZE
|
|
//标签点表名称掩码 |
|
searchCondition.setTablemask(wildcard);
|
//支持"*"和"?"通配符,缺省设置为"*",长度不得超过 RTDB_TAG_SIZ
|
|
//标签点设备名称 |
|
searchCondition.setInstrument(_null);
|
//缺省设置为空
|
|
return searchCondition;
|
}
|
|
private static String _append=".*";
|
|
/**
|
* 高级 复合查询
|
*
|
* @return
|
*/
|
public static SearchConditionTotal getSearchConditionTotal() {
|
SearchConditionTotal searchConditionTotal = new SearchConditionTotal();
|
//TODO:
|
//时间精度 0表示秒;1表示毫秒
|
//searchConditionTotal.set_TimeAccuracy(0);
|
//设置测点类型
|
//searchConditionTotal.set_PointType(null);
|
//设置测点的值类型
|
searchConditionTotal.set_ValueTypeString(null);
|
//设置搜索参数
|
//searchConditionTotal.set_SearchCondition(null);
|
//搜索参数对应的值 (只有设定了搜索参数 SearchCondition,该参数填入的值才会生效)
|
//searchConditionTotal.setSearchMaskValue(null);
|
|
insertS(searchConditionTotal);
|
return searchConditionTotal;
|
}
|
|
|
private static void insertS(SearchConditionTotal searchConditionTotal) {
|
SearchCondition searchCondition = getSearchCondition();
|
if (searchCondition != null) {
|
searchConditionTotal.setDesc(searchCondition.getDesc());
|
searchConditionTotal.setInstrument(searchCondition.getInstrument());
|
searchConditionTotal.setSource(searchCondition.getSource());
|
searchConditionTotal.setTablemask(searchCondition.getTablemask());
|
searchConditionTotal.setUnit(searchCondition.getUnit());
|
searchConditionTotal.setTagmask(searchCondition.getTagmask());
|
}
|
}
|
}
|