工单编号生成

该代码段展示了如何生成标准告警工单编号GDGJ-20230331-XXXX。首先,它使用当前日期时间生成基础字符串,然后从数据库中获取并排序现有的最大编号,进行累加后生成新的工单号。如果数据库中无记录,则初始化为001。

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

// 生成标准告警工单 GDGJ-20230331-XXXX
public String generateOrderNo(){
String orderNumber;
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(“yyyyMMddHHmmss”);
LocalDateTime time = LocalDateTime.now();
String dateStr = time.format(dtf);
//去数据库查询所有的数据,因为我用的是非关系型数据库;大家如有用mysql直接筛选出最大的编号就OK
List orders = this.list();
//进行筛选最大的编号
orders = orders.stream().sorted(Comparator.comparing(TWorkOrder::getOrderNo).reversed()).collect(Collectors.toList());
if(orders!=null && orders.size()>0){
if(orders.size() > 0){
//取出值
String n = orders.get(0).getOrderNo();
int intNumber = Integer.parseInt(n.substring(18));
//累加
intNumber++;
orderNumber = String.valueOf(intNumber);
for (int i = 0; i < 4; i++){
orderNumber = orderNumber.length() < 4 ? “0” + orderNumber : orderNumber;
}
//返回编号
orderNumber = “GJGD” + dateStr + orderNumber;
}else{
//第一次来的进行初始化001
orderNumber = “GJGD” + dateStr+ “0001”;
}
}else {
//第一次来的进行初始化001
orderNumber = “GJGD” + dateStr + “0001”;
}
return orderNumber;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值