最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何根據(jù)日期生成單號

 更新時間:2024年09月04日 09:46:25   作者:200.YING  
這篇文章主要介紹了java如何根據(jù)日期生成單號問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

java根據(jù)日期生成單號

1.查詢出創(chuàng)建時間等于當(dāng)天的訂單,按照時間倒序排序去一條數(shù)據(jù)。

 select a.* from t_solid_waste_production a
 WHERE deleted = 0 and TO_DAYS(create_time) = TO_DAYS(NOW())
order by create_time desc limit 1

2.編寫編碼生成規(guī)則

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
String date = df.format(new Date());
String recordNumber = "CF" + date + "001";

3.判斷最新一天是否有數(shù)據(jù),如果沒有則執(zhí)行疊加

if (lastData != null){
   Format f1=new DecimalFormat("000");
   recordNumber = "CF" + date + f1.format((Integer.parseInt(lastData.getRecordNumber().substring(lastData.getRecordNumber().length() - 3)) + 1));
   }

java根據(jù)日期生成一定規(guī)則的單號

由于業(yè)務(wù)需求,需要根據(jù)一定的規(guī)則生成有規(guī)則的單號比如:YC-20231203-001

該規(guī)則單號前面部分 "YC-" 為異常的拼音縮寫,中間部分 “20231203” 為時間,后面為遞增的數(shù)字。

我的代碼實現(xiàn):

@ApiOperation("異常單號生成")
    @GetMapping("getCode")
    public Response<Object> getCode(){
        return new Response<>().success().data(exceptionItemService.getCode());
    }

@Override
    public String getCode() {
        //前綴
        String prefix = "YC-";
        //后綴
        String lastIndex;
        //獲取最大三位數(shù)
        Integer maxCode = exceptionItemMapper.selectMaxCode(prefix);
        //查詢出數(shù)據(jù)庫中當(dāng)前最大的單號,如果沒有則說明今天還未添加一條數(shù)據(jù),有的話則將最大的查出來 +1
        if (maxCode != null && maxCode <= 8) {
            maxCode += 1;
            //Integer轉(zhuǎn)換為字符串
            String i = String.valueOf(maxCode);
            lastIndex = "00" + i;
        } else if (maxCode != null && maxCode <= 98) {
            maxCode += 1;
            String i = String.valueOf(maxCode);
            lastIndex = "0" + i;
        } else if (maxCode != null) {
            maxCode += 1;
            lastIndex = String.valueOf(maxCode);
        } else {
            lastIndex = "001";
        }
        // 中間部分 “20231211”
        String middle = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
        //設(shè)置新的異常單號 YC-20231203-001
        return prefix + middle + "-" + lastIndex;
    }

代碼中

Integer maxCode = exceptionItemMapper.selectMaxCode(prefix) 

是通過查詢數(shù)據(jù)庫來得出單號后三位最大的數(shù)字,sql實現(xiàn)如下(本人用的postgres數(shù)據(jù)庫):

