自有数据库说明

使用须知

由你提供主机/端口/数据库/用户名/密码,我们将你账号下的数据实时推送到这个数据库。

这种推送方式会在你的数据库下自动建表,需要你的数据库开放公网访问权限

  • 数据表是全量覆盖更新,不支持同一个表中部分数据是用户自己新增的。
  • 不要在数据库中 新增与草料相同的名称数据表,会被识别为草料数据表,数据会全量覆盖。
  • 数据库类型为:Mysql 5.7
  • 会实时同步所有的码信息、表单记录、状态明细、计划完成明细等数据。
  • 只创建批量模板和表单,没有填写数据,是不会创建数据表的。
  • 有防火墙等访问限制时,需添加下IP白名单

Mysql 5.7 数据库的下载地址

数据表说明

1. base_codeinfo 码的基本信息表

说明:当账号下有二维码信息时会推送该表,包含活码、模板子码

字段名

类型

说明

示例

code_id

int

码的唯一标识

67654543

码名称

string

码名称

消火栓01

码类型

string

有活码、模板子码和模板码

模板子码

url

string

二维码链接

http://qr61.cn/o2eikt/q85Q8KL

tpl_code_id

int

子码对应的批量模板ID

非模板子码,内容与code_id相同

56335353

模板名称

string

子码对应的批量模板名称

非模板子码,内容与码名称相同

消火栓

目录

string

码所在的最后一级目录名称,不包含前几级目录信息

消防设备

标签集

string

码的分组集合

消防类,设备

目录信息:为码所在的最后一级目录,不会显示其上几级目录信息。

2. code_state 码的状态表

说明:当二维码中有关联的状态时会推送该表。查看状态功能

现在不会推送在开通之前的码状态数据,如需要这部分数据,可以联系在线客服,由技术手动帮你同步。

字段名 类型 说明 示例
code_id int 码的唯一标识 67654543
member_id int 成员唯一标识 2091263
auth_id int 填表人唯一标识 12789054
更新时间 datetime 状态更新时间 2020-11-20 15:00:00
例:设备运行状态_720 string 状态组名称,后面"_720"数字是为了防重复,系统自动生成的标识 正常
...... string 账号下的所有状态组都会列在这里 异常

3. code_state_log 码的状态的变更日志表

说明:当二维码中有关联的状态时会推送该表,每次状态变更的记录都会记录在这张表中。首次开通数据库时,不会推送在开通之前的状态变更数据。

字段名 类型 说明 示例
code_id int 码的唯一标识 67654543
member_id int 成员唯一标识 2091263
auth_id int 填表人唯一标识 12789054
更新时间 datetime 状态更新时间 2020-11-20 15:00:00
状态组 string 状态组的名称 设备状态
状态值 string 该状态组的本次的状态 正常
变更方式 string 变更状态的方式,包含填表后更新状态和手动编辑状态 记录/编辑
来源 string 变更方式为记录时,对应表单数据的唯一标识 12220988

4. table_dXX 表单数据明细表

说明:当账号下有表单数据提交时会推送该表。表单数据表是以"table_"开头的一批表,d后面跟着的是数字,即表单的唯一编号,如:table_d45,一个表单对应一个表。查看表单功能

file

字段名 类型 说明 示例
record_id int 表单数据唯一标识 12220988
code_id int 码的唯一标识 67654543
tpl_code_id int 模板子码:对应的批量模板ID
非模板子码:内容与code_id相同
54349863
码名称 string 码的名称 消火栓01
tpl_id int 表单的唯一标识 346636
记录单名称 string 表单的名称 消火栓检查
记录时间 datetime 添加表单数据时间 2020-11-20 15:20:00
状态 string 这条记录当前的状态:包含是否删除、是否审核通过 正常/删除/待审核/审核通过/审核不通过
member_id int 协作成员唯一标识 2091263
auth_id int 填表人唯一标识 12789054
记录编号 string 表单数据的编号 L1234
处理状态 string 表单数据的处理状态 待处理/已完成/无需处理/暂不标记状态
创建来源 string 包含手机扫码填写,在备注中填写,即后续动态中填写 手机扫码填写/在备注中填写
来源编号 string 当创建来源为在备注中填写时,来源编号为原记录的记录编号 L1235
提交编号 string 草料后台自定义的提交编号 11
处理状态变更时间 datetime 处理进度变更的时间 2020-11-20 15:20:00
例:设备名称 string 表单的组件名称 检查项1
...... string 表单的组件名称会全部展示

