泛普协同OA办公系统实现流程与NC业务数据流转过程中和异构系统数据交互
泛普协同OA办公系统实现流程与NC业务数据流转过程中和异构系统数据交互
一. 接口说明
该接口主要实现在流程的流转当中,实时通过自定义的动作去操作异构形体系统的数据或者是其他一些特定的操作。
在流程的每个出口都可以定义这样的自定义动作,从而实现在流程流转过程导入,导出流程的相关信息,或者将流程信息和其他应用相结合。该接口在表单建模中也一样适用。
二. 应用效果
通过泛普OA办公软件泛普OA系统流程申请处理:
流程提交或处理结束后,报销流程中的数据会自动生成到NC系统中:
查询后的结果:
从这里可以查看到从泛普OA办公软件泛普OA系统提交过来的对应数据:
三. 实现方法&步骤
1、配置接口文件(action.xml)
2、编写接口(action)实现代码
3、流程管理员把action.xml中定义的接口设置为流程节点附加操作后,就可以实现流程到达该节点前(或离开该节点后)执行接口实现代码。
4、在流程设置中应用该功能
1. xml文件配置
该文件名为action.xml,位于(该文件位于泛普OA办公软件泛普OA系统的WEB-INF/service/目录下)
<?xml version="1.0" encoding="GBK"?>
<module id="datasource" version="1.0.0">
<service-point id="baseAction" interface="OA.interfaces.workflow.action.Action">
<invoke-factory>
<construct class="OA.interfaces.workflow.action. BaseAction ">
<set property="ds" service-id="datasource.dt1"/>
</construct>
</invoke-factory>
</service-point>
说明: 以上定义了一个id 为 baseAction的action,其中黑体部分是在配置每个动作时需要改变的内容;
注意:每次配置后需要重启OA服务方可生效;
2. 属性说明
Id: 为该动作的id,不能重复,在后文件将会使用该标识
Class: 具体实现的动作类
service-id:为该动作要使用的数据源,如果该动作需要好异构系统交互数据,在此可以设置前文配置好的数据源。
如果添加一个新的动作,只需修改以上的参数就可以
如果一个动作中,用到多个数据源,也可以类似的添加进去,如:
<set-service property="ds1" service-id="datasource.xxx"/>
只要 property 的值不相同就可以
3. 在5.0及以上版本可以直接在进行可视化的配置
通过顶部菜单【设置中心】【外部接口设置】【配置接口动作】即可进入配置界面
点击右键【新建】即可创建一个新的【接口动作】
注意:该配置,不需要重启OA服务即可生效
4. 可视化配置属性说明
接口动作标识,即xml配置中的Id: 为该动作的id,不能重复,在后文件将会使用该标识
接口动作类文件,即xml配置中的Class: 具体实现的动作类
5. Action接口代码编写
编写接口(action)实现代码,在上面的配置中,具体要实现的动作将体现在OA.interfaces.workflow.action.BaseAction类中。该类必须实现OA.interfaces.workflow.action.Action接口,该接口中包含execute(RequestInfo request),这个方法会在流程节点到达前或节点到达后被泛普OA办公软件泛普OA系统调用。
示例代码:
package OA.interfaces.workflow.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import OA.general.Util;
import OA.soa.workflow.request.Cell;
import OA.soa.workflow.request.DetailTable;
import OA.soa.workflow.request.Property;
import OA.soa.workflow.request.RequestInfo;
import OA.soa.workflow.request.Row;
public class BaseAction implements Action {
public String execute(RequestInfo request) {
//取主表数据
Property[] properties = request.getMainTableInfo().getProperty();// 获取表单主字段信息
for (int i = 0; i < properties.length; i++) {
String name = properties[i].getName();// 主字段名称
String value = Util.null2String(properties[i].getValue());// 主字段对应的值
System.out.println(name + " " + value);
}
//取明细数据
DetailTable[] detailtable = request.getDetailTableInfo()
.getDetailTable();// 获取所有明细表
if (detailtable.length > 0) {
for (int i = 0; i < detailtable.length; i++) {
DetailTable dt = detailtable[i];// 指定明细表
Row[] s = dt.getRow();// 当前明细表的所有数据,按行存储
for (int j = 0; j < s.length; j++) {
Row r = s[j];// 指定行
Cell c[] = r.getCell();// 每行数据再按列存储
for (int k = 0; k < c.length; k++) {
Cell c1 = c[k];// 指定列
String name = c1.getName();// 明细字段名称
String value = c1.getValue();// 明细字段的值
System.out.println(name + " " + value);
}
}
}
}
return Action.SUCCESS;
}
}
以上class中可以在execute(RequestInfo request)方法中定义任何想要执行的操作,上面的示例描述了在execute(RequestInfo request)方法中获取当前流程的所有信息。
6. 流程节点附加操作接口调用
在泛普OA办公软件泛普OA系统流程管理中配置一下节点附加操作可以看到下图所示,可以在任意一个节点上设置,当流程流到改节点,自动触发预先定义好的动作
以上网页对话框中红色部分接口动作将显示所有定义过的接口动作供选择调用。
- 1OA可以用任何方式或编程语言来读写数据库表
- 2OA基二门户平台技术的业务协同管理平台
- 32015年发布OA系统与ERP软件集成对企业的价值
- 4OA办公系统_项目试产通知单与SAP的集成开发需求
- 5泛普OA办公软件ThinkOne系统的流程数据由表单组成,并取异构数据到流程表格
- 6ERP数据库表单字段与OA软件数据库表单字段的关系
- 7OA软件的规模OurScaleSQL Server是如何使用内存的?
- 8协同OA软件记录未被读(表示还没有触发流程到OA)
- 9OA如何关联审批工作流的文档状态调整为正常或生效状态?
- 10OA系统数据读取和回写中间表实施
- 11泛普OA办公系统文档管理部分数据库相关字段属性的解释
- 12企业办公自动化系统(OA) 的结构设计与分层设计
- 13泛普协同OA办公系统实现流程与NC业务数据流转过程中和异构系统数据交互
- 14泛普OA软件业务协同管理平台结构优点
- 15协同OA的运行环境和配置方案是什么
- 16泛普OA办公软件系统知识管理数据库设计实现大OA协同办公
- 17OA办公自动化系统分析和数据库设计分析
- 18业务系统与协同OA系统组织架构同步
- 19oa办公系统数据库设计
- 20OA办公管理软件可提供移动加密锁认证
- 21接口用来用户在泛普OA办公软件ThinkOne系统自由定义一些需要定时执行的操作
- 22OA办公软件的维护权限是怎样实现的?
- 23oa办公系统数据库
- 24oa数据库设计
- 25协同软件的信息化规划的六化原则
- 26泛普OA办公软件ThinkOne配置和异构系统的数据库的链接方式
- 27泛普软件协同OA办公系统平台技术架构设计
- 28办公自动化系统(OA)的数据库设计简介
- 29协同OA软件中数据库维护常见问题处理
- 30XX食品集团业务管理平台的六大核心应用平台