苍穹工作流那些事 之 待办任务与第三方系统集成
支撑一个企业的数字化发展,可能是多个业务系统共同应用的成果。那么,业务系统之间的流程应如何打通?这就要求各系统必须提供对外流程集成的能力,才能应对企业复杂的需求变化,更好地为企业提供服务。
本期文章为大家介绍苍穹工作流的待办任务与第三方系统集成能力。
1 应用场景
苍穹工作流的待办任务,需要在其他业务系统的渠道终端做数据展现。无论客户企业选择哪个渠道终端,都能够顺利集成苍穹的流程审批功能,保证企业内部流程的高效运转执行。
碎碎念:这是一篇纯技术干货哦~~~
2 解决方案
工作流中的待办任务,可以采取两种方式和第三方系统的渠道终端进行集成。
第一种:通过API拉取苍穹待办;
第二种:通过扩展苍穹消息渠道推送待办。
3 价值体现
苍穹工作流提供了与第三方业务系统的待办集成能力,即使客户企业选择了不同的终端服务,苍穹也可以实现数据对接,使苍穹的流程审批应用更加广泛、灵活,更好地为企业提供流程审批的服务。
4 功能详情
4.1 通过API拉取苍穹待办
在客户的第三方列表界面调用苍穹工作流提供的待办/已办API查询某个人的待办列表,直接格式化融合显示,获取的结果中包含苍穹审批界面的URL,可以直接打开URL进行审批。
如果是在移动端进行显示,在URL参数中增加“&device=mob”,如果是在PC端进行显示,在URL参数中增加参数“&device=pc”。
拉取的方式不在第三方存储数据,且数据量较大时,需要分页拉取。此种方式需要做单点登录工作,然后才能调用API拉取数据,具体步骤如下:
1. 拉取待办API: getToHandleTasksByUserId
调用方式:
https://ierp.kingdee.com:2024/mainbiz/kapi/app/wf/getToHandleTasksByUserId?body={"start":0,"limit":10,"billno":"test","subject":"test","entityName":"test"}&access_token={access_token}
参数示例说明:
1)access_token: 某个用户单点登录之后获取的token,拉取当前用户的待办任务;
2)start/limit:从第几个开始,拉取多少个待办;
3)billno: 根据单据编号查询;
4)subject:根据任务主题查询;
5)entityName:根据单据名称进行查询。
返回值为json,拉取的结果如下图所示:
拉取待办结果示例
2.拉取已办任务API: getHandledTasksByUserId
调用方式:
https://ierp.kingdee.com:2024/mainbiz/kapi/app/wf/getHandledTasksByUserId?body={"start":0,"limit":10,"billno":"test","subject":"test","entityName":"test"}&access_token={access_token}{access_token}
参数示例说明:
1)access_token: 某个用户单点登录之后获取的token,拉取当前用户的已办任务;
2)start/limit:从第几个开始,拉取多少个已办;
3)billno: 根据单据编号查询;
4)subject:根据任务主题查询;
5)entityName:根据单据名称进行查询。
返回值为json,拉取的结果如下图所示:
拉取已办结果示例
3.获取待办&已办的数量:getTaskCountByType
调用方式:
https://ierp.kingdee.com:2024/mainbiz/kapi/app/wf/getTaskCountByType?body={"type":"toHandle"}
参数示例说明:
type: “toHandle”表示待办任务数量;“handled”表示已办任务数量。
返回值为json,拉取的结果如下图所示:
获取待办&已办的数量结果示例
4.2 通过扩展苍穹消息渠道推送待办
除了可以按照默认的渠道(云之家、短信、邮件)发送之外,也可以自定义和扩展消息渠道进行发送。
自定义消息渠道需要一个实现类,在这个实现类中,处理待办相关内容。实现类需要继承:
kd.bos.workflow.engine.msg.handler.AbstractMessageServiceHandler。
此接口的关键说明如下:
1)MessageServiceConfig:为消息渠道中定义的渠道相关信息,包括渠道编码、渠道名称、是否启用、自定义参数等。
2)createToDo:工作流中的待办任务创建之后,会调用此接口,将待办任务传递给响应的渠道做处理。
3)dealToDo:工作流中将待办变成已办的时候,会调用此接口进行待办变已办的处理。
4)deleteToDo:工作流中撤回,或者多人收到任务,其中一人审批,删除其他人的待办时,调用此接口。
5)sendMessage:发送预警、通知、报警等消息时,调用此接口进行当前渠道处理。
点击某个流转日志进入,可以从相关数据中看到关键信息,如下图:
流转日志关键信息示例
6)state:NEW表示创建待办任务;DEAL表示待办变已办;DELETE表示删除待办。
7)service=email:表示当前消息为邮件,email为消息渠道的编码。
5 常见问题
Q1:苍穹待办消息是否支持存储至第三方数据库?
A1:推送过去的待办消息,可以将消息存储到第三方的数据库中,也可以直接发送第三方的消息。具体可以参考云之家的实现类(YunzhijiaServiceHandler)。
Q2:消息的失败是否会影响流程的流转?
A2:所有的消息渠道在工作流引擎中均通过异步消息处理,如果失败,会重试三次,三次都失败会进入异常中心等待人工处理。消息的失败不会影响流程的流转,可以在流转日志中查看对应渠道的消息是否执行成功。
Q3:是否支持在第三方系统中打开苍穹的审批页面?
A3:推送的消息也包含相关的URL信息,在第三方的终端中打开苍穹任务链接,需要先做单点登录,然后点击链接,直接打开苍穹的审批界面;支持打开移动端审批界面,也支持打开PC端审批界面。审批完成后,需要刷新待办列表。
6 相关链接
7 划重点
对于苍穹流程中的待办任务消息通知,可以采取以下两种方式集成到第三方系统的渠道终端:
方式一:通过API拉取苍穹待办;
方式二:通过扩展苍穹消息渠道推送待办。
#往期推荐#
更多精彩内容,“码”上了解!↓
苍穹工作流那些事 之 待办任务与第三方系统集成
本文2024-09-23 00:54:46发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142548.html