系統集成——業務引擎 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' => '' //無意義參數