表单组件推送情况说明:

  1. 数字组件,推送时不会显示单位。
  2. 检查项组件中,不同的值代表的意思为: 0=检查项未填写;1=检查项选勾; 2=检查项选叉;3=检查项不选;当检查项“√”、“×”自定义名称后,推送时不会显示自定义的名称,仍为0、1、2、3。
  3. 检查项组件中备注添加的描述和图片不会推送。
  4. 定位组件会推送三个字段,包含定位中文信息、定位纬度、定位经度。
  5. 描述组件会推送,字段名称为描述组件对应的标题名称,字段值为描述组件添加的内容。
  6. 分组标题组件不会推送。
  7. 身份证组件的推送内容为拆分成多个字段展示,会拆分成身份证信息、身份证号、姓名、性别、民族、出生日期、住址,其中身份证信息展示内容为空,其他字段会填充对应的值。

5. base_table_data 表单数据汇总表

说明:当账号下有表单数据提交时会推送该表。这是一张所有表单记录的概要汇总表,上面有各表单记录中共有的字段信息,比如码名称、记录人、记录单名称等。
应用场景:比如有出入两个表单,可以通过这个表拿到所有出入数据,而不需要将出入两个数据表做聚合处理。

字段名

类型

说明

示例

record_id

int

表单数据唯一标识

12220988

code_id

int

码的唯一标识

67654543

tpl_code_id

int

模板子码:对应的批量模板ID

非模板子码:内容与code_id相同

56335353

tpl_id

int

表单的唯一标识

346636

码名称

string

码名称

消火栓01

记录单名称

string

表单名称

消火栓巡检

记录时间

datetime

添加表单数据的时间

2020-11-20 12:01:02

记录人

string

填表人姓名

李四

member_id

int

成员唯一标识

2091263

auth_id

int

填表人唯一标识

12789054

状态

string

这条记录当前的状态:包含是否删除、是否审核通过

正常/删除/待审核/审核通过/审核不通过

记录编号

string

记录编号

L1234

6. template_codeinfo_XXX 批量模板创建的子码信息表

说明:当账号下有批量模板生成的子码时会推送该表,该数据表主要展示批量子码的可变内容。查看批量生码功能

命名方式为 template 开头,后面是批量模板的识别编号,该编号规则有两个历史版本。

6.1 命名规则:

  • 方式一:后缀为dXX,d后面的数字为批量模板编号数字。
    比如后台的批量模板编号为M312,对应的数据表名为 template_codeinfo_D312

file

  • 方式二:后缀为内部的批量模板ID。
    编辑批量模板,从网址中获取ID,见下图

file

6.2 数据字段说明:

字段名

类型

说明

示例

code_id

int

码的唯一标识

67654543

tpl_code_id

int

批量模板的唯一标识

56335353

状态

string

批量子码是否删除

正常

...

string

以下字段是在批量模板中的可变内容

7. record_review_data 后续动态数据表

说明:当表单记录中有添加后续动态或者标记处理进度后会推送该表。查看后续动态功能

字段名

类型

说明

示例

review_id

int

后续动态填写记录的唯一标识

67654543

record_id

int

后续动态填写表单记录的唯一标识

12220988

状态

string

后续动态记录是否删除

正常/删除

来源

string

后续动态记录的添加来源

手动填写/转发了记录/转发给了企业微信同事/变更处理状态/填写表单记录/发送通知/回复评论

文本内容

string

底部评论的具体内容/变更处理进度的记录

将记录更新为【已完成】/@张三/【图片】...

关键内容

string

变更后的处理进度/当填写后续动态中的表单时,关键内容会显示填写对应表单的数据唯一标识

已完成/12220988

附件

string

后续动态提交的图片、录音、手写签名等多媒体文件

填写人

string

填表人姓名

张三

填写时间

datetime

后续动态记录添加的时间

2020-11-20 15:20:00

8. base_task 计划基本信息表

说明:当账号下创建计划,并且开始执行计划后会推送该表。计划管理功能

字段名

类型

说明

示例

task_id

int

计划的唯一标识

33886

计划名称

string

计划名称

灭火器每月巡检

描述

string

计划描述

9. code_task_log 计划执行情况表

说明:当账号下创建计划,并且开始执行计划后会推送该表,开通数据库时,该表只推送当前周期及后续周期的计划数据,历史周期的计划完成情况数据不会推送。

该数据表中没有码名称信息,可以关联 base_codeinfo或template_XXX,扩充码的信息。

字段名 类型 说明 示例
log_id int 当前计划任务的唯一标识 239168567
task_id int 计划的唯一标识 33886
计划名称 string 计划名称 灭火器每月巡检
code_id int 码的唯一标识 67654543
状态 string 该周期的执行状态 可选值:
完成/未完成/即将超期/
超期完成/超期未完成
开始时间 datetime 计划周期开始时间 2020-12-10 12:00:00
执行时间 datetime 状态变更的时间 2020-12-10 13:00:00
截止时间 datetime 该码在本周期的结束时间 2020-12-10 18:00:00
是否过滤 string 根据是否设置无需检查的条件进行过滤 可选值:是/否
变更方式 string 变更状态的方式 记录
来源 int 变更方式为记录时,对应表单数据的唯一标识 12220988
来源记录结果 string 变更方式为记录时,对应表单数据的记录结果 设备正常

10. code_tags 码的分组表

说明:当使用分组功能并且将码加入分组时会推送该表。查看分组管理功能

字段名 类型 说明 示例
code_id int 码的唯一标识 67654543
例:1号楼灭火器 int 分组名称,如果该码在此分组下,则值为1 1
例:2号楼灭火器 int 分组名称 1
...... int 账号下的所有分组都会列在这里

11. base_members 成员信息表

说明:当账号下有高级成员添加时会推送该表,当前成员信息表仅同步高级成员信息,普通成员信息不会推送。查看成员功能

字段名 类型 说明 示例
member_id int 协作成员的唯一标识 2091263
姓名 string 协作成员姓名 张三
手机号 string 协作成员手机号 135xxxx8934

12. base_auth_msg 填表人信息表

说明:当有表单记录提交或者状态更新记录时,会推送填表人信息表,填表人即填写表单或者变更状态的人员。查看填表人组件

  1. 如果未填写表单,则只展示auth_id
  2. 如果填写表单但是未使用填表人组件,则只展示auth_id,姓名为微信用户XXXX
  3. 如果填写表单并且使用了姓名、手机号、工号、车牌号、身份证等填表人组件后则展示对应字段的数据
字段名 类型 说明 示例
auth_id int 填表人的唯一标识 12789054
姓名 string 填表人姓名 李四
手机号 string 填表人手机号 135xxxx8934
工号 string 填表人工号 D234
车牌号 string 填表人车牌 浙A.12342
身份证 string 填表人身份证 343xxxxxxxxxxxxx

事件推送说明

1. 活码

事件

是否推送

影响的数据表

数据表现

单码新建

推送

base_codeinfo

base_codeinfo新增一条二维码数据

单码新建-有状态关联

推送

base_codeinfo、

code_state、

code_state_log、

table_d[x]、

table_relation、

base_table_data

数据表新增一条数据

单码修改

推送

base_codeinfo

base_codeinfo修改了调整的数据,会覆盖原数据

单码删除

推送

base_codeinfo

base_codeinfo删除一条二维码数据

单码删除-有表单数据

推送

base_codeinfo、

table_d[x]、

base_table_data

数据表删除一条数据

单码删除-有状态关联

推送

base_codeinfo、

code_state、

table_d[x]、

code_state_log、

base_table_data

数据表删除一条数据

2. 批量模板

事件

是否推送

影响的数据表

数据表现

新建批量模板

不推送

-

-

新建批量模板-有状态关联

推送

code_state、

code_state_log

code_state新增一条码模板的状态数据,code_state_log新增初始化状态下的码模板状态变更记录

修改批量模板标题

不推送

-

-

修改批量模板可变内容-无子码

不推送

-

-

修改批量模板可变内容-有子码

不推送

-

-

