很多时候,我们期望系统中的某些关键字段可以按照我们期望的条件自动生成,比如,员工代码,商品序列号,商品条形码等。的确,针对个体业务,要实现这种自动生成方法很多,那么是否可以实现可以支持所有业务的序列生成呢?
答案是肯定的。在此我们展示一下基于富盛SBO程序开发框架的自动序列生成器。
为了便于描述,先让大家看看自动序列生成器的界面。
是的,序列自动生成器必须支持序列组成项目的用户自定义。可以定义的内容包括序列项目类型,序列项目内容,序列项目长度,以及两个序列项目之间的连接字符,当然应该给予用户对序列项目的顺序排列。
富盛SBO序列自动生成器支持的序列包括5种,分别是:文本、日期、时间、序列和自定义项目。
- 文本:就是在此录入的静态文本了,用以显示在对应序列的适当位置上,文本长度是自动计算出来的,不允许修改。比如在上述的序列定义中,第一个序列项目就是文本类型,就是说所有使用这个序列方案生成的序列都是以“EP”为开头的。
- 日期:富盛SBO序列自动生成器序列项目类型支持两种日期类型:长日期和短日期。序列生成时自动提取当前日期,并且按照对应的格式类型(长日期和短日期)展示。因为项目是针对中国用户的,目前长日期格式为yyyyMMdd,短日期为yyMMdd,当然可以扩展称为支持不同的日期格式。
- 时间:富盛SBO序列自动生成器序列项目类型支持两种时间类型:长时间和短时间。序列生成时自动提取当前时间,并且按照对应的格式类型(长时间和短时间)展示。目前长时间格式为hhmmss,短日期为hhss,当然可以扩展称为支持不同的时间格式。
- 序列:就是序列自动计数器了。富盛SBO序列自动生成器序列项目序列需要指定计算器的长度,计数器计数进制类型,以及序列计数器的基组。
计数器计数进制类型:目前支持四个进制类型,十进制、十六进制、数字字符大写进制即三十六进制、以及数字字符大小写进制即六十二进制。按照计数器4位长度计算,十进制计数器的本项目结果范围为0001到9999、十六进制计数器的本项目结果范围为0001到FFFF(即65535)、三十六进制计数器的本项目结果范围为0001到ZZZ(即1679615)、六十二进制计数器的本项目结果范围为0001到ZZZZ(即14776335)。
序列计数器的基组:富盛SBO序列自动生成器序列项目序列计数器可以基于不同的类型分组,比如这里针对的是员工代码序列自动生成,计数器分别可以基于员工组、车间组、部门组,分别实现按照员工组进行计数分组,不同的员工组分别具有指定范围的序列计数;按照车间组进行计数分组,不同的车间分别具有指定范围的序列计数;按照部门组进行计数分组,不同的部门分别具有指定范围的序列计数。
需要说明的是,不同的业务序列分组是不同的,富盛SBO序列自动生成器序列项目的基组是支持自定义的。就是说,您完全可以通过不同的配置实现基于其它的计数组。
- 自定义项目:支持针对不同业务序列可自定的序列项目。
- 比如,在此我们自定义了员工组代码、车间组代码和部门组代码,就是说,自定义项目为员工组代码时,这个项目的生成结果就是该员工所在的员工组对应的代码,类似的,其它两种方式结果分别为车间组代码和部门代码。
- 支持按照某种方式进行某种方法计算出自定义项目的结果。
- 自定义项目如何来使用,完全在于序列对应业务和二次开发人员的个人意志,具有强大的适应性和灵活性。
那么按照这个序列生成方案获得的序列生成结果如何呢?
上述的员工工号就是按照上述的序号生成方案自动生成的。自动生成的界面如下:
本文转自foresun 51CTO博客,原文链接:http://blog.51cto.com/foresun/112437,如需转载请自行联系原作者