編號的生成

2021-09-08 16:34:14 字數 888 閱讀 5878

1.在日常工作中,編號用處有很多地方,以下是乙個編號的生成**:

標號規則:1、按照年份排序 2、刪除不影響編號順序

思路:1、需要借助乙個外表去統計編號,此處用到的是:km_ot_number;字段至少需要id、numbertype(區分編號類別,方便其他模組復用)、year、count(統計編號)

2、根據模組名及類別去查詢是否存在此模組的記錄。

2.1、如果沒有,則返回編號為1,同時插入編號表中1條編號為1的記錄;

2.2、如果存在,則查詢count的值,自增,更新此條記錄,返回自增後的編號;

3、一般情況刪除不影響編號,即刪除某條資料,後續編號不變,如遇刪除後續編號與前面連續,只需要在刪除的時候去維護一下編號表的count值即可。

/**

* 儲存生成乙個編號格式為:

* @param numbertype 編號型別

* @param year 年

* @return 編號

*/@override

public integer creatorcode(string numbertype,integer year)};

list list = elereportdao.findbysql(null, sql, parammap);

if(list.size()!= 0)else

}

呼叫:

string code = this.codeservice.creatorcode(numbertype, year).tostring();

獨立編號表,生成編號

create table tb no name char 2 primary key 編號種類的名稱 head nvarchar 10 not null default 編號的字首 currentno int not null default 0,當前的編號 bhlen int not null d...

生成按序的編號

public static string makexfjbh string jtr,string djrq,string xftj,string yhbm,ibasezrardao dao throws exception else if businesscanstant.xf ywdj xftj ...

單據編號的生成

1.單據編號的構成 為了避免重複及保持有序性,單據編號通常格式為 關鍵字 yymmdd n位流水號,當然具體規則會根據業務需 要變化,包括 年月日的顯示變化和流水號的位數變化 及編號公升序 例如 ys0812250001,ys200812250001,ys2008120001,ys081225001...