Pārlūkot izejas kodu

添加 关系运算符,逻辑运算符

zhangweixin 4 gadi atpakaļ
vecāks
revīzija
9d381ec4a8
1 mainītis faili ar 119 papildinājumiem un 4 dzēšanām
  1. 119 4
      docs/dev/lib/web/filters.md

+ 119 - 4
docs/dev/lib/web/filters.md

@@ -1,13 +1,13 @@
 # 过滤条件
 
-## 条件表达式的使用
-
+## 表达式
 
+### 关系表达式
 | 关系 | 运算符 | 语法 |
 |:--:|:--:|:--:|
 | 等于 | = | 属性名 = 值 |
 | 不等于 | != | 属性名 != 值 |
-| 大于 | > | 属性名> > <> |
+| 大于 | > | 属性名> > 值 |
 | 大于等于 | >= | 属性名 >= 值 |
 | 小于 | < | 属性名 < 值 |
 | 小于等于 | <= | 属性名 <= 值 |
@@ -20,8 +20,123 @@
 ::: warning 注意 
 * 表达式必须包含“属性名”;
 * 属性名必须在表达式左端;
-* 在列表内的 [] 方括号中值类型必须一致
+* 在列表内的 [] 方括号中值类型必须一致,使用 in 必须使用 [] 方括号
 :::
 
+#### 等于 =
+* 字符串类型,例如查询空调机组设备 category
+```metadata json
+"Filters":" category = 'ATAH'"
+```
+* 日期类型,例如查询 2020-08-12 创建的设备 createTime
+```metadata json
+"Filters":" createTime = '2020-08-12'"
+```
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询已完成的设备
+```metadata json
+"Filters":" codeType = 0 "
+```
+* 布尔类型,例如设备有一个开关属性,实时记录设备是否在运转,停止运转时会把这个属性设置为 false  ,查询为未开启的设备 switch
+```metadata json
+"Filters":" switch = false "
+```
+
+#### 不等于 !=
+* 字符串类型,例如查询空调机组类型以外的设备 category
+```metadata json
+"Filters":" category != 'ATAH'"
+```
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询待处理的设备
+```metadata json
+"Filters":" codeType != 0 "
+```
+
+#### 大于 >
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询带换码和带撕码的设备
+ ```metadata json
+ "Filters":" codeType > 1 "
+ ```
+* 日期类型,例如查询 2020-08-12 以后创建的设备 createTime 前提是不包含 2020-08-12 这个日期的
+```metadata json
+"Filters":" createTime > '2020-08-12'"
+```
+
+#### 大于等于 >=
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询待贴码、带换码和带撕码的设备
+ ```metadata json
+ "Filters":" codeType >= 1 "
+ ```
+* 日期类型,例如查询 2020-08-12 以后创建的设备 createTime 包含 2020-08-12 这个日期的
+```metadata json
+"Filters":" createTime >= '2020-08-12'"
+```
+
+#### 小于 <
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询待贴码、完成贴码
+ ```metadata json
+ "Filters":" codeType < 2 "
+ ```
+* 日期类型,例如查询 2020-08-12 之前创建的设备 createTime 不包含 2020-08-12 这个日期的
+```metadata json
+"Filters":" createTime < '2020-08-12'"
+```
+
+#### 小于等于 <=
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询待贴码、完成贴码和带换码的设备
+ ```metadata json
+ "Filters":" codeType <= 2 "
+ ```
+* 日期类型,例如查询 2020-08-12 之前创建的设备 createTime 包含 2020-08-12 这个日期的
+```metadata json
+"Filters":" createTime <= '2020-08-12'"
+```
+
+#### 包含 contain
+* 字符串,例如查询设备本地名称中包含 “风机” 两个字的设备 EquipLocalName
+```metadata json
+"Filters":" EquipLocalName contain '风机'"
+```
+
+#### 前缀
+* 字符串类型,例如设备 id 是以 Eq 开头,空间id是以 Sp 开头,区分设备和空间就需要根据前缀来获取
+```metadata json
+"Filters":" Id startwith 'Eq'"
+```
+
+#### 后缀
+* 字符串类型,例如楼层的 FloorMap 信息点是存储底图 key 值的,可能是 jsonz 压缩数据的 key ,也可能是 png 、jpg,查询后缀为 jsonz 的楼层数据
+```metadata json
+"Filters":" floorMap endwith 'jsonz'"
+```
+
+#### 空
+判断某一个对象的某个信息点是否有值,例如查询本地名称为空的设备
+```metadata json
+"Filters":" EquipLocalName isnull "
+```
+
+#### 在...内
+通常查询的时候会根据同一条件的多个值来获取数据。
+* 字符串类型 例如有一组设备的id列表,查询值这个把列表中的所有设备 ['id1','id2','id3','id4','id5']
+```metadata json
+"Filters":" EquipID in ['id1','id2','id3','id4','id5'] "
+```
+* 数值类型,例如设备有贴码状态 0.完成贴码 1.待贴码 2.带换码 3.带撕码  codeType ,查询完成贴码、带换码和带撕码的设备。
+```metadata json
+"Filters":" codeType in [0,2,3] "
+```
+
+### 逻辑表达式
+| 逻辑 | 运算符 | 语法 |
+|:--:|:--:|:--:|
+| 非 | not <br> ! | not 表达式 <br> !表达式 |
+| 与 |  && <br> and | 表达式1 && 表达式2 <br> 表达式1 and 表达式2 |
+| 或 | \|\| <br> or | 属性名> > 值 |
+| 多表达式 | > | 属性名> > 值 |
+
+
+
+
+