一种编号自动生成器的制造方法

文档序号:6525591阅读:154来源:国知局
一种编号自动生成器的制造方法
【专利摘要】本发明提供一种编号自动生成器,包括至少一模版字库、一序列器、一编号显示模版以及一编号生成模块;模版字库:用于建立一字库,字库中存放有配置的模版字及实现编号的实现类,模版字中内容包括日期序号和序列器排序号;序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串;编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。本发明根据用户指定的编号显示格式自动产生相应的编号,能对多种类型的编号进行生成,无需重新定制,节约了工程师的编写时间,提高了工作效率。
【专利说明】一种编号自动生成器
【技术领域】
[0001]本发明涉及一种编号自动生成器,尤其涉及一种可以根据用户指定的编号显示格式自动产生相应的编号的生成器。
【背景技术】
[0002]目前在各行各业的单位中会经常使用编号,编号的格式也多种多样,当然单独对某类型的编号直接定制的话也是可以实现预期的效果,但是这样就无法通用了,对其他类型的编号又要重新定制了。如:在公文编号、证件编号、通知单序号、案件编号等相关内容上。
[0003]为了能够实现编号个性化定制,本专利申请文件引入了 “编号自动生成器”,该生成器很好的解决了我们的编号重复定制问题。

【发明内容】

[0004]本发明要解决的技术问题,在于提供一种编号自动生成器,能对多种类型的编号进行自动生成,无需根据不同类型的编号进行重新定制,兼容性高;节约了工程师的编写时间,提高了工作效率。
[0005]本发明是这样实现的:一种编号自动生成器,包括至少一模版字库、一序列器、一编号显不模版以及一编号生成模块;
[0006]所述模版字库:用于建立一字库,所述字库中存放有配置的模版字及实现编号的实现类,所述模版字中内容包括日期序号和序列器排序号;
[0007]所述序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;
[0008]所述编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串;
[0009]所述编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。
[0010]本发明具有如下优点:本发明能对多种类型的编号进行自动生成,无需根据不同类型的编号进行重新定制,兼容性高;节约了工程师的编写时间,提高了工作效率。
【专利附图】

【附图说明】
[0011]图1为本发明编号自动生成器的结构原理框图。
[0012]图2为本发明系统的实现流程示意图。
【具体实施方式】
[0013]请参阅图1至图2所示,本发明为一种编号自动生成器,包括至少一模版字库(图1中有N个模板字库)、一序列器、一编号显不模版以及一编号生成模块;
[0014]所述模版字库:用于建立一字库(支持二次开发,也支持使用历史模版字),所述字库中存放有配置的模版字及实现编号的实现类,所述模版字中内容包括日期序号和序列器排序号;所述日期序号格式是:~!@获取当前时间@!~;(即动态实现生成当天的日期作为一个编号的模版字)序列器排序号格式为:~!@获取序列器排序号~;
[0015]所述序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;
[0016]所述编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串;(如:闽委办〔~!@获取当前年份@!~〕~!@获取序列器排序号O!~号,显不的结果为“闽委办〔2013 ) 001号”。)
[0017]所述编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。
[0018]其中,所述对字符串中包括的“模版字”进行解析,具体为:
[0019]步骤1、分解字符串中的各个“模版字”;
[0020]步骤2、根据“模版字”所对应的实现类,来执行指定的实现类方法,而后获取结果;
[0021]步骤3、拼凑每个“模版字”结果和固定文字,最后将结果反馈给调用者。
[0022]所述序列器可设定为:每天重新排序、增量排序、循环排序三种模式对字库中的模版字进行编号;序列器还包括的属性有:最小值、最大值、当前值、增长值和显示位数;通过设定的相关模式,在调用序列器时,会同步调整序列器的属性。其中,所述每天重新排序模式为:使用单态模式利用 HashMap的存储机制,将当前的年月日作为键值,不断递增,只有在当前的年月日变化后会将HashMap的键值设为新的年月日再进行使用;
[0023]所述增量排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加;直到达到最大值为止;所述当前值为序列器目前的值,增量值为增加的幅度;
[0024]所述循环排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加,当达到最大值后会自动从最小值开始;所述当前值为序列器目前的值,增量值为增加的幅度。
[0025]另外,在本发明中,“模版字”可当做计算公式来看,编号自动生成器默认定义了“当前日期序号”、“序列器编号”、“年度”、“月份”等。所述“模版字”中定义有模版字接口月艮务,即实现CodeImcl接口,该CodeImcl接口中定义了 getCodeValu O方法(如:publicString getCodeValue (UcapRequest request, String sequenceld)方法);在调用时,米用工厂模式;通过CodeFactorylmpl工厂类调用相应的“模版字”执行内容获取结果。对于生成的编号结果时,再提供给第三方使用的同时,所述编号自动生成器会将编号结果进行相应的存储,并加入日志管理。
[0026]下面结合一具体实施例对本发明作进一步说明:
[0027]如:用户需求:单位在发文时,需要针对发文类型进行相应的文进行编号以便管理及归档,现要求设置公文编号格式为“闽网办〔2013 ) 001号”,申请单编号格式为“20130101-001”。则实现步骤如下:
[0028]1、管理员需要依据编号格式的要求设置序列器、模板字库、编号显示模版。①设置序列器为公文编号序列器(按年循环取号)和申请单序列器(无限递增,即增量排序模式);②模版字库为“~!@获取当前年份@!~”、“~!@获取当前年月日@!~”、“~!@获取公文序号!~”和“~!@获取申请单序号O!~”;③最终拼凑编号显示的模版为“闽网办〔~!@获取当前年份~〕~!@获取公文序号!~号”和“~!@获取当前年月日@!~-~!@获取申请单序号O!~”;
[0029]即字符串为:闽网办〔~!@获取当前年份O!~〕~!@获取公文序号!~号和申请单编号“~!@获取当前年份@!~-~!@获取申请单序号@!~”;通过实现类方法,而后获取结果即为:闽网办〔2013 ) 001号;申请单编号20130101-001。
[0030]2、操作人员在需要编号时,选择相应的编号格式,系统会根据“编号显示模版”来动态转换“模板字库”的内容(在此时对于“~!@获取公文序号!~”和“~!@获取申请单序号@!~”这两个模版字都是使用序列器的,所以在使用时都会根据配置的序列器类型而获取当前值提供模版字使用),而后拼凑成实际的编号直接使用。使用范围可以为word中指定位置的自动填写,表单控件上的自动回填等。
[0031] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【权利要求】
1.一种编号自动生成器,其特征在于:包括至少一模版字库、一序列器、一编号显不模版以及一编号生成模块; 所述模版字库:用于建立一字库,所述字库中存放有配置的模版字及实现编号的实现类,所述模版字中内容包括日期序号和序列器排序号; 所述序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况; 所述编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串; 所述编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。
2.根据权利要求1所述的一种编号自动生成器,其特征在于:所述日期序号格式是:~!O获取当前时间O!~;序列器排序号格式为:~!O获取序列器排序号O!~。
3.根据权利要求1所述的一种编号自动生成器,其特征在于:所述对字符串中包括的“模版字”进行解析,具体为: 步骤1、分解字符串中的各个“模版字”; 步骤2、根据“模版字”所对应的实现类,来执行指定的实现类方法,而后获取结果; 步骤3、拼凑每个“模版字”结果和固定文字,最后将结果反馈给调用者。
4.根据权利要求1所述的一种编号自动生成器,其特征在于:所述序列器可设定为:每天重新排序、增量排序、循环排序三种模式对字库中的模版字进行编号;序列器还包括的属性有:最小值、最大值、当前值、增长值和显示位数;通过设定的相关模式,在调用序列器时,会同步调整序列器的属性。`
5.根据权利要求4所述的一种编号自动生成器,其特征在于:所述每天重新排序模式为:使用单态模式利用HashMap的存储机制,将当前的年月日作为键值,不断递增,只有在当前的年月日变化后会将HashMap的键值设为新的年月日再进行使用; 所述增量排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加;直到达到最大值为止;所述当前值为序列器目前的值,增量值为增加的幅度; 所述循环排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加,当达到最大值后会自动从最小值开始;所述当前值为序列器目前的值,增量值为增加的幅度。
6.根据权利要求1所述的一种编号自动生成器,其特征在于:所述“模版字”中定义有模版字接口服务,即实现CodeImcl接口,该CodeImcl接口中定义了 getCodeValuO方法;在调用时,采用工厂模式;通过CodeFactorylmpl工厂类调用相应的“模版字”执行内容获取结果。
7.根据权利要求1所述的一种编号自动生成器,其特征在于:对于生成的编号结果时,再提供给第三方使用的同时,所述编号自动生成器会将编号结果进行相应的存储,并加入日志管理。
【文档编号】G06F17/30GK103729426SQ201310726686
【公开日】2014年4月16日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】黄文峰, 曾文语, 汪翔 申请人:南威软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1