1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
4.1.1 | 統一產品內條件判斷邏輯 |
4.1.5.5 | 「檔案傳輸」使用該條件判斷說明 |
1.2 功能簡介
本文對產品內條件判斷邏輯進行說明。包括:
「資料過濾」-新增條件 &「資料分發」-分發條件。
「條件分支」-新增條件 &「循環容器」-執行條件-配置條件。
「簡道雲輸入」-篩選條件。
「MongoDB輸入」-條件查詢-配置條件。
「檔案輸入」-資料夾讀取-檔案篩選。
「檔案傳輸」-資料夾讀取-檔案篩選。
2. 具體說明
2.1 判斷邏輯
4.1.1 及之後版本,產品內條件判斷邏輯進行了統一。
具體說明如下表所示:
欄位類型 | 條件類型 | 配置判斷邏輯 | 含義 |
---|---|---|---|
日期 | 介於 | 無限制≤值<無限制(初始預設值) | 全部,包含null |
無限制≤值<Y | 小於Y,不包含null | ||
X≤值<無限制 | 大於等於X | ||
X≤值<Y | 大於等於X,小於Y | ||
不介於 | 無限制≤值<無限制 | 空 | |
無限制≤值<Y | 大於等於Y | ||
X≤值<無限制 | 小於X,不包含null | ||
X≤值<Y | 小於等於X,大於等於Y,不包含null | ||
某個日期之前 | 值≤無限制 | 全部,包含null | |
值<X | 小於X,不包含null | ||
某個日期之後 | 無限制≤值 | 全部,包含null | |
X<值 | 大於X,不包含null | ||
等於 | 無限制 | 全部,包含null | |
X | 等於X | ||
不等於 | 無限制 | 全部,包含null | |
X | 不等於X,包含null | ||
為空 | - | null值 | |
非空 | - | 全部非null值 | |
正文 | 屬於 詳情請參見:「包含」和「屬於」的差別 | 無限制 | 全部資料,值為 null、值為空的資料在傳回結果中 |
X | 若值在 X 集合中,則傳回該資料(值為 null、值為空的資料不在傳回結果中);否則,回傳值為空 | ||
不屬於 詳情請參見:「包含」和「屬於」的差別 | 無限制 | 空 | |
X | 若值的某些元素不在 X 中,則傳回該資料;值為空值、null值的資料也在傳回結果中 | ||
包含 詳情請參見:「包含」和「屬於」的差別 | 空 | 傳回全部資料(值為 null 的資料在傳回結果中,值為空的資料不在傳回結果中) | |
X | 若值包含 X 的所有元素,則傳回該資料(值為 null、值為空的資料不在傳回結果中);否則,回傳值為空 | ||
不包含 詳情請參見:「包含」和「屬於」的差別 | 空 | 空 | |
X | 若值不包含 X 的所有元素,則傳回該資料(值為 null 的資料在傳回結果中,值為空的資料不在傳回結果中) | ||
開頭是 | 空 | 全部,包含空字串,不包含null | |
X | 開頭是X的字串,不包含空字串和null | ||
開頭不是 | 空 | 空 | |
X | 開頭不是X的字串,包含空字串,不包含null | ||
結尾是 | 空 | 全部,包含空字串,不包含null | |
X | 結尾是X的字串,不包含空字串和null | ||
結尾不是 | 空 | 空 | |
X | 結尾不是X的字串,包含空字串,不包含null | ||
為空 | - | 空字串和null | |
非空 | - | 全部,不包含空字串和null | |
數值 | 屬於 | 無限制 | 全部,包含null |
X | =X | ||
X,Y | 等於X或等於Y | ||
不屬於 | 無限制 | 空 | |
X | 不等於X,不包含空值和null | ||
X,Y | 不等於X,且不等於Y,不包含空值和null | ||
介於 | 無限制≤值<無限制 | 全部,包含null | |
無限制≤值<Y | 小於Y,不包含null | ||
X≤值<無限制 | 大於等於X | ||
X≤值<Y | 大於等於X,小於Y | ||
不介於 | 無限制≤值<無限制 | 空 | |
無限制≤值<Y | 大於等於Y | ||
X≤值<無限制 | 小於X,不包含null | ||
X≤值<Y | 小於等於X,大於等於Y,不包含null | ||
大於 | 無限制 | 全部,包含null | |
X | 大於X,不包括null | ||
小於 | 無限制 | 全部,包含null | |
X | 小於X,不包括null | ||
大於等於 | 無限制 | 全部,包含null | |
X | 大於等於X,不包括null | ||
小於等於 | 無限制 | 全部,包含null | |
X | 小於等於X,不包括null | ||
為空 | - | null值 | |
非空 | - | 全部非null值 | |
布爾 | 為真 | - | 與資料庫中布爾字元完全匹配時過濾出來:true或1 |
為假 | - | 與資料庫中布爾字元完全匹配時過濾出來:false或0 | |
其他 | 等於 | 空 | 空 |
X | 等於X,不包括null | ||
不等於 | 空 | 全部,不包括null | |
X | 不等於X,不包括null |
不同的功能,支援的條件類型有一定的差異:
注:MongoDB、簡道雲,做篩選時不會展示不支援的欄位類型對應的欄位。
功能 | 欄位類型支援情況 | 條件類型支援情況 |
---|---|---|
「資料過濾」-新增條件 「資料分發」-分發條件 | 均支援 | 均支援 |
「條件分支」-新增條件 「循環容器」-執行條件-配置條件 | 不支援:其他 | 均支援 |
「檔案輸入」-資料夾讀取-檔案篩選 | 支援:
不支援:數值、布爾、其他 | 有限支援: 正文&日期:不支援 為空、非空 |
「MongoDB輸入」-條件查詢-配置條件 | 不支援:其他 | 均支援 |
「簡道雲輸入」-篩選條件 | 不支援:布爾、其他 | 有限支援,見下面的列表 |
簡道雲API對判斷邏輯做了限制,FDL 基於API提供的方式,提供如下條件類型:
欄位類型 | 欄位類型-英文 | 支援的條件類型 | 說明 |
---|---|---|---|
日期時間 | datetime |
| - |
數字 | number |
| - |
正文 | text | 包括單列正文、下拉框、單選按鈕組、流水號 | |
手機 | phone |
| verified表示填寫了手機號碼碼且已驗證的值;unverified表示填寫了手機號碼碼但未驗證值 |
流程狀態 | flowState | 流程狀態,僅對流程表單有效 | |
其他表單欄位 | others |
| 子表單欄位除外 |
2.2 邏輯運算子
「條件分支」、「循環容器」裏,會將判斷條件轉成邏輯運算子顯示:
產品語言 | 邏輯運算子 |
---|---|
且條件 | && |
或條件 | || |
等於 | == |
不等於 | != |
大於 | > |
小於 | < |
大於等於 | >= |
小於等於 | <= |
層級嵌套 | () |
範例:判斷條件為:參數${test}不等於1或者大於2,轉化為邏輯運算運算式為:${test}!=1||${test}>2
3. 升級相容說明
舊版本升級到 4.1.1 及之後版本後,升級後的條件類型說明如下:
1)「資料過濾」-新增條件 &「資料分發」-分發條件;「條件分支」-新增條件 &「循環容器」-執行條件-配置條件
類型 | 升級前-條件類型 | 升級前-過濾值 | 升級後-條件類型 | 升級後-過濾值 |
---|---|---|---|---|
日期 | 介於 | X-Y | 介於 | X<值<Y |
不介於 | X-Y | 不介於 | X<值<Y | |
某個日期之前 | X | 某個日期之前 | 值<X | |
某個日期之後 | X | 某個日期之後 | X<值 | |
布爾 | 等於 | 1\true | 為真 | |
0\false | 為假 | |||
其他值,包括參數 | 為真 | |||
不等於 | 1\true | 為真 | ||
0\false | 為假 | |||
其他值,包括參數 | 為真 |
2)「MongoDB輸入」-條件查詢-配置條件
類型 | 升級前-條件類型 | 升級前-過濾值 | 升級後-條件類型 | 升級後-過濾值 |
---|---|---|---|---|
數字 | 等於 | X | 屬於 | X |
不等於 | X | 不屬於 | X | |
範圍 | X-Y | 介於 | X<值<Y | |
不為空 | 非空 | |||
日期 | 範圍 | X-Y | 介於 | X<值<Y |
不為空 | 非空 | |||
定義日期的值環節:
| ||||
字串 | 等於 | X | 屬於 | X |
不等於 | X | 不屬於 | X | |
等於任意一個 | X,Y,Z | 屬於 | X,Y,Z | |
不等於任意一個 | X,Y,Z | 不屬於 | X,Y,Z | |
不為空 | 非空 |
3)「簡道雲輸入」-篩選條件
類型 | 升級前-條件類型 | 升級前-過濾值 | 升級後-條件類型 | 升級後-過濾值 |
---|---|---|---|---|
日期 | 範圍 | X-Y | 介於 | X≤值≤Y |
數字 | 範圍 | X-Y | 介於 | X≤值≤Y |
正文 | 等於任意一個 | X,Y,Z | 屬於 | X,Y,Z |
不等於任意一個 | X,Y,Z | 不屬於 | X,Y,Z |