填报表如何生成 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 标识