// 生成标准告警工单 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;
}
工单编号生成
最新推荐文章于 2024-09-27 15:05:27 发布