使用UUID实现唯一编号

编辑
文档创建者:文档助手1 (67727 )     浏览次数:6537次     编辑次数:9次     最近更新:jiangsr 于 2018-06-21     

目录:

1. 问题描述编辑

如下图自由填报例子,每次新增加一个员工信息时,希望员工编号是唯一的,而在BS进行填报时,我们是不知道数据库中已经有哪些编号的,此时如何保证员工编号唯一,不会覆盖已有数据呢?
FR可以可以使用UUID()函数来产生唯一标识码,实现员工编号的唯一性。
222

2. 实现步骤编辑

使用UUID来生成唯一编号有两种方法,填报属性中使用UUID公式和单元格中使用UUID公式。
打开模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FreeFrom\自由填报模板.cpt
2.1 填报属性中使用UUID
在菜单中选择模板>报表填报属性,绑定数据库表后,添加我们需要的字段,雇员ID的值设为公式=UUID()
此时模板中可以不需要员工编号相关单元格,即BS填报是不用输入员工编号。
222
2.2 单元格中使用UUID
或者可以再员工编号单元格中输入公式=UUID(),在报表填报属性中将雇员ID的值绑定为该单元格:
222
2.3 修改行时不新增数据
上述方法,填报每提交成功一次UUID就会变化,保存多次的情况下,导致新增多条数据,为了避免这种情况,可以修改填报属性,具体如下:
在菜单中选择模板>报表填报属性,将雇员ID的值设为公式=if(isnull(C4),UUID(),C4)
222
注:if(isnull(C4),UUID(),C4)表示当C4单元格中有值时,就修改该条数据;没有值时,就生成唯一的编号新增一条数据。
并将C4单元格控件改为:下拉框控件,并添加数据字典,如下所示:
222
由此:当新增数据时,C4单元格内容为空,点击提交就会新增一条新数据了;当修改数据时,C4单元格中选择要修改的编号,输入相应的内容,即可修改该条数据。

3. 多个内置SQL中使用UUID编辑

如果该填报表是多源填报类型,比如员工基础信息存在表1中,员工部门信息存在表2中,表1与表2有相同的字段员工ID,填报时这两张表都要保存员工ID。
此时必须在单元格中使用uuid()生成员工编号,报表填报属性表1和表2的员工ID字段绑定同一个单元格。

若使用上述方法1在报表填报属性中每张报表都使用uuid()函数,产生的序列号是不一样的,此时会导致员工ID不一致的情况。

附件列表


主题: 填报应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?