由你提供主机/端口/数据库/用户名/密码,我们将你账号下的数据实时推送到这个数据库。
这种推送方式会在你的数据库下自动建表
,需要你的数据库开放公网访问权限
。
- 数据表是全量覆盖更新,不支持同一个表中部分数据是用户自己新增的。
- 不要在数据库中 新增与草料相同的名称数据表,会被识别为草料数据表,数据会全量覆盖。
- 数据库类型为:Mysql 5.7
- 会实时同步所有的码信息、表单记录、状态明细、计划完成明细等数据。
- 只创建批量模板和表单,没有填写数据,是不会创建数据表的。
- 有防火墙等访问限制时,需添加下IP白名单
数据表说明
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 | 码的唯一标识 | 54349863 |
member_id | int | 成员唯一标识 | 2091263 |
auth_id | int | 填表人唯一标识 | 12789054 |
更新时间 | datetime | 状态更新时间 | 2020-11-20 15:00:00 |
例:设备运行状态_720 | string | 状态组名称,后面的数字是为了防重复 | 正常 |
...... | string | 账号下的所有状态组都会列在这里 | 异常 |
3. code_state_log 码的状态的更新日志
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
id | int | 自增长ID,一个序号从1开始递增 | 1 |
code_id | int | 码的唯一标识 | 54349863 |
member_id | int | 成员唯一标识 | 2091263 |
auth_id | int | 填表人唯一标识 | 12789054 |
更新时间 | datetime | 状态更新时间 | 2020-11-20 15:00:00 |
状态组 | string | 状态组的名称 | 设备运行状态 |
状态值 | string | 该状态组的本次的状态 | 正常 |
4. table_dXX 表单数据表
说明:表单数据表是以"table_"开头的一批表,一个表单一个表 d104是表单编号(早期的表单数据表,后面跟着的是数字,表单的唯一编号,如:table_D45)
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
record_id | int | 表单数据唯一标识 | record_id |
code_id | int | 码的唯一标识 | 54349863 |
tpl_code_id | int | 批量模板的唯一标识 | 54349863 |
填写人 | string | 填表人姓名 | 李四 |
码名称 | string | 码的名称 | 1号设备 |
tpl_id | int | 表单的唯一标识 | 1231 |
表单名称 | string | 表单名称 | 设备巡检 |
记录时间 | datetime | 添加表单数据时间 | 2020-11-20 15:20:00 |
member_id | int | 协作成员唯一标识 | 2091263 |
auth_id | int | 填表人唯一标识 | 12789054 |
记录编号 | string | 表单数据的编号 | L1234 |
处理状态 | string | 表单数据的处理状态 | 可选值: 待处理/已完成/无需处理/暂不标记状态 |
例:设备名称 | string | 表单的组件名称 | 1号机 |
...... | string | 表单的组件名称会全部展示 |
5. base_table_data
说明:这是一张所有表单记录的概要表,上面有各表单记录中共有的字段信息,比如码名称、记录人、记录单名称等。
应用场景:比如有出入两个表单,可以通过这个表拿到所有出入数据,而不需要将出入两个数据表做聚合处理。
字段名 | 类型 | 说明 | 示例 |
record_id | int | 表单数据唯一标识 | 877665 |
code_id | int | 码的唯一标识 | 5439876 |
tlp_id | int | 表单的唯一标识 | 231 |
码名称 | string | 码名称 | 灭火器-L01 |
记录单名称 | string | 表单名称 | 日常巡检表 |
记录时间 | datatime | 记录时间 | 2020-11-20 12:01:02 |
记录人 | string | 记录人 | 李四 |
状态 | string | 这条记录是否被删除 | 选项有正常/删除 |
记录编号 | string | 记录编号 | L9876 |
6. template_codeinfo_XXX 批量模板创建的码信息
说明:该数据表为批量子码可变内容,命名方式为template开头,后面是批量模板的识别编号,该编号规则有两个历史版本。
6.1 命名规则:
- 方式一:后缀为批量模板编号,dXX,后面的编号数字对应的批量编号后面的数字
- 方法二 ::后缀为内部的批量模板ID,XXXXXX
编辑批量模板,从网址中获取ID,见下图
6.2 数据字段说明:
字段名 | 类型 | 说明 | 示例 |
code_id | int | 码的唯一标识 | 54349863 |
tpl_code_id | int | 批量模板的唯一标识 | 54349862 |
... | string | 以下字段是在批量模板中的可变内容 |
7. codeinfo_XXXXX 旧版批量子码的信息
说明:以codeinfo开头的一批表,后面的数字是tpl_code_id,该批量子码的表格信息会存入这张表
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
code_id | int | 码的唯一标识 | 54349862 |
二维码名称 | string | 该子码名称 | 1号设备 |
..... | string | 以下字段,是在子码中设置的表格项名称 |
8.record_review_data
说明:动态档案备注和表单数据后续动态
字段名 | 类型 | 说明 | 示例 |
review_id | int | 备注信息的唯一编号 | 9726448 |
record_id | int | 备注信息所在的记当编号 | 4596589 |
状态 | string | 是否存在 | 正常 |
来源 | string | 记录方式 | 变更处理状态 |
文本描述 | string | 具体内容 | 将记录状态标记为 [已完成] |
9. base_task 计划基本信息表
说明:计划管理的基本信息
字段名 | 类型 | 说明 | 示例 |
task_id | int | 计划的唯一标识 | 1 |
计划名称 | string | 计划名称 | 每日巡检 |
描述 | string | 计划描述 |
10. code_task_log 计划执行情况表
说明:计划管理的执行记录,以task_id和开始时间来判定当前这一期的计划执行状态
开通时,只推送当前周期及后续周期的计划数据,历史周期的计划完成情况数据不会推送。 该数据表中没有码名称信息,可以关联 base_codeinfo或template_XXX,扩充码的信息。
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
log_id | int | 当前计划任务的唯一标识 | 1 |
task_id | int | 计划的唯一标识 | 1 |
计划名称 | string | 计划名称 | 巡检计划 |
code_id | int | 码的唯一标识 | 54349863 |
开始时间 | datetime | 计划周期开始时间 | 2020-12-10 12:00:00 |
执行时间 | datetime | 该码在本周期的执行时间 | 2020-12-10 13:00:00 |
截止时间 | datetime | 该码在本周期的结束时间 | 2020-12-10 18:00:00 |
状态 | string | 该周期的执行状态 | 可选值: 完成/未完成/即将超期/ 超期完成/超期未完成 |
是否过滤 | string | 根据设置的过滤条件取值 | 可选值:是/否 |
变更方式 | string | 变更状态的方式 | 记录 |
来源 | int | 变更方式为记录时,记录的唯一标识 | 1342321 |
来源记录结果 | string | 变更方式为记录时,记录的记录结果 | 设备正常 |
11. code_tags 码的分组
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
code_id | int | 码的唯一标识 | 54349863 |
例:电箱 | int | 分组名称,如果该码在此分组下,则值为1 | 1 |
例:设备 | int | 分组名称 | 1 |
...... | int | 账号下的所有分组都会列在这里 |
12. base_members 协作成员信息
现在仅同步高级成员,不同步普通成员信息,开通后数据库后,有成员信息变动后才会触发更新
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
member_id | int | 协作成员的唯一标识 | 2091263 |
姓名 | string | 协作成员姓名 | 张三 |
手机号 | string | 协作成员手机号 | 135xxxx8934 |
13. base_auth_msg 填表人信息
字段名 | 类型 | 说明 | 示例 |
---|---|---|---|
auth_id | int | 填表人的唯一标识 | 12789054 |
姓名 | string | 填表人姓名 | 李四 |
手机号 | string | 填表人手机号 | 135xxxx8934 |
工号 | string | 填表人工号 | D234 |
车牌号 | string | 填表人车牌 | 浙A.12342 |
身份证 | string | 填表人身份证 | 343xxxxxxxxxxxxx |
常见问题
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) ,'')
后面依次类推。