通達OA流程中心業務引擎開發手冊


系統集成——業務引擎 2.0

一、目錄結構

1、 inc/SI:系統集成根目錄,將來所有與系統集成有關的核心類文件都會放在此目錄

下(包括業務引擎,OA 與 OA 間的集成,OA 與異構系統的集成等)。

2、 inc/SIHook.class.php:業務引擎核心文件。

3、 inc/hook:業務引擎類文件目錄。

4、 inc/flow_engine2.0/workrun/dao/WorkRunHook.class.php:業務引擎入口文件。

二、業務引擎核心文件說明

1、 Public function setFeild(){……}

功能:設置業務模塊字段。

說明:返回的模塊字段必須包含業務唯一標識。

返回值:array(

array(

'name' => 英文字段,

'desc' => 中文字段

)

……

)

2、 Public function outData($PKeyData){……}

參數:$PKeyData——業務模塊主鍵所對應的值。

功能:業務模塊提供業務數據的出口函數,由業務引擎負責調用,根據業務模塊與

流程的映射關系進行翻譯,為流程存儲業務數據做准備。

說明:返回的數組中必須包含業務唯一標識所對應的值。

參數:業務模塊主鍵的值。

返回值:array(

業務英文字段 => 對應字段的值

)

3、 Public function inData($PKeyData){……}

參數:$PKeyData——業務模塊主鍵所對應的值。

功能:業務引擎在流程結束之后回調業務模塊的函數。

說明:此函數不需要返回值;禁止使用 exit;或 die;,以避免影響流程的后續程序正

常執行。

4、 Public function setPKey(){……}

功能:設置業務的唯一標識。

說明:此函數必須在子類中重載,否則業務引擎無法使用。

5、 Public function setModule(){……}

功能:設置業務的模塊名稱。

說明:此函數必須在子類中重載,否則業務引擎無法使用。

6、 Public function getRunData($PKeyData){……}

功能:獲取流程返回業務的值。返回值的格式按照業務引擎中"數據轉入映射"展

示。

說明:此函數需要業務自行調用。

返回值:array(

業務英文字段 => 對應字段的值

)

7、 Protected function checkPassFlow(){……}

功能:獲取流程在結束后,業務引擎設置的條件是否通過。

說明:此函數需要業務自定調用。如果沒有設置業務引擎條件則恆為 false。

返回值:true——通過業務引擎設置的條件,false——沒有通過業務引擎設置的

條件。

8、 Public static function getWorkViewUrl($module, $PKeyData, $config()){……}

功能:獲取流程查看的 URL 地址。

參數:$module——業務模塊名稱

$PKeyData——業務唯一標識所對應的值

$config——其他配置項:

Array(

'is_mobile' => 1, //獲取移動端 URL 地址

//'is_mobile' => 0, //獲取 PC 端 URL 地址

)

9、 Protected function doAction($actionType, $PKeyData){……}

功能:業務在出現異常時可選對業務引擎進行回調,讓業務引擎執行規定的程

序。

參數:$actionType——回調動作

支持的回調動作:

send_sms:向申請人發送一條事務提醒,提醒內容為"業務引擎執行失敗,

請檢查業務引擎數據映射關系設置是否正確或數據是否有效后,可嘗試再次發起

該申請。",並可以查看相應流程的信息。

$PKeyData——業務唯一標識所對應的值

說明:此函數需要業務自行調用;回調動作暫時只支持 send_sms。

返回值:array(

'status' => 'ok', //回調成功

//'status' => 'error', //回調失敗

'msg' => '' //回調失敗信息

)

10、

Protected function getAllowAction(){……}

功能:獲取允許的業務在出現異常時對業務引擎進行回調的動作。

說明:此函數需要業務自行調用。

返回值:array(

Array(

'action' => '允許的回調動作',

'desc' => '此回調動作用途或如何使用的說明'

)

……

)

11、

Public function createUserInfo($PKeyData){……}

功能:設置工作創建人信息。

參數:$PKeyData——業務唯一標識所對應的值

說明:此函數需要業務自行調用。如果業務需要不使用當前登錄用戶創建工作,

則需要將創建工作人的信息進行返回。反之不需要調用。

返回值: array(

'LOGIN_UID' => $LOGIN_UID, //創建工作人的 UID

'LOGIN_USER_ID' => $LOGIN_USER_ID, //創建工作人的 USER_ID

'LOGIN_USER_NAME' => $LOGIN_USER_NAME, //創建人的 USER_NAME

'LOGIN_DEPT_ID' => $LOGIN_DEPT_ID, //創建人的部門 ID

'LOGIN_DEPT_ID_OTHER' => $LOGIN_DEPT_ID_OTHER, //創建人的輔助

部門 ID

'LOGIN_USER_PRIV' => $LOGIN_USER_PRIV, //創建人的角色 ID

'LOGIN_USER_PRIV_OTHER' => $LOGIN_USER_PRIV_OTHER //創建人的

輔助角色 ID

);

12、

\dao\run\hook\WorkRunHook::runHook($module, $config = array()){……}

功能:業務引擎入口函數,業務調用此函數開始進行新建流程操作。

參數:$module——業務模塊名稱

$config——其他配置項

Array(

'is_mobile' => 1, //進行移動端新建流程操作

//'is_mobile' => 0, //進行 PC 端新建流程操作

'業務模塊唯一標識' => '業務模塊唯一標識所對應的值' //此項必須設

置,否則業務引擎無法使用

)

說明:此函數需要業務自行調用,在調用前需要引用入口文件。

返回值:如果 PC 端新建流程成功則無返回值,直接跳轉到工作辦理中。

如果 PC 端新建流程失敗或移動端新建流程,則返回值如下

array(

'status' => 'ok', //新建成功

//'status' => 'error', //新建失敗

'msg' => '', //新建失敗信息

'pc_url' => '', //新建成功后 PC 端工作辦理 URL

'pda_url' => '', //新建成功后移動端工作辦理 URL

'call_back' => '' //無意義參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM