首页 > 其他分享 >生成 “R+年月日+4位” 流水号+ “行号” 生成随机流水号

生成 “R+年月日+4位” 流水号+ “行号” 生成随机流水号

时间:2023-05-20 10:13:01浏览次数:33  
标签:String 行号 生成 流水号 codePre Integer now Math

批次号

R 20230213 0001

一个批次号对应多个行号

grmsStockRecordItemTemp.setBatchNo(batchNo);
grmsStockRecordItemTemp.setItemNo(list.indexOf(grmsStockRecordItemTemp) + 1 + "");

代码

/**
* 生成入库头表批次号
*/
private String generateGrmsStockRecordBatchNo() {
// 入库规则:R + 年月日 + 4位 流水
String codePre = "R";
String now;
Integer code;
String batchNo;
String lastDate;
try {
redisLock.lock(codePre);
now = DateUtils.parseDateToStr("yyyyMMdd", DateUtils.getNowDate());
List<GrmsStockRecord> list = grmsStockRecordMapper.selectGrmsStockRecordLists();
if (CollectionUtils.isEmpty(list)){
return codePre + now + String.format("%04d", 1);
}
batchNo = list.get(0).getBatchNo();
code = Integer.parseInt(batchNo.substring(9).replaceAll("^(0+)",""));
lastDate = batchNo.substring(1,9);
return lastDate.equals(now) ? codePre + now + String.format("%04d", code+1) : codePre + now + String.format("%04d", 1);
}catch (Exception e){
log.error("物料编码生成异常", e);
throw new RuntimeException("物料编码生成异常", e);
}finally {
redisLock.unlock(codePre);
}
}

随机流水号

WFI99884958

生成流程实例随机流水号

workflowInstance.setWorkflowInstanceId("WFI" + SNNoTools.getIntUUID().toString());

 

工具类

package com.tn.mdm.workflow.tools;

/**
* 生成编号
*
* @author admin
* @date 2022-04-25
*/
public class SNNoTools {

public static synchronized Integer getIntUUID() {
Integer data = 0;
while (data <= 0) {
Integer numOne = Math.abs((int) Math.round((Math.random() * 10) * 10000000));
Integer numTwo = Math.abs((int) Math.round((Math.random() * 10)));
data = numOne * numTwo;
}
return data;
}

}

 

标签:String,行号,生成,流水号,codePre,Integer,now,Math
From: https://www.cnblogs.com/chuangsi/p/17416817.html

相关文章

  • Common Lisp 批量处理生成HTML网页
    在组织磁盘文件的时候,想到HTMLweb的超级链接对知识有帮助,利用书籍《 PracticalCommonLisp》中的可移植的文件系统库。实现了遍历e盘的图像文件夹,生成多个网页文件,并收集所有的html后缀文件生成超链接。知识点:HTML编辑,文件系统遍历,CommonLisp宏代码如下: (defparamete......
  • Scenario.com:AI生成游戏资产的平台
    这个平台可以帮助你快速、高效地创建风格一致、质量高的游戏资产,包括角色、道具、车辆、武器、皮肤、建筑、概念艺术、像素艺术、草图等。https://www.scenario.com/使用Scenario的步骤非常简单:选择一组视觉元素:你可以上传自己的训练数据。训练定制的AI模型:只需几次点击......
  • 分享一下mybatisPlus新代码生成器3.5.1以上
    pom引入:有MP了就不要再引入mybatis了,会出bug的<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</......
  • 矩池云教程|体验 OpenAI 最近推出的 3D 生成模型 Shap-E!
    Shap-E是由OpenAI最近推出的3D生成模型,使用者可以通过简单的文字或图像进行三维模型的生成,OpenAI认为相比于点云的生成模型Point-E,Shap-E的收敛更快。本文将展示如何在矩池云上体验3D模型生成。Shap-E:https://github.com/openai/shap-e矩池云:https://matpool.com/1、安装......
  • VsCode 自动生成文件头部注释和函数注释
    1,安装插件KoroFileHeader2,配置头部注释和函数注释在vscode左下角点击设置按钮,选择“设置”,然后输入“fileheader”,{"editor.formatOnSave":true,"editor.formatOnType":true,"git.confirmSync":false,"git.autofetch":true,//文件头部注释......
  • ChatGPT为什么能生成图片?
    有小伙伴说我想用ChatGPT生成图片怎么操作,ChatGPT怎么画图等这里阐明一下,ChatGPT是不能够做到画图的因为它是一种自然语言处理模型,主要用于处理文本和语言相关的任务,例如问答、对话、翻译等。但是,我们可以使用ChatGPT来生成描述绘图的自然语言文本,从而实现绘图的效果。也可以利用文......
  • P5540 [BalkanOI2011] timeismoney | 最小乘积生成树
    题意给一个无向图,边有两个权\(a\)和\(b\),定义一个生成树的权值是\(\left(\sum\limits_{e\inT}a_e\right)\left(\sum\limits_{e\inT}b_e\right)\),求最小权值生成树。权值相同请最小化\(a\)的和。\(1\len\le200,1\lem\le10000,0\lea_e,b_e\le255\)。题解纯粹记......
  • 最小生成树
    最小生成树题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz。输入格式第一行包含两个整数\(N,M\),表示该图共有\(N\)个结点和\(M\)条无向边。接下来\(M\)行每行包含三个整数\(X_i,Y_i,Z_i\),表示有一条长度为\(Z_i\)的无向边连接结点\(X_i,Y_i\)......
  • Postman+Newman生成HTML接口测试报告
    NewMan是官方提供的专门用于posman进行自动化的命令行工具环境配置:Node.js:Newman是基于Node.js,所以安装NewMan之前需要保证本地有安装Node.jsNewMan:npminewman-g,安装成功后输入newman-v来检查版本,显示出版本即表示安装成功html格式报告的插件:npminstall-gnewman......
  • Oracle数据库生成AWR日报的方法
    1.打开pl/sql命令行2.打开awrrpt.sql文件 3.选择文件类型4.输入天数 5.选择开始时间 6.选择结束时间7.输入日报名字,一般为了方便,我输入的是月份日期 8.打开awr日报所在位置,并修改格式为html  ......