ECOLOGY系统接口开发示例文档

更新时间:2023-07-29 18:51:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

泛微OA 二次开发接口 示例文档

ECOLOGY系统接口开发示例文档

在ECOLOGY系统中已经实现了一些可供客户自行开发实现相关功能的接口,主要体现在:流程字段直接获取其他系统的数据;流程流转过程中自动触发或者更新其他系统的数据

要实现上述功能,一般通过以下几步就可完成

一、配置其他系统的数据源(通过这个来和其它系统的数据库通信),配置文件位于ECOLOGY/WEB-INF/service下 文件名:datasource.xml

内容: <service-point id="local" interface="weaver.interfaces.datasource.DataSource">

<invoke-factory>

<construct class="weaver.interfaces.datasource.BaseDataSource">

<set property="type" value="sqlserver"/>

<set property="host" value="192.168.0.127"/>

<set property="port" value="1433"/>

<set property="dbname" value="ehr"/>

<set property="user" value="sa"/>

<set property="password" value="sa"/>

<set property="minconn" value="5"/> <set property="maxconn" value="10"/>

</construct>

</invoke-factory>

</service-point>

以上是定义了一个 id 为 local 的数据源,这个ID可以为任意值,

说明:

type: 数据库类型。有效值为oracle、sqlserver、db2、mysql、sqlserver2005

host: 数据库主机名或ip

port: 数据库端口号

dbname: 数据库名

user:数据库账号

password: 数据库密码

minconn: 连接池最小连接数

maxconn: 连接池最大连接数

如果需要重新定义一个数据源,只需要把上面代码中的 蓝色字体 部分,做相应的修改就可以了

二、配置流程字段获取其他系统数据(通过这个流程中的字段可以直接其他系统的数据),配置文件位于ECOLOGY/WEB-INF/service下

文件名:browser.xml

内容:

<service-point id="AttendanceBrowser" interface="weaver.interfaces.workflow.browser.Browser"> <invoke-factory>

泛微OA 二次开发接口 示例文档

<construct class="weaver.interfaces.workflow.browser.BaseBrowser">

<set-service property="ds" service-id="datasource.local"/> <set property="search" value="select id,classname,classtype from ATDATTENDANCECLASS"/> <set property="searchById" value="select classname,classtype from ATDATTENDANCECLASS where id=?"/> <set property="searchByName" value="select id,classname,classtype from ATDATTENDANCECLASS where classname like ?"/> <set property="nameHeader" value="出勤名称"/> <set property="descriptionHeader" value="出勤类别"/>

</construct>

</invoke-factory>

</service-point>

以上定义了一个id为 AttendanceBrowser的浏览窗口

参数说明:

1、sql 语句中的 classname,classtype 分别对应 nameHeader,descriptionHeader 2、<set-service property="ds" service-id="datasource.local"/> 该browser 使用到的数据源(.local来自上一步配置的数据源ID)

3、<set property="search" value="select id,classname,classtype from ATDATTENDANCECLASS"/> 查询数据用的sql 语句(根据实际情况自行定义,但是要保证获取三个字段,如果字段不足则以常量表示如:select id,1,2 from table)

4、<set property="searchById" value="select classname,classtype from ATDATTENDANCECLASS where

id=?"/> 按id查询的sql 语句

5、<set property="searchByName" value="select id,classname,classtype from ATDATTENDANCECLASS where classname like ?"/>按 name 查询的sql 语句(根据实际情况自行定义,但是要保证获取三个字段,如果字段不足则以常量表示如:select id,1,2 from table where field1 like )

6、<set property="nameHeader" value="出勤名称"/> 在browser 上显示的列的名称

7、<set property="descriptionHeader" value="出勤类别"/>在browser 上显示的列的名称

如图

泛微OA 二次开发接口 示例文档

三、新建可以在流程中被引用的字段

效果:

泛微OA 二次开发接口 示例文档

四、配置流程流转过程中触发其他系统事件,配置文件位于ECOLOGY/WEB-INF/service下

配置文件名:action.xml

内容: <service-point id="InsertData" interface="weaver.interfaces.workflow.action.Action">

<invoke-factory>

<construct class="weaver.interfaces.workflow.action.InsertData">

<set-service property="ds" service-id="datasource.local"/>

</construct>

</invoke-factory>

</service-point>

以上定义了一个id 为 InsertData的action

参数说明

1、id="InsertData" 为该动作的id,不能重复

2、class="weaver.interfaces.workflow.action.InsertData" 为实现该动作类,即(InsertData.java)。

3、<set-service property="ds" service-id="datasource.local"/> 为该动作要使用的数据源,

泛微OA 二次开发接口 示例文档

datasource.local 是我们在datasource.xml中定义的数据源local。

如果添加一个新的动作,只需修改以上的参数就可以

如果一个动作中,用到多个数据源,也可以类似的添加进去,如:

<set-service property="ds1" service-id="datasource.xxx"/>

只要 property 的值不相同就可以

流程数据更新到其他数据库需求开发过程:

1、编写接口(action)实现代码(InsertData.java),根据示例客户可以自行开发该代码。接口实现代码,可以参照附件中的

InsertData.java 来编写就可以了,示例中其它文件不需要修改

2、在action.xml中配置该接口

3、流程管理员把action.xml中定义的接口设置为流程节点附加操作后,就可以实现流程到达该节点前(或离开该节点后)

执行接口实现代码。

4、在流程设置中应用该功能

本文来源:https://www.bwwdw.com/article/tc2m.html

Top