删除批量模板-有子码

推送

base_codeinfo、

template_codeinfo_[x]

数据表删除对应的数据

删除批量模板-有子码/表单数据

推送

base_codeinfo、

template_codeinfo_[x]、

base_table_data、

table_d[x]

数据表删除对应的数据

删除批量模板-有子码/关联状态

推送

base_codeinfo、

template_codeinfo_[x]、

code_state、

code_state_log

数据表删除对应的数据

新建子码

推送

base_codeinfo、

template_codeinfo_[x]

数据表新增对应的数据

新建子码-有状态关联

推送

base_codeinfo、

template_codeinfo_[x]、

code_state、

code_state_log

数据表新增对应的数据

删除子码

推送

base_codeinfo、

template_codeinfo_[x]

数据表删除对应的数据

删除子码-有状态关联

推送

base_codeinfo、

template_codeinfo_[x]、

code_state、

code_state_log

数据表删除对应的数据

删除子码-有表单数据

推送

base_codeinfo、

template_codeinfo_[x]、

base_table_data、

table_d[x]

数据表删除对应的数据

修改子码

推送

base_codeinfo、

template_codeinfo_[x]

如果是修改子码名称,变更base_codeinfo对应的记录,

如果是修改子码可变内容对应的值,变更template_codeinfo_[x]对应的子码记录

3. 表单

以下事件都为有表单数据时的情况说明,无表单数据时都不推送

事件

是否推送

影响的数据表

数据表现

删除表单

推送

table_d[x]、

base_table_data

对应的table_d[x]删除所有记录,表结构保留,base_table_data删除对应表单的记录

新增表单组件

推送

table_d[x]

table_d[x]新增一个组件字段,值为空

编辑表单组件

推送

table_d[x]

table_d[x]中原来的组件字段保留,值为空,并新增编辑后的组件字段

删除表单组件

推送

table_d[x]

table_d[x]中原来的组件字段保留,值为空

修改表单名称

推送

table_d[x]、

table_relation

table_d[x]中修改表单的名称,table_relation修改对应表单的名称

表单数据提交

推送

base_table_data、

table_d[x]、

table_relation、

base_auth_msg

数据表新增对应的数据

表单数据待审核

推送

base_table_data、

table_d[x]、

table_relation、

base_auth_msg

数据表新增对应的数据,

与单个记录添加的区别是:base_table_data、table_d[x]的字段中多一个审核状态

表单数据审核通过或者拒绝

推送

table_d[x]、

base_table_data

table_d[x]、base_table_data中审核状态字段对应的值变更

表单数据修改

推送

table_d[x]、

base_table_data

table_d[x]、base_table_data中修改指定的数据内容,覆盖原数据

表单数据删除

推送

table_d[x]、

base_table_data

table_d[x]、base_table_data中删除指定的数据内容,表结构保留

4. 状态

状态相关数据的同步会延迟60s

事件

是否推送

影响的数据表

数据表现

新增状态组

不推送

-

-

修改状态组名称

不推送

-

-

修改状态项名称

不推送

-

-

新增/删除状态项

不推送

-

-

删除状态组

不推送

-

-

二维码状态变更

推送

table_d[x]、

table_relation、

base_table_data、

code_state、

code_state_log、

base_auth_msg

code_state 如果有对应码的数据存在,则覆盖原数据,否则新增;

code_state_log 新增状态变更数据;

base_auth_msg 如果存在则更新,否则新增

状态组修改后,二维码状态变更

推送

table_d[x]、

table_relation、

base_table_data、

code_state、

code_state_log

code_state 如果有对应码的数据存在,修改前的状态组字段保留,值为空,新增修改后的状态组字段和对应的值;

code_state_log 新增状态变更数据

状态项修改后,二维码状态变更

推送

table_d[x]、

table_relation、

base_table_data、

code_state、

code_state_log、

base_auth_msg

code_state 更新对应状态项字段的值code_state_log 新增状态变更数据

5. 计划管理

计划新增/修改后需要开始执行才会推送数据

事件

是否推送

影响的数据表

数据表现

计划新增

不推送

-

-

计划开始

推送

base_task、code_task_log

数据表新增对应的数据

计划超时

推送

code_task_log

