最简单的办法,调用用友的类
import nc.jdbc.framework.generator.SequenceGenerator;
IdGenerator idGenerator = new SequenceGenerator();
System.out.println(idGenerator.generate());
算法分析:
PK=4位(集团编码)+2位(数据源ID)+14位(流水号)
4位(集团编码)=select groupno from org_group where code='集团代码'
2位(数据源ID)=自己运行sysConfig.bat,看标识ID
14位(流水号)=select idnumber from PUB_OID where pk_corp='集团编码',注意这个idnumber是基础流水号
基础流水号+1后,通过一些转换,就生成了流水号,主要是限制每位流水号字符在0~9|A-Z之间.