亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java生成遞增流水號(編號+時間+流水號)簡單示例

 更新時間:2023年07月14日 10:33:22   作者:chen_ying__  
這篇文章主要給大家介紹了關(guān)于Java生成遞增流水號(編號+時間+流水號)的相關(guān)資料,在開發(fā)項目漫長的過程中常常會遇到流水號需要自動生成的問題存在,文中給出了詳細的代碼示例,需要的朋友可以參考下

Java編寫一個流水號,要求格式【編號】【時間】【流水號】。編號和時間比較簡單,直接獲取拼接就可以,流水號使用類型轉(zhuǎn)換來實現(xiàn)。

獲取車間編號,變量為workCenter(例子A1、B2、C3);

使用simpleDateFormat獲取時間格式:20230112。變量為dateNo;

初始化一個流水號markNo1,使用join拼接:A120230112001;

使用編號與時間拼接,用于模糊查詢的參數(shù),DESC取到最新一條數(shù)據(jù)(這里是第一條);

判斷初始流水號是否存在數(shù)據(jù)庫,如果不存在,則返回初始化流水號;

若存在,取最新一條數(shù)據(jù),截取后3位字符串,轉(zhuǎn)換為數(shù)字number1;

在number1的基礎上+1,得到number2,再將number2轉(zhuǎn)換成格式化字符串“00X”;

最后將字符串與編號、時間拼接一起,返回。OK!

 
            JSONObject jsonObject = new JSONObject();
            //獲取車間編號
            String workCenter = workCenterNo.substring(0,2);
            //獲取時間編號
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            String dateNo = sdf.format(new Date()); // 格式化日期 date: 20230112
            //初始化隔離編號
            String markNo1 = String.join("",workCenter,dateNo,"001");
            //模糊查找用
            String workDate = String.join("",workCenter,dateNo);
            //模糊查詢隔離編號
            String markSQL = "SELECT MARK_NO  FROM BP_MARKING WHERE MARK_NO  LIKE ? order by CREATE_DATE DESC";
            List<Map<String, Object>> maps = this.getJdbcTemplate().queryForList(markSQL,workDate+"%");
            //判斷模糊查找的隔離編號是否存在
            if (maps.size()>0){
                Map<String, Object> m=maps.get(0);
                String mark1=m.get("MARK_NO").toString();
                //取出mark1的后面三位數(shù)
                String str1 = mark1.substring(mark1.length()-3);
                int number1 = Integer.valueOf(str1).intValue();
                if (number1>999)throw new Exception("流水號超過規(guī)定!");
                int number2 = number1+1;
                //實例化format,格式為“000”
                DecimalFormat formatCount = new DecimalFormat("000");
                //一般都是將累加的數(shù)字當做一些單號的一部分,format要求string
                String str2 = formatCount.format(number2);
                //再用number2拼接workDate
                String markNo2 =String.join("",workDate,str2);
                jsonObject.put("markNo",markNo2);
                array.add(jsonObject);
            }else if (maps.size()==0){
                //如果maps為零,取markNo1
                jsonObject.put("markNo",markNo1);
                array.add(jsonObject);
            }
            return array;

總結(jié)

到此這篇關(guān)于Java生成遞增流水號(編號+時間+流水號)的文章就介紹到這了,更多相關(guān)Java生成遞增流水號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中Map的排序問題詳解

    Java中Map的排序問題詳解

    本文給大家分享的是java中的map的按值排序和按鍵排序問題,并通過具體的示例,希望對大家能有所幫助。
    2016-01-01
  • Java多線程 原子性操作類的使用

    Java多線程 原子性操作類的使用

    這篇文章主要介紹了Java多線程 原子性操作類的使用,在java5以后,我們接觸到了線程原子性操作,也就是在修改時我們只需要保證它的那個瞬間是安全的即可,經(jīng)過相應的包裝后可以再處理對象的并發(fā)修改,本文總結(jié)一下Atomic系列的類的使用方法,下面一起進入文章了解詳細內(nèi)容
    2021-10-10
  • 詳解用java描述矩陣求逆的算法

    詳解用java描述矩陣求逆的算法

    這篇文章主要介紹了用java描述矩陣求逆的算法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 換了最新的idea如何將原來舊版本的idea設置導進新的idea中

    換了最新的idea如何將原來舊版本的idea設置導進新的idea中

    這篇文章主要介紹了換了最新的idea如何將原來舊版本的idea設置導進新的idea中,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 解決IDEA springboot

    解決IDEA springboot"spring-boot-maven-plugin"報紅問題

    這篇文章主要介紹了解決IDEA springboot"spring-boot-maven-plugin"報紅問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • mybatis多數(shù)據(jù)源動態(tài)切換的完整步驟

    mybatis多數(shù)據(jù)源動態(tài)切換的完整步驟

    這篇文章主要給大家介紹了關(guān)于mybatis多數(shù)據(jù)源動態(tài)切換的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Lombok之@AllArgsConstructor的使用方式

    Lombok之@AllArgsConstructor的使用方式

    這篇文章主要介紹了Lombok之@AllArgsConstructor的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Spring Boot 各種回滾操作實戰(zhàn)教程(自動回滾、手動回滾、部分回滾)

    Spring Boot 各種回滾操作實戰(zhàn)教程(自動回滾、手動回滾、部分回滾)

    這篇文章主要介紹了Spring Boot 各種回滾操作實戰(zhàn)教程(自動回滾、手動回滾、部分回滾),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • java定時任務Timer和TimerTask使用詳解

    java定時任務Timer和TimerTask使用詳解

    這篇文章主要為大家詳細介紹了java定時任務Timer和TimerTask使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Java中的字節(jié)流InputStream和OutputStream詳解

    Java中的字節(jié)流InputStream和OutputStream詳解

    這篇文章主要介紹了Java中的字節(jié)流InputStream和OutputStream詳解,繼承自InputStream的流都是用于向程序中輸入數(shù)據(jù),且數(shù)據(jù)的單位為字節(jié)8bit,我們看到的具體的某一些管道,凡是以InputStream結(jié)尾的管道,都是以字節(jié)的形式向我們的程序輸入數(shù)據(jù),需要的朋友可以參考下
    2023-10-10

最新評論