我们在开发管理软件的时候,常常遇到流水号(单据号、登记号)自动生成、控制和管理的问题。由于流水号具有唯一性和连续性的特点,在实际开发过程中若处理不好,会产生流水号重复及断号的问题。特别是多个并发用户同时保存一张同样的业务单据时,系统会返回多个相同的流水号。笔者以前在开发企业ERP系统 ...
最近的工作中要用到流水号,而且业务单据流水号生成的规则分好几种,并非以前那种千篇一律的前缀 日期 流水号的简单形式,经过对业务的分析,以及参考网上程序员的N种方法,整理出了一个表结构和存储过程 思路分析: .大体上,流水号都遵循近似这样的一般规则:流水号 前缀 动态内容 日期 中缀 流水号 后缀 这里的动态内容是通过参数传入流水号生成存储过程的,比如动态内容为科室 组别,这个科室和组别是动态的,每 ...
2013-08-29 20:31 5 2134 推荐指数:
我们在开发管理软件的时候,常常遇到流水号(单据号、登记号)自动生成、控制和管理的问题。由于流水号具有唯一性和连续性的特点,在实际开发过程中若处理不好,会产生流水号重复及断号的问题。特别是多个并发用户同时保存一张同样的业务单据时,系统会返回多个相同的流水号。笔者以前在开发企业ERP系统 ...
第一种实现流水号的方法: 注:取号全部在 RUL_Sequence 表中操作,不用管流水号所在表中的最大流水号 可以自由配置流水号规则。 前提:需要一个表和一个存储过程。 表如下图: 存储过程如下: [sql ...
项目开发时,使用了两套数据库,开发环境和上线环境,数据库表中大多採用了自增主键, 比方: id int unsigned primary key auto_increment, ...
最近在做项目过程中,经常会遇到生成订单流水号唯一性的应用,也有不少同事也请教我对唯一性的 "流水号"的问题,根据个人所见,一般生成的规则都是根据日期来进行操作,我目前在做的一个项目:”报告卡“上的编码就是根据 ”yyyyMMdd+四位数字(累加)“的格式生成,一般对这一类的操作最好是在存储过程中生成 ...
1:用sequence序列生成流水号 create sequence L_SIGN_IN minvalue 1 maxvalue 9999999999999999999999999999 start with 1 increment by 1 cache 20; 这里是生成了序列 ...
...
例如流水号格式如下:XX201604120001,2位前缀加8位日期加4位流水号 首先各种搜索出现如下解决方案 public class SerialNoHelper { /// <summary> /// 生成流水号 ...
如果你不想在数据库操作的话,这里有个方法可以一试,直接上代码: Controller调用: no = list.get(0).getBillSeq()这里是 ...