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

  • 相关阅读:
    【白嫖】0002 11款 Procreate 皮肤纹理笔刷
    30款 Procreate 书法笔刷 你值得拥有
    PaddleHub(3)
    PaddleHub(2)
    关于大学学习的小思考
    PaddleHub(1)
    OO TA——一次非同寻常的体验
    Vue实现增加删除检索数据
    闲言碎语
    析 合 树 详 解
  • 原文地址:https://www.cnblogs.com/tongdaoa/p/8003799.html
Copyright © 2020-2023  润新知