code_task_log 状态字段的值变更,执行时间字段自动填充状态变更时的时间

计划删除

推送

base_task、code_task_log

数据表删除对应的数据

计划修改

推送

base_task、code_task_log

如果计划名称修改,base_task对应的数据更新,覆盖原数据;修改后的计划执行时,code_task_log对应的数据会更新,并覆盖原数据

6. 后续动态

事件

是否推送

影响的数据表

数据表现

后续动态功能开启

不推送

-

-

后续动态功能关闭

不推送

-

-

后续动态填写

推送

record_review_data

record_review_data新增对应记录的数据

后续动态【表单】填写

推送

record_review_data、 
base_table_data、

table_d[x]、

table_relation、

base_auth_msg

record_review_data新增对应记录的数据,同时再走一遍表单数据提交的逻辑,其中table_d[x]数据中的来源编号字段为被关联表单记录的记录编号

后续动态填写后的记录删除

推送

record_review_data

record_review_data对应的数据保留,状态字段变更为删除

标记处理进度

推送

record_review_data

record_review_data新增对应数据

7. 目录

事件

是否推送

影响的数据表

数据表现

目录重命名

不推送

-

-

二维码移动目录

推送

base_codeinfo

base_codeinfo 更新目录字段的值

目录删除

推送

base_codeinfo、

template_codeinfo_[x]、

table_d[x]、

base_table_data、

code_state_log、

code_state、

code_task_log

根据目录下的码删除所有的表数据,表字段保留,值为空

8. 成员

事件

是否推送

影响的数据表

数据表现

添加普通成员

不推送

-

-

添加高级成员

推送

base_members

base_members新增对应的成员数据

高级成员姓名修改

推送

base_members

base_members修改对应的成员数据

删除高级成员

不推送

-

-

常见问题

1. 自有数据库,数据推送不过来

可能的原因是 数据库表编码有问题,要换成utf8mb4。

2. 二维码名称变更后,为什么表单数据表中的二维码没有更新

现在表单中的二维码名称是不更新的,如果你需要取出最新的二维码名称,可以左关联一下 base_codeinfo 这张表,关联的字段为 code_id。

3. 表单中的组件名称修改后,数据表中有两个组件,分别是修改前和修改后的。

这是正常的,修改组件后,会保留原组件字段。

4. 计划中已设置了过滤掉异常状态值码,但在数据表中还存。

数据表中会有所有的计划任务数据,是通过 【是否过滤】这个字段来判识该条计划是否有过滤。(另外,在状态变更后在下个周期过滤才生效)

5. 开通后,发现推送的数据不全

首次开通后,需要将历史数据所有推送过来,大概需要1-3小时,跟账号的数据量有关。如隔一天了,还是推送不全,可以联系在线客服排查问题。

6. 为什么我修改表单字段后,数据库中的字段没有更新?

修改表单后不会触发数据库更新,只有当有新增或修改表单数据时,才会触发更新该数据表。所以只需提交一条新记录可以了。

7. 如果服务器是白名单制,需要怎么处理?

可联系技术支持,获取草料IP端。

8. 图片组件中多个图片地址是拼在一起的,如何可以获取到单张图片地址。

图片组件的数据格式为 urls_1,urls_2,...。并且图片的链接数量是不定的。 *提供你一套函数来获取单张图片的地址,这里的 照片_233233换成你自己的数据字段名称。 urls_1: SUBSTRING_INDEX(照片_233233, ',', 1)
urls_2: if( LENGTH(照片_233233) - LENGTH(REPLACE(照片_233233, ',', '')) >= 1, SUBSTRING_INDEX(SUBSTRING_INDEX(照片_233233, ',', 2), ',', -1) ,'')
urls_3: if( LENGTH(照片_233233) - LENGTH(REPLACE(照片_233233, ',', '')) >= 2, SUBSTRING_INDEX(SUBSTRING_INDEX(照片_233233, ',', 3), ',', -1) ,'')
urls_3: if( LENGTH(照片_233233) - LENGTH(REPLACE(照片_233233, ',', '')) >= 3, SUBSTRING_INDEX(SUBSTRING_INDEX(照片_233233, ',', 4), ',', -1) ,'')
后面依次类推。