引言
在数字化转型的浪潮中,企业对于系统集成的需求日益增长。泛微Ecology9作为一款领先的协同办公软件,其强大的接口开发能力为企业信息系统的整合提供了有力支持。本文将详细介绍Ecology9的集成接口开发方法及最佳实践,帮助开发者快速上手。
1. 理解Ecology9接口
接口类型
- RESTful API:提供简洁的HTTP接口,支持多种数据格式(如JSON、XML)。
- SOAP API:基于XML的协议,适用于复杂的操作和较高的安全要求。
2. 接口开发案例
2.1 后台常见接口开发-自定义节点Action
•节点前:流程流转到这个节点之前触发
•节点后:流程流转到这个节点之后触发
•
出口线
:
流程走此分支时触发

使用场景:
•
更改
OA
流程表单数据
•
流程表单数据校验
•
获取其他系统数据
•
写入数据到其他系统(webservice,dml,rfc,http
)
•
触发短信、邮件、通知等


2.2 后台常见接口开发-Action传参
•
action
里面需要用到的动态参数,如:第三方系统的接口地址或密码
•
是否是数据源
:
如果是
,
需要通过
Datasource对象去取值,
否则通过
String
变量去取值。
•
注意
:
对应的
url
,username
,
ds
需要提供
get,set
方法
2.3 后台常见接口开发-操作组--外部接口
使用场景:流程节点操作组不固定
package com.zzl;
import java.util.ArrayList;
import java.util.List;
import weaver.interfaces.workflow.action.OperatorAction;
import weaver.soa.workflow.request.RequestInfo;
public class WFOperator implements OperatorAction{
@Override
public List<String> execute(RequestInfo arg0) {
System.out.println("执行了----start");
List<String> list=new ArrayList<String>();
list.add("3");
list.add("4");
list.add("5");
list.add("6");
return list;
}
}
2.4 后台常见接口开发-消息提醒
使用场景:需要触发流程提醒的地方
2.5 后台常见接口开发-字段属性
使用场景:
•
流程界面一加载完就执行
•
动态计算流程表单上的某个值
需求:统计申请人当前月的月报销总额(并且流程已经归档的数据)


doFieldSQL(" select SUM(bxje) bxje from formtable_main_2 a left join
workflow_requestbase b on a.requestid=b.requestid
where 1=1
and DATEPART(m,sqrq)=DateName(month,GetDate())
and DATEPART(yyyy,sqrq)=DateName(year,GetDate())
and b.currentnodetype=3
and sqr= $currentuser$ ")
2.6 后台常见接口开发-流程提醒
SysRemindWorkflow sys=new SysRemindWorkflow();
String hrmid="1";
String remindCont="测试";
try {
sys.setSysRemindInfo("TEST", 0, 0, 0, 0, 1, hrmid, remindCont);
} catch (Exception e) {
e.printStackTrace();
}
2.7 后台常见接口开发-定时job
使用场景:
•
定时触发提醒
(
邮件、短信、微信
)
•
定时同步数据(组织架构、基础数据)
•
定时清理日志、垃圾数据和文件等
•
定时创建
OA
审批流程

注意:1、计划任务配置好之后,需要重启OA服务
2、如果是集群环境,计划任务默认在主服务器执行