系统集成——业务引擎 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){……}
功能:业务模块提供业务数据的出口函数,由业务引擎负责调用,根据业务模块与
3、 Public function inData($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\' => \'\' //无意义参数