java如何根本生成10位号(比如订单号)

编程入门 行业动态 更新时间:2024-10-26 01:20:17

java如何根本生成10位号(比如<a href=https://www.elefans.com/category/jswz/34/1700960.html style=订单号)"/>

java如何根本生成10位号(比如订单号)

java代码生成规则

/*** <p>* 根据编码类型获取最新编码* </p>** @param codeType 类型枚举* @param baseCodeService BaseCodeService* @return 最新编码*/public static String getCode(CodeType codeType,BaseCodeService baseCodeService){BaseCode baseCode=baseCodeService.findByType(codeType.getType());StringBuffer codeBuff=new StringBuffer();codeBuff.append(codeType.getHeadCode());int num=codeBuff.length();int codeNum=1;String FORMAT="%0"+(10-num)+"d";if(baseCode==null){codeBuff.append(String.format(FORMAT, codeNum));baseCode=new BaseCode();baseCode.setUuid(ROUtils.getSequence());baseCode.setName(codeType.getName());baseCode.setHeadCode(codeType.getHeadCode());baseCode.setType(codeType.getType());baseCode.setCurrentCode(codeBuff.toString());baseCodeService.save(baseCode);}else{String code=baseCode.getCurrentCode().substring(num, 10);codeNum=Integer.parseInt(code)+1;codeBuff.append(String.format(FORMAT, codeNum));baseCode.setCurrentCode(codeBuff.toString());baseCodeService.update(baseCode);}return codeBuff.toString();}
枚举类型

public enum CodeType {/*** 采购申请*/SQ01("SQ01","11","采购申请"),/*** 采购*/CG01("CG01","21","采购"),/*** 采购(退货)*/TH01("TH01","22","采购(退货)"),/*** 收货*/SH01("SH01","41","收货"),/*** 配送申请*/PS01("PS01","31","配送申请"),/*** 配送*/PS02("PS02","32","配送"),/*** 	配送(主配)*/PS03("PS03","33","配送(主配)"),/*** 盘点全盘*/PDQP("PDQP","51","盘点全盘"),/*** 盘点局盘*/PDJP("PDJP","52","盘点局盘"),/*** 盘点清单*/PDQD("PDQD","53","盘点清单"),/*** 盘点明细*/PDMX("PDMX","54","盘点明细"),/*** 领用*/LY01("LY01","61","领用"),/*** 报损*/BS01("BS01","71","报损"),/*** 借用*/JY01("JY01","81","借用"),/*** 供应商(经营)*/GY01("GY01","00031","供应商(经营)"),/*** 供应商(生产)*/GY02("GY02","00032","供应商(生产)"),/*** 供应商(一次性)*/GY03("GY03","00033","供应商(一次性)"),/*** 供应商联系人*/GY04("GY04","00034","供应商联系人"),/*** 办公用品类*/Z001("Z001","0001","办公用品类"),/*** 装修材料类*/Z002("Z002","0002","装修材料类"),/*** 广告促销费*/Z003("Z003","0003","广告促销费"),/*** 包装费类*/Z004("Z004","0004","包装费类"),/*** 亲情茶类*/Z005("Z005","0005","亲情茶类"),/*** 书籍类*/Z006("Z006","0006","书籍类"),/*** 服装*/Z007("Z007","0007","服装"),/*** 烟酒*/Z008("Z008","0008","烟酒"),/*** 福利费类*/Z009("Z009","0009","福利费类"),/*** 通用名*/Z011("Z011","0011","通用名"),/*** 物品类型之类生成*/WPLX("","1","物品类型");/*** * @param type     类型* @param headCode  头信息前缀* @param name        名称*/private CodeType(String type,String headCode,String name){this.type=type;this.headCode=headCode;this.name=name;}private String type;private String headCode;private String name;public String getType() {return type;}public void setType(String type) {this.type = type;}public String getHeadCode() {return headCode;}public void setHeadCode(String headCode) {this.headCode = headCode;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

数据库表设计

   

	/*** 主键UUID*/private String uuid; /*** 类型*/private String type; /*** 名称*/private String name; /*** 起始编码(枚举中的头信息前缀)*/private String headCode; /*** 当前编码*/private String currentCode; 

以上实体就是表设计,跟枚举对应起来看就明白


更多推荐

java如何根本生成10位号(比如订单号)

本文发布于:2024-03-04 21:00:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1710405.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:订单号   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!