填报表如何生成 UUID 标识
实际项目应用中,当多用户并发填报时我们常常会遇到主键重复的问题,造成的结果便是前一个用户填报的内容,会被另一个用户给覆盖掉,从而造成数据丢失。
针对这类问题最直接有效的办法就是在数据库端定义字段自动增长,因为不管多少个用户,对数据库来说只是一个更新数据库的命令队列。但数据库主键自增长默认生成的均为固定步长的连续数值,如果要创建 UUID 主键的话,可能需要通过触发器实现。
如果选对了报表工具,我们就可以不依赖数据库,在报表端轻松生成 UUID 标识。
大致实现步骤:
1. 在报表展现的 jsp 页面中定义 UUID 方法如下:
function newUUID()
{
var uuid = "";
for (var i = 1; i <= 16; i++){
var n = Math.floor(Math.random()*16.0).toString(16);
uuid += n;
}
var len = uuid.length;
return uuid;
}
注:UUID 方法不会写也没关系,网上有很多,可以直接复用。
2. 在报表中直接调用该方法即可。
具体可参考:行式填报表轻松搞定流水号
关键字
数据填报 UUID,数据采集流水号,填报自增序号,填报唯一标识, 填报自增主键标识,报表 UUID 标识