通达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、php编程手册
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' => '' //⽆意义参数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论