# 使用内置函数生成业务编码
在实际的业务场景中,您可以使用丰富的内置函数为用户生成随机但带有一定规则的业务编码。
# 功能场景
基于业务标识字符、当前日期时间和一个3位的随机数,在创建订单时自动生成一个只读的订单编码。
订单编码示例如sp20230101120000999,拆解为如下3部分:
- 业务标识字符:sp。
- 当前日期时间:格式为“年月日时分秒”,如20230101120000。
- 随机数:1~999范围内的随机整数。
# 操作详解
# 自定义业务字符
可根据实际业务的情况自定义一个开头字符,本例中使用“sp”。
# 日期时间的获取与处理
- 使用内置函数CurrDateTime获取当前日期时间。
- 使用FormatDateTime将获取到的日期时间格式化为yyyyMMddHHmmss格式,即年月日时分秒格式。
# 随机数的生成与处理
使用内置函数RandomInt创建一个1~999的随机数,新建一个变量randomInt,将内置函数返回的结果赋值给该变量。
新增一个局部变量randomInt2,类型为String。
由于随机数未必为三位数,需要为不足三位的随机数增加0补全为三位数,此时需要使用Switch组件对randomInt变量进行条件判断:
- 判断若randomInt<10,即该随机数为1位数:
- 使用Convert内置函数将变量randomInt转换为String类型。
- 使用Concat内置函数将文本“00”和上一步骤中Convert内置函数的返回结果进行拼接,得到一个长度为3的字符串并赋值给变量randomInt2。
- 判断若randomInt>9且randomInt<100,即该随机数为2位数:
- 使用Convert内置函数将变量randomInt转换为String类型。
- 使用Concat内置函数将文本“0”和上一步骤中Convert内置函数的返回结果进行拼接,得到一个长度为3的字符串并赋值给变量randomInt2。
- 判断若为其他情况,即该随机数为3位数:
- 使用Convert内置函数将变量randomInt转换为String类型,并将转换后的结果赋值给变量randomInt2。
- 判断若randomInt<10,即该随机数为1位数:
# 字符串的拼接
至此已获取3个符合规则的字符串,需要拼接并赋值给表单业务编码。完成赋值后调用弹窗组件内置逻辑open打开弹窗,即可实现打开表单自动填充自定义规则业务编码的效果。
# 实现效果
# 注意事项
# 判重(可选)
在业务并发写入量较大的情况下,为防止业务编码重复,也可以加入判重操作,即判断生成的业务编码与数据库表中数据是否重复。
使用生成的业务编码作为入参查询数据库。
判断查询结果list长度是否大于0。
- 若判断大于0,则说明存在重复的情况,返回结果为true。
- 若判断不大于0,则说明不重复,返回结果为false。
可根据该逻辑的出参result设定循环条件判断,直到生成一个不重复的业务编码。
# 参考
- 内置函数详细说明请参见XXX。