<select id="selectMaxCode" resultType="java.lang.Integer">
        SELECT MAX(CAST(SUBSTRING(exception_code, LENGTH(exception_code) - 2) AS INTEGER))
        FROM qc_exception_item
        WHERE exception_code LIKE CONCAT(#{prefix}, TO_CHAR(NOW(), 'YYYYMMDD'),'-%','%');
</select>

如果是mysql數(shù)據(jù)庫的話,上面代碼中的:

WHERE exception_code LIKE CONCAT(#{prefix}, TO_CHAR(NOW(), 'YYYYMMDD'),'-%','%')  

中的

TO_CHAR(NOW(), 'YYYYMMDD') 

改為

DATE_FORMAT(NOW(), '%Y%m%d')   

即可。

本人現(xiàn)在代碼未考慮多線程的情況,如果需要的話可以自己看情況修改。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring注解@Qualifier的詳細(xì)用法你知道幾種

    Spring注解@Qualifier的詳細(xì)用法你知道幾種

    本文給大家分享Spring注解@Qualifier的詳細(xì)用法,包括@Autowired和@Resource區(qū)別介紹,本文通過示例代碼給大家詳細(xì)介紹,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • springboot訪問404問題的解決辦法

    springboot訪問404問題的解決辦法

    工作中遇到url404問題,解決問題的進(jìn)程比較崎嶇,寫篇文章記錄,下面這篇文章主要給大家介紹了關(guān)于springboot訪問404問題的解決辦法,文中通過圖文介紹的非常詳細(xì),要的朋友可以參考下
    2023-03-03
  • SpringBoot集成JWT生成token及校驗方法過程解析

    SpringBoot集成JWT生成token及校驗方法過程解析

    這篇文章主要介紹了SpringBoot集成JWT生成token及校驗方法過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • java 兩個數(shù)組合并的幾種方法

    java 兩個數(shù)組合并的幾種方法

    本篇文章主要介紹了java 兩個數(shù)組合并的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • java實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼

    java實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼

    下面小編就為大家?guī)硪黄猨ava實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Spring-AOP @AspectJ切點函數(shù)之@annotation()用法

    Spring-AOP @AspectJ切點函數(shù)之@annotation()用法

    這篇文章主要介紹了Spring-AOP @AspectJ切點函數(shù)之@annotation()用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Maven編譯文件的編碼設(shè)置方法

    Maven編譯文件的編碼設(shè)置方法

    在使用Maven進(jìn)行Java項目的構(gòu)建時,正確的文件編碼設(shè)置對于確保項目能夠正確編譯和運行至關(guān)重要,本文將詳細(xì)介紹如何在Maven中設(shè)置編譯文件的編碼,以確保項目能夠正確處理各種語言的文本內(nèi)容,需要的朋友可以參考下
    2025-02-02
  • SpringBoot進(jìn)行數(shù)據(jù)加密和解密的詳細(xì)指南

    SpringBoot進(jìn)行數(shù)據(jù)加密和解密的詳細(xì)指南

    對稱加密算法使用相同的密鑰進(jìn)行加密和解密,其主要優(yōu)點包括速度快和實現(xiàn)簡單,常見的對稱加密算法有 AES、DES 等,本文將以 AES 為例,展示如何在 Spring Boot 項目中進(jìn)行數(shù)據(jù)加密和解密,需要的朋友可以參考下
    2024-11-11
  • Linux+Docker+SpringBoot+IDEA一鍵自動化部署的詳細(xì)步驟

    Linux+Docker+SpringBoot+IDEA一鍵自動化部署的詳細(xì)步驟

    這篇文章主要介紹了Linux+Docker+SpringBoot+IDEA一鍵自動化部署的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot容器化部署之Docker與Kubernetes操作指南

    SpringBoot容器化部署之Docker與Kubernetes操作指南

    本文介紹了如何將SpringBoot應(yīng)用進(jìn)行容器化部署,通過Docker和Kubernetes進(jìn)行編排和管理,涵蓋了從項目創(chuàng)建、Dockerfile編寫、鏡像構(gòu)建、容器運行到Kubernetes部署、監(jiān)控和維護(hù)的全流程
    2025-12-12

最新評論

奈曼旗| 临颍县| 邯郸县| 青岛市| 雷波县| 永济市| 桓台县| 察哈| 黄浦区| 安顺市| 互助| 尚志市| 沁源县| 彩票| 云和县| 新绛县| 隆林| 甘洛县| 定远县| 河北区| 揭阳市| 耒阳市| 郸城县| 清徐县| 大埔县| 禄劝| 西贡区| 平原县| 玛多县| 奉新县| 夏河县| 富蕴县| 绍兴县| 富源县| 濮阳市| 大丰市| 哈巴河县| 鸡东县| 湘潭市| 涟源市| 普宁市|