CN103729426B - 一种编号自动生成的方法 - Google Patents
一种编号自动生成的方法 Download PDFInfo
- Publication number
- CN103729426B CN103729426B CN201310726686.8A CN201310726686A CN103729426B CN 103729426 B CN103729426 B CN 103729426B CN 201310726686 A CN201310726686 A CN 201310726686A CN 103729426 B CN103729426 B CN 103729426B
- Authority
- CN
- China
- Prior art keywords
- masterplate
- word
- numbering
- serial device
- character library
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明提供一种编号自动生成的方法,包括至少一模版字库、一序列器、一编号显示模版以及一编号生成模块;模版字库:用于建立一字库,字库中存放有配置的模版字及实现编号的实现类,模版字中内容包括日期序号和序列器排序号;序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串;编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。本发明根据用户指定的编号显示格式自动产生相应的编号,能对多种类型的编号进行生成,无需重新定制,节约了工程师的编写时间,提高了工作效率。
Description
技术领域
本发明涉及一种编号自动生成的方法,尤其涉及一种可以根据用户指定的编号显示格式自动产生相应的编号的生成方法。
背景技术
目前在各行各业的单位中会经常使用编号,编号的格式也多种多样,当然单独对某类型的编号直接定制的话也是可以实现预期的效果,但是这样就无法通用了,对其他类型的编号又要重新定制了。如:在公文编号、证件编号、通知单序号、案件编号等相关内容上。
为了能够实现编号个性化定制,本专利申请文件引入了“编号自动生成器”,该生成器很好的解决了我们的编号重复定制问题。
发明内容
本发明要解决的技术问题,在于提供一种编号自动生成的方法,能对多种类型的编号进行自动生成,无需根据不同类型的编号进行重新定制,兼容性高;节约了工程师的编写时间,提高了工作效率。
本发明是这样实现的:一种编号自动生成的方法,包括至少一模版字库、一序列器、一编号显示模版以及一编号生成模块;
所述模版字库:用于建立一字库,所述字库中存放有配置的模版字及实现编号的实现类,所述模版字中内容包括日期序号和序列器排序号;
所述序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;
所述编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串;
所述编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。
本发明具有如下优点:本发明能对多种类型的编号进行自动生成,无需根据不同类型的编号进行重新定制,兼容性高;节约了工程师的编写时间,提高了工作效率。
附图说明
图1为本发明编号自动生成器的结构原理框图。
图2为本发明系统的实现流程示意图。
具体实施方式
请参阅图1至图2所示,本发明为一种编号自动生成的方法,包括至少一模版字库(图1中有N个模板字库)、一序列器、一编号显示模版以及一编号生成模块;
所述模版字库:用于建立一字库(支持二次开发,也支持使用历史模版字),所述字库中存放有配置的模版字及实现编号的实现类,所述模版字中内容包括日期序号和序列器排序号;所述日期序号格式是:~!@获取当前时间@!~;(即动态实现生成当天的日期作为一个编号的模版字)序列器排序号格式为:~!@获取序列器排序号@!~;
所述序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;
所述编号显示模版:根据要生成的编号格式从字库中选择“模版字”及填写需要的固定文字来组合成一字符串;(如:闽委办﹝~!@获取当前年份@!~﹞~!@获取序列器排序号@!~号,显示的结果为“闽委办﹝2013﹞001号”。)
所述编号生成模块:对字符串中包括的“模版字”进行解析,获得编号的结果。
其中,所述对字符串中包括的“模版字”进行解析,具体为:
步骤1、分解字符串中的各个“模版字”;
步骤2、根据“模版字”所对应的实现类,来执行指定的实现类方法,而后获取结果;
步骤3、拼凑每个“模版字”结果和固定文字,最后将结果反馈给调用者。
所述序列器可设定为:每天重新排序、增量排序、循环排序三种模式对字库中的模版字进行编号;序列器还包括的属性有:最小值、最大值、当前值、增长值和显示位数;通过设定的相关模式,在调用序列器时,会同步调整序列器的属性。其中,所述每天重新排序模式为:使用单态模式利用HashMap的存储机制,将当前的年月日作为键值,不断递增,只有在当前的年月日变化后会将HashMap的键值设为新的年月日再进行使用;
所述增量排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加;直到达到最大值为止;所述当前值为序列器目前的值,增量值为增加的幅度;
所述循环排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加,当达到最大值后会自动从最小值开始;所述当前值为序列器目前的值,增量值为增加的幅度。
另外,在本发明中,“模版字”可当做计算公式来看,编号自动生成器默认定义了“当前日期序号”、“序列器编号”、“年度”、“月份”等。所述“模版字”中定义有模版字接口服务,即实现CodeImcl接口,该CodeImcl接口中定义了getCodeValu()方法(如:publicString getCodeValue(UcapRequest request,String sequenceId)方法);在调用时,采用工厂模式;通过CodeFactoryImpl工厂类调用相应的“模版字”执行内容获取结果。对于生成的编号结果时,再提供给第三方使用的同时,所述编号自动生成器会将编号结果进行相应的存储,并加入日志管理。
下面结合一具体实施例对本发明作进一步说明:
如:用户需求:单位在发文时,需要针对发文类型进行相应的文进行编号以便管理及归档,现要求设置公文编号格式为“闽网办﹝2013﹞001号”,申请单编号格式为“20130101-001”。则实现步骤如下:
1、管理员需要依据编号格式的要求设置序列器、模板字库、编号显示模版。①设置序列器为公文编号序列器(按年循环取号)和申请单序列器(无限递增,即增量排序模式);②模版字库为“~!@获取当前年份@!~”、“~!@获取当前年月日@!~”、“~!@获取公文序号!~”和“~!@获取申请单序号@!~”;③最终拼凑编号显示的模版为“闽网办﹝~!@获取当前年份@!~﹞~!@获取公文序号!~号”和“~!@获取当前年月日@!~-~!@获取申请单序号@!~”;
即字符串为:闽网办﹝~!@获取当前年份@!~﹞~!@获取公文序号!~号和申请单编号“~!@获取当前年份@!~-~!@获取申请单序号@!~”;通过实现类方法,而后获取结果即为:闽网办﹝2013﹞001号;申请单编号20130101-001。
2、操作人员在需要编号时,选择相应的编号格式,系统会根据“编号显示模版”来动态转换“模板字库”的内容(在此时对于“~!@获取公文序号!~”和“~!@获取申请单序号@!~”这两个模版字都是使用序列器的,所以在使用时都会根据配置的序列器类型而获取当前值提供模版字使用),而后拼凑成实际的编号直接使用。使用范围可以为word中指定位置的自动填写,表单控件上的自动回填等。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (1)
1.一种编号自动生成方法,其特征在于:包括N个模版字库、一序列器、一编号显示模版以及一编号生成模块;
所述模版字库:用于建立一字库,所述字库中存放有配置的模版字及实现编号的实现类,所述模版字中内容包括日期序号和序列器排序号;所述日期序号格式是:~!@获取当前时间@!~;序列器排序号格式为:~!@获取序列器排序号@!~;
所述序列器:根据要生成的编号格式对字库中的模版字进行编号,即对序列器排序号进行编号,防止重复编号的情况;所述序列器设定为:每天重新排序、增量排序、循环排序三种模式对字库中的模版字进行编号;序列器包括的属性有:最小值、最大值、当前值、增长值和显示位数;在调用序列器时会同步调整序列器的属性;其中,所述每天重新排序模式为:使用单态模式利用HashMap的存储机制,将当前的年月日作为键值,不断递增,只有在当前的年月日变化后会将HashMap的键值设为新的年月日再进行使用;所述增量排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,即调用序列器,当前值就随着增量值进行增加,直到达到最大值为止,所述当前值为序列器目前的值,增量值为增加的幅度;所述循环排序模式为:模拟Oracle的Sequences使用模式,实现单态的调用即增长的方式,调用序列器,当前值就随着增量值进行增加,当达到最大值后会自动从最小值开始,所述当前值为序列器目前的值,增量值为增加的幅度;
具体包括如下步骤:
步骤1、管理员需要依据编号格式的要求设置序列器模式,根据要生成的编号格式从字库中选择模版字及填写需要的固定文字来组合成一字符串,最终拼凑成编号显示模版;
步骤2、操作人员在需要编号时,选择相应的编号格式,所述编号生成模块会根据编号显示模版来动态转换模板字库的内容,分解字符串中的各个模版字,根据模版字所对应的实现类,来执行指定的实现类方法,根据配置的序列器模式而获取当前值提供模版字使用,而后拼凑每个模版字结果和固定文字成实际的编号结果;
步骤3、通过CodeFactoryImpl工厂类调用相应的模版字执行内容获取生成的编号结果,再提供给第三方使用,同时,会将编号结果进行相应的存储,并加入日志管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726686.8A CN103729426B (zh) | 2013-12-25 | 2013-12-25 | 一种编号自动生成的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726686.8A CN103729426B (zh) | 2013-12-25 | 2013-12-25 | 一种编号自动生成的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729426A CN103729426A (zh) | 2014-04-16 |
CN103729426B true CN103729426B (zh) | 2017-05-31 |
Family
ID=50453500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310726686.8A Active CN103729426B (zh) | 2013-12-25 | 2013-12-25 | 一种编号自动生成的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729426B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102731B (zh) * | 2014-07-24 | 2017-06-30 | 中国农业银行股份有限公司 | 一种产品工厂模式下产品数据的移植方法及系统 |
CN112540964A (zh) * | 2019-09-23 | 2021-03-23 | 北京国双科技有限公司 | 文书文号生成方法及相关装置 |
CN111475970B (zh) * | 2020-05-15 | 2024-02-02 | 中国电子科技集团公司第十四研究所 | 一种结构模型派生系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1434956A (zh) * | 1999-12-17 | 2003-08-06 | 世界剧院公司 | 允许顾客从参与商提供的产品中订购产品的系统和方法 |
CN101976240A (zh) * | 2010-09-21 | 2011-02-16 | 用友软件股份有限公司 | 表单编号生成方法和系统 |
-
2013
- 2013-12-25 CN CN201310726686.8A patent/CN103729426B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1434956A (zh) * | 1999-12-17 | 2003-08-06 | 世界剧院公司 | 允许顾客从参与商提供的产品中订购产品的系统和方法 |
CN101976240A (zh) * | 2010-09-21 | 2011-02-16 | 用友软件股份有限公司 | 表单编号生成方法和系统 |
Non-Patent Citations (1)
Title |
---|
AEDMS工程文件编号的生成算法;孙春林 等;《中国民航大学学报》;20080430;第26卷(第2期);第15-17、20页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103729426A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101697120B (zh) | 基于关系型数据库的j2ee代码生成方法 | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
CN104317974B (zh) | 一种可重构的erp系统中多源数据导入方法 | |
CN103729426B (zh) | 一种编号自动生成的方法 | |
CN103500087A (zh) | 一种基于maven插件和freemarker模版的代码生成方法及装置 | |
CN103631597B (zh) | 基于xml的web表单引擎装置及方法 | |
US7840889B2 (en) | Apparatus and method for generating spreadsheet function source code for use in a source code application | |
CN104239044A (zh) | 一种图形用户界面动态生成方法 | |
CN104461538B (zh) | 报表生成方法和报表生成系统 | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
SG135202A1 (en) | System and method for building wireless applications with intelligent mapping between user interface and data components | |
CN101539855A (zh) | 一种业务基础软件平台 | |
CN106372044A (zh) | 一种基于报表生成类型化维度xbrl报告的方法 | |
CN101714078A (zh) | 代码生成方法及装置 | |
CN109976803B (zh) | 一种文件的生成方法及装置 | |
CN103176802B (zh) | 通过控件池实现系统的用户界面ui与控件库分离的方法 | |
CN105183645A (zh) | 一种基于复用的雷达软件测试设计与实现的方法 | |
CN102156640A (zh) | 一种数据操作代码生成方法 | |
CN107679056A (zh) | 生成sql语句的方法、电子装置及可读存储介质 | |
CN107608669A (zh) | 一种基于数据库表结构自动生成功能及页面的方法 | |
CN108604106A (zh) | 侧信道感知的自动布局和布线 | |
CN108416035A (zh) | 一种基于disconf的数据库映射文件统一管理方法 | |
CN105573973A (zh) | 一种将excel数据在ppt文件中进行数据关联的方法 | |
CN110941422B (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
CN103995699A (zh) | 基于mda的电力企业信息系统开发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 362000 Fujian province Quanzhou Fengze District Feng Road South Building 2 building 16-22 layer Applicant after: Linewell Software Co., Ltd. Address before: 362000 Fujian city of Quanzhou province Quanxiu Street modern square modern furniture enterprise office building on the eighth floor Applicant before: Linewell Software Co., Ltd. |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |