xc
2020-12-04 6566968d727f3739926c401b39925c6f55dff4ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.hbbh.adapter.utils;
 
import com.hbbh.adapter.dto.SMSDto;
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());
        }
    }
}