通达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' => '' //无意义参数

优质内容筛选与推荐>>
1、块级元素&行内元素
2、python整理-Day3
3、修改Linux系统时间EDT改为CST
4、haproxy原理理解 + -->https-->https(web)
5、BestCoder25 1001.Harry and Magical Computer(hdu 5154) 解题报告


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号