JAVA工具

通用備註

  1. 點擊:需要您進行滑鼠點擊的部分,會以粗體方式呈現

  2. 變數:提到動態或非固定的文字項目時,會以[]作為提示,如[使用者名稱]

  3. 元件:流程設計中每一個物件,通稱為元件

  4. 欄位:一般指為可輸入的介面,本系統中也特指表單設計的可輸入欄位

  5. 頁籤:介面或視窗上的分頁選項

  6. 區塊:指多個欄位的集合,通常會有一個名稱於上方

  7. 單號:又稱data_no,一張單只會有一個單號

  8. 資料編號:又稱id / data_id,一張單會有多個的id,每次推單後都會產生一個新的id

前言

此篇主要介紹JAVA Base系統如何利用omflow.jar套件來建立與存取流程資料。

1 登入相關

Class: com.syscomgo.omflow.java.Login

1.1 取得Token

Method: doLogin

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. user:具有流程權限的使用者帳號

  3. password:該使用者的密碼

回傳的資料型態為JSON Object,格式如下:

{
    status: boolean
    message: string (success or error message)
    token: string (token or empty)
}

1.2 維持Token

Method: keepToken

OMFLOW的API都需要Token來確認發送的請求對象是誰,而此Token是有時效性的,在最後一次請求後(任何請求都包含在內),超過5分鐘沒有再次請求則Token會失效,需要重新取得Token。 此方法目的是為了以最小資源消耗來維持Token的時效。

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. token:doLogin所取得的Token

回傳的資料型態為String (success or error message)

2 資料相關

Class: com.syscomgo.omflow.java.Data

2.1 開單

Method: putData

使用者填寫表單內容後送出,讓這份資料依據設計好的流程推進,直到碰到「人工處理」後停止並等待下一位使用者人工推進,或是碰到「結束」後關單。

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. api_path:指定流程的API path

  3. token:doLogin所取得的Token

  4. obj.Form:Form物件,詳見【3.4】章節

回傳的資料型態為String,「單號」或錯誤訊息

2.2 推單

Method: modData

使用者確認當前表單內容並填寫必要資訊後,再次推動表單執行流程。

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. api_path:指定流程的API path

  3. data_id:資料編號,由於OMFLOW流程有「並行」的功能,因此只靠「單號」可能無法準確地推進表單;列表中回傳的資料內,key為id的值即為data_id

  4. token:doLogin所取得的Token

  5. obj.Form:Form物件,詳見【3.4】章節

回傳的資料型態為String,「單號」或錯誤訊息

2.3 取得資料(列表)

Method: getList

此方法可以讓使用者取得該流程當前已經開過的所有資料。

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. token:doLogin所取得的Token

  3. obj.query:Query物件,詳見【3.1】章節

回傳的資料型態為JSONArray,格式如下:

[
    {'id':1,'data_no':'value','formitm_1':'value','formitm_2':'value'},
    {'id':2,'data_no':'value','formitm_1':'value','formitm_2':'value'},
    ...
]

2.4 取得特定單號的歷史資料

Method: loadHistory

一張單從建立開始,每次經過「人工處理」並被使用者推動後,都會產生一筆「歷程」來記錄使用者所填寫的內容,以供未來稽核等情況使用。 此方法可以讓使用者撈取特定流程特定單號的所有「歷程」。

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. token:doLogin所取得的Token

  3. api_path:指定流程的API path

  4. data_no:要查詢的單號

回傳的資料型態為JSONArray,格式如下:

[
    {'id':1,'data_no':'value','formitm_1':'value','formitm_2':'value'},
    {'id':2,'data_no':'value','formitm_1':'value','formitm_2':'value'},
    ...
]

2.5 刪單

Method: delData

此方法可以讓使用者刪除已經建立的單,包含該單的「歷程」、附加檔案等。

輸入參數如下:

  1. URL:對象OMFLOW Server的URL,例:https://omflow.com.tw

  2. api_path:指定流程的API path

  3. token:doLogin所取得的Token

  4. data_no:輸入的資料型態為ArrayList,List內放要刪除的單號

回傳的資料型態為boolean

3 附錄

1、2節的內容在說明omflow.jar所能提供的服務,而此節會補充前兩節所需的一些物件格式。

3.1 Query

Class: com.syscomgo.omflow.java.obj.Query

propertiesmethodinput typenote

api_path

setAPI

String

searchkey

setSearchkey

String

針對search_columns,進行模糊搜尋

search_columns

putColumn

com.syscomgo.omflow.java.obj.Column

search_conditions

putCondition

com.syscomgo.omflow.java.obj.Condition

order_columns

putOrderColumn

com.syscomgo.omflow.java.obj.Column

index

setIndex

Int

從第幾筆資料開始

limit

setLimit

Int

一次取幾筆資料

clear

toJSON

※ searchkey與search_conditions只會有一者生效 (search_conditions優先)

OMFLOW版本 1.1.6.3 功能:

3.2 Condition

Class: com.syscomgo.omflow.java.obj.Condition

propertiesmethodinput typenote

name

setColumnName

String

oper

setOper

String

!=,=,>,<,in,contains

value

setValue

String

setValue

ArrayList

setValue

boolean

super

setSuper

boolean

toJSON

3.3 Column

Class: com.syscomgo.omflow.java.obj.Column

propertiesmethodinput typenote

name

setColumnName

String

is_query

getIsQuery

boolean

setStringValue回傳False,setQueryValue回傳True

value_string

setStringValue(String)

String

value_query

setQueryValue(query)

com.syscomgo.omflow.java.obj.query

is_text

setTextMode

boolean

default = true

3.4 Form

Class: com.syscomgo.omflow.java.obj.Form

propertiesmethodinput typenote

formdata

setForm

String, JSONObject

欄位名稱,欄位值

setForm

String, ArrayList

欄位名稱,欄位值

setForm

String, String

欄位名稱,欄位值

setForm

String, int

欄位名稱,欄位值

getFormData

ArrayList

最后更新于