1、统一待办接口说明
1.1、接收异构系统流程接口
参数说明
接口地址 | /rest/ofs/ReceiveRequestInfoByJson | |
功能说明 | 接收异构系统流程(json格式) | |
参数说明 | JSON结构 | |
参数名 | 说明 | 类型 |
syscode | 异构系统标识 | String |
flowid | 流程实例id | String |
requestname | 标题 | String |
workflowname | 流程类型名称 | String |
nodename | 步骤名称(节点名称) | String |
pcurl | PC地址 | String |
appurl | APP地址 | String |
isremark | 流程处理状态0:待办2:已办4:办结8:抄送(待阅) | String |
viewtype | 流程查看状态0:未读 (注:isremark = 0 且 viewtype = 0 会给OA消息中心推送消息,对接钉钉、企业微信)1:已读; | String |
creator | 创建人(原值) | String |
createdatetime | 创建日期时间 | String |
receiver | 接收人(原值) | String |
receivedatetime | 接收日期时间 | String |
receivets | 时间戳字段,客户端使用线程调用接口的时候,根据此字段判断是否需要更新数据,防止后发的请求数据被之前的覆盖例如"1602817491990"(毫秒级时间戳) | String |
返回值说明 | JSON结构 | |
参数名 | 说明 | |
syscode | 异构系统标识 | |
dataType | 数据类型: IsUse:统一待办中心 OtherSys:异构系统 WfType:流程类型 WfData:流程数据 SetParam:参数设置 | |
operType | 操作类型: AutoNew :自动创建 New:新建 AutoEdit:自动更新 Edit:编辑 Del:删除 Check:检测 Set:设置 | |
operResult | 操作结果: 1:成功0:失败 | |
message | 错误信息 |
推送参数示例
注意添加消息头: accept:*/* connection:Keep-Alive Content-Type:application/json
{
"syscode": "NC",
"flowid": "001",
"requestname": "测试流程001",
"workflowname": "测试流程名称001",
"nodename": "测试节点001",
"pcurl": " /wui/index.html#/main/workflow/listDoing?menuIds=1",
"appurl": " /wui/index.html#/main/workflow/listDoing?menuIds=1 ",
"creator": "wld",
"createdatetime": "2018-12-04 17:56:00",
"receiver": "wld",
"receivedatetime": "2018-12-04 17:56:00",
"isremark": "0",
"viewtype": "0",
"receivets": "1602817491990"
}
postman调用示例
请求参数设置:
1.2、删除异构系统指定人员待办流
参数说明
接口地址 | /rest/ofs/deleteUserRequestInfoByJson | |
功能说明 | 删除异构系统指定接收人待办流程(json格式) | |
参数说明 | JSON结构 | |
参数名 | 说明 | 类型 |
syscode | 异构系统标识String | string |
flowid | 流程实例id | string |
userid | 接收人(原值) | string |
返回值说明 | JSON结构 | |
参数名 | 说明 | |
syscode | 异构系统标识 | |
dataType | 数据类型: IsUse:统一待办中心 OtherSys:异构系统 WfType:流程类型 WfData:流程数据 SetParam:参数设置 | |
operType | 操作类型: AutoNew:自动创建 New:新建 AutoEdit:自动更新 Edit:编辑 Del:删除 Check:检测 Set:设置 | |
operResult | 操作结果: 1:成功 0:失败 | |
message | 错误信息 | |
参数示例
{
"syscode": "NC",
"flowid": "001",
"userid": "111"
}
2、统一认证方案说明
2.1、中转页面方案
执行逻辑
通过中转页面与第三方系统对接,按照第三系统的验证方式开发中转页面中的程序。
执行过程如下图:
2.2、优缺点
优点:可以灵活的对接各个系统
缺点:有多少个第三方就需要开发多少个不同的中转页面
2.3、推荐实现方案
建议:与各个第三方协商,使用统一的单点方式,例如:
A)使用SHA加密数据:
String token = SHA1Utils.getToken(Prop.getPropValue(“QC699764”,“secrect”) + loginid + timestamp);
B)将加密的结果推送给第三方
String tourl=Appprefixurl+appurlsrc+“&loginid=”+loginid+“&stamp=”+timestamp+“&token=”+token;
C)第三方根据相同的数据加密,结果一致就认证成功,打开流程
Secrect:约定的密钥
Loginid:登录账号
Timestamp:时间戳
回调刷新
第3方流程审批后刷新OA列表回调方法
PC端
PC端如何在oa列表打开异构系统流程提交后,回刷oa列表?
需要第三方表单,在提交自己的流程后,通过【window.location.href=‘oa地址/workflow/request/ViewRequestOS.jsp?reflush=1’】
代码跳到oa的指定jsp上。
请注意:异构系统在跳转到oa的jsp后,自己所有的业务代码均不要再执行,oa的jsp中会处理页面关闭
;
移动端
动端端如何在oa列表打开异构系统流程提交后,回刷oa列表?
需要第三方表单,在提交自己的流程后,通过【window.location.href=‘oa地址/workflow/workflow/WfRefreshList.jsp’】
代码跳到oa的指定jsp上。
请注意:异构系统在跳转到oa的jsp后,自己所有的业务代码均不要再执行,oa的jsp中会处理页面关闭
;