找回密码
 立即注册

QQ登录

只需一步,快速开始

[资源分享] 解析企微审批数据

Joseph.Wang
超级版主   /  发表于:2023-4-28 10:18  /   查看:2137  /  回复:7
本帖最后由 Joseph.Wang 于 2023-7-14 08:41 编辑

本次和大家分享一下,在获取到企微审批详情数据后,如何解析该数据,转换成我们需要的格式。可能有些小伙伴会好奇,为什么要解析转换呢?获取到数据后,不能直接保存表里吗?那我们就先了解一下,企微的审批数据格式是什么样的。

对于企微的审批应用而言,会有很多的内置模板,也可以选择新建模板
image.png125381163.png
每一个模板,都是由不同的控件组成
image.png824345092.png
所以审批详情的数据,其实就是每个控件的内容,而这些内容可以通过调用“获取审批申请详情”接口获取到,就在apply_data里面
image.png830236511.png
但获取到数据之后就会发现,不同的控件类型,返回的数据结构是不一样的,可能是这样
image.png383787841.png
也可能是这样
image.png208404845.png
而如果是明细控件,每一列的控件类型也可能不一样,就像这样
image.png646242980.png
这些数据虽然是我们想要的,但是结构并不是我们希望的,使用起来很不方便。现在我们把数据进行解析,构造成“控件名称:控件内容”的结构,就像下面这样,不管是保存到数据表,还是返回给前端页面展示,其实都是OK的
image.png734130859.png

目前我新建了一个模板,并且做了一条审批数据,工程文件中提供了两种测试的方法
1. 已经将接口的审批数据保存到了“源数据表”中,通过“从数据库表获取数据”服务端命令,取出表中的数据,解析后保存到主表、子表中
image.png752892760.png
2. 通过调用接口的方式获取审批数据,解析后保存到主表、子表中。具体调用接口的方式不在这里展开讨论,结合企微接口文档和活字格的
发送请求命令使用,也可以参考工程文件的实现方式
image.png64201048.png

需要注意的是,解析控件数据的服务端命令并没有支持所有控件类型,目前支持的有:文本、多行文本、数字、金额、公式、日期、日期时间、单选、多选、成员、部门、位置、手机号、明细、关联审批单(以数组形式返回)。这个例子是提供给了一个思路,大家可以针对自己的需求进行修改和扩展,也欢迎大家多多交流,集思广益哈~




解析企微审批数据-9.0.4.0.fgcc

427.38 KB, 下载次数: 267

7 个回复

倒序浏览
吾爱61
注册会员   /  发表于:2023-7-13 19:20:15
沙发
老师您好,可否在控件里面 把审批节点也加上。
需要抓取审批人、审批时间、审批状态。
image.png702861022.png
回复 使用道具 举报
Joseph.Wang
超级版主   /  发表于:2023-7-14 08:42:49
板凳
吾爱61 发表于 2023-7-13 19:20
老师您好,可否在控件里面 把审批节点也加上。
需要抓取审批人、审批时间、审批状态。

审批节点的字段应该是固定的,建议看下发送http请求插件下面的视频学习一下哈
https://marketplace.grapecity.co ... tabName=Tabs_detail
回复 使用道具 举报
吾爱61
注册会员   /  发表于:2023-7-14 09:04:17
地板
image.png594368285.png
就是会有这种情况,很多人审批时,所有字段都长一样,就不知道怎么取值了
回复 使用道具 举报
Joseph.Wang
超级版主   /  发表于:2023-7-14 11:06:38
5#
吾爱61 发表于 2023-7-14 09:04
就是会有这种情况,很多人审批时,所有字段都长一样,就不知道怎么取值了

sp_record的返回的是数组,数据是多条记录,可以通过循环的方式保存到您自己的表中,建议看下相关的视频先学习一下,视频中讲的很详细的
【已结束】发送http请求命令入门
https://gcdn.grapecity.com.cn/showtopic-158601-1-1.html
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
吾爱61
注册会员   /  发表于:2023-7-17 13:57:26
6#
老师,您好,关于明细表的地方再请教一下。因为我这有可能存在多个明细表
1、我这边现在在循环命令处 如选择添加,会导致 此命令如果执行多次,明细表会一直添加记录。
2、如选择  添加/ 更新,会导致只更新第一个明细表
(更新条件: 当 企业微信审批单号==Item)
image.png619565429.png
回复 使用道具 举报
吾爱61
注册会员   /  发表于:2023-7-17 14:00:28
7#
吾爱61 发表于 2023-7-17 13:57
老师,您好,关于明细表的地方再请教一下。因为我这有可能存在多个明细表
1、我这边现在在循环命令处 如选 ...

前提条件是,这个命令我可能执行多次
回复 使用道具 举报
Joseph.Wang
超级版主   /  发表于:2023-8-1 17:26:17
8#
吾爱61 发表于 2023-7-17 14:00
前提条件是,这个命令我可能执行多次

对于多个明细表的场景,返回的结果也是会包含多个明细的,然后结合自己的场景,逐个循环明细然后插入自己的业务表中就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部