java 使用流水单号 生成订单编号

本文介绍了一种基于流水表的查询方法,通过使用ROW_NUMBER()函数为每条记录生成唯一序号,并按发布时间逆序排列。利用foreach循环遍历查询结果,实现GUID的精确匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个流水表,四个字段
自增主键
存单子的日期
单子号
guid 与订单关联的guid
select ROW_NUMBER() OVER (order by id) as rowid , releaseTime,guid from zx_serialNumber_table order by cast(releaseTime as DATETIME) DESC

ROW_NUMBER()自动生成顺序编号
通过forech遍历匹配guid,得到对应的rowid就是row_number生成的序号

List<Map<String, Object>> serialNumberList = generalService.query4staff("select ROW_NUMBER() OVER (order by id) as rowid , releaseTime,guid from zx_serialNumber_table order by cast(releaseTime as DATETIME) DESC");
for (Map<String, Object> map : serialNumberList) {
	System.out.println(computerEquipmentProcurement.getGuid());
	System.out.println(String.valueOf(map.get("guid")));
	if (String.valueOf(map.get("guid")).equals(computerEquipmentProcurement.getGuid())) {
		applicationNumber = String.valueOf(map.get("releaseTime")).substring(0, 7).replaceAll("-", "")+ "0"+String.valueOf(map.get("rowid"));
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值