首页 > 基础资料 博客日记
Java生成递增流水号:编号+时间+流水号
2023-07-24 10:16:48基础资料围观279次
本篇文章分享Java生成递增流水号:编号+时间+流水号,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识
Java编写一个流水号,要求格式【编号】【时间】【流水号】。编号和时间比较简单,直接获取拼接就可以,流水号使用类型转换来实现。
获取车间编号,变量为workCenter(例子A1、B2、C3);
使用simpleDateFormat获取时间格式:20230112。变量为dateNo;
初始化一个流水号markNo1,使用join拼接:A120230112001;
使用编号与时间拼接,用于模糊查询的参数,DESC取到最新一条数据(这里是第一条);
判断初始流水号是否存在数据库,如果不存在,则返回初始化流水号;
若存在,取最新一条数据,截取后3位字符串,转换为数字number1;
在number1的基础上+1,得到number2,再将number2转换成格式化字符串“00X”;
最后将字符串与编号、时间拼接一起,返回。OK!
JSONObject jsonObject = new JSONObject();
//获取车间编号
String workCenter = workCenterNo.substring(0,2);
//获取时间编号
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String dateNo = sdf.format(new Date()); // 格式化日期 date: 20230112
//初始化隔离编号
String markNo1 = String.join("",workCenter,dateNo,"001");
//模糊查找用
String workDate = String.join("",workCenter,dateNo);
//模糊查询隔离编号
String markSQL = "SELECT MARK_NO FROM BP_MARKING WHERE MARK_NO LIKE ? order by CREATE_DATE DESC";
List<Map<String, Object>> maps = this.getJdbcTemplate().queryForList(markSQL,workDate+"%");
//判断模糊查找的隔离编号是否存在
if (maps.size()>0){
Map<String, Object> m=maps.get(0);
String mark1=m.get("MARK_NO").toString();
//取出mark1的后面三位数
String str1 = mark1.substring(mark1.length()-3);
int number1 = Integer.valueOf(str1).intValue();
if (number1>999)throw new Exception("流水号超过规定!");
int number2 = number1+1;
//实例化format,格式为“000”
DecimalFormat formatCount = new DecimalFormat("000");
//一般都是将累加的数字当做一些单号的一部分,format要求string
String str2 = formatCount.format(number2);
//再用number2拼接workDate
String markNo2 =String.join("",workDate,str2);
jsonObject.put("markNo",markNo2);
array.add(jsonObject);
}else if (maps.size()==0){
//如果maps为零,取markNo1
jsonObject.put("markNo",markNo1);
array.add(jsonObject);
}
return array;
文章来源:https://blog.csdn.net/chen_ying__/article/details/128936974
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: