批次号生成

/** *  批次号生成 *  生成规则:当天日期[8位]+序列号[24位],如:20181031383385283484579432669936 * @return */public static String getRandomBatchNum() {   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");       String format = dateFormat.format(new Date());       int max=24;       int min=24;       Random random = new Random();       int s = random.nextInt(max)%(max-min+1) + min;       StringBuffer buffer =new StringBuffer();       for(int i=0;i<s;i++){           Integer val = (int)(Math.random()*9+1);           buffer.append(val.toString());       }   return format+buffer.toString();}
/** * 生成唯一序列 规则:当前时间+6位随机数(yyyyMMddHHmmss123345) * @param shortTableName 表名(缩写) 例:uc - user_customer * @return * @throws Exception */public static synchronized String getSequence(String shortTableName) throws Exception {   String currentDate = getCurrentDate("yyyyMMddHHmmssS");   String random = random(8);   return shortTableName + currentDate + random;}

原文地址:https://www.cnblogs.com/SmileWindy/p/10063640.html

时间: 2024-10-13 13:55:28

批次号生成的相关文章

SAP批次号生成时,最后两位顺序号超过了99,需要和字母和数字组合生成新的批次号

背景:项目中,批次号的最后两位是顺序号,最后两位顺序号累加超过99会引起批次号重复,需要和字母结合生成批次号,比如:AAAAAA00.AAAAAA01.AAAAAA02.AAAAAA03......AAAAAA09.AAAAAA0A.AAAAAA0B......AAAAAA0Z.AAAAAA10,以下是利用ASC码进行数字字母组合的函数,希望对用到的TX有帮助. FUNCTION ZFUNC_GET_NEW_CHARG. *"-----------------------------------

根据时间生成分配批次号

1 /** 2 * 根据当前时间生成分配批次号 3 * 4 * @return 5 */ 6 private String createBatchNo() { 7 // 批次号第一部分:时间 8 DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); 9 String currentTimeStr = dateFormat.format(new Date()); 10 11 // 批次号第二部分:随机数 12 Ra

sql server 更新表,每天的数据分固定批次设置批次号sql

按表中的字段 UpdateTime 按每天进行编号,每天的编号都从1开始编号,并附带表的主键 cid,把数据存入临时表中 WITH temp AS (SELECT cid,updatetime, ROW_NUMBER() OVER (PARTITION BY CONVERT(varchar(10), UpdateTime, 20) ORDER BY updatetime) AS Row_Num FROM Customer_Transfer ) 从临时表中根据主键cid进行更新 BatchNo,给

不重复订单号生成规则

偶尔在网上看到的,相对比较好的c#端订单号生成规则 public class BillNumberBuilder{ private static object locker = new object(); private static int sn = 0; public static string NextBillNumber(){ lock(locker){ if(sn == 9999999999) sn = 0; else sn++; return DateTime.Now.ToStrin

c#唯一订单号生成代码

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string uniqueNum = GenerateOrderNumber(); Console.WriteLin

身份证号生成

private void GenPinCode() { string[] _crabodistrict=new string[]{"350201","350202","350203","350204","350205","350206","350211","350205","350213"}; Random rnd = new

项目笔记之订单号生成规则以及方法,第一篇!

小伙伴们在日常的商城项目开发中,都会遇到订单号生成的问题,今天呢小编就带领大家去解读一下生成订单号的问题! 首先,订单号我们要明确它有有3个性质:1.唯一性 2.不可推测性3.效率性,唯一性和不可推测性不用说了,效率性是指不能频繁的去数据库查询以避免重复.况且满足这些条件的同时订单号还要足够的短.不知道小伙伴们在日常的项目中是否也和我一样去思考过生成订单的一些小问题,可能你也会说,这些东西不用想的那么复杂,其实呢,小编也是同意大家的看法,但是殊不知我们做程序的都讲究严谨性,而且在订单模块的开发中

基于mysql的单据号生成(前缀+日期+自增id+后缀)

介绍 本次采用mysql处理,性能不是很好,对于高并发有要求的建议不要采用公司一个小项目,需要生成一个单据号,格式为: 日期 + 每日重新自增号,自己考虑了一下每日自增需要考虑并发和持久问题,两种数据库redis和mysql由于项目较小,所以没有redis因为这个增加一个redis好像有点不值得,所以采用mysql作为持久化处理,一下思路也是借鉴了网上的许多想法 源码 源码查看规则源码位置: blog-study:module-utils:work-no 欢迎大家随时批评指正 思路 首先根据需求

订单号生成规则

前阵子,公司有个电子商务项目,需要生成订单号.当时的考虑很简单,取系统时间加上随机数,或者使用 uniqid() 方法.我们都知道,订单号最基本的要求就是唯一,这个条件必须满足.仔细考虑下上述方法,在顾客购买量少的情况下,订单重复的可能性为零,但是在购买高蜂期生成的订单号重复是很有可能发生的.所以上述方法不可靠,有待强化.在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母.年月日.Unix 时间戳和微秒数.随机数,重复的可能性大大