From 62a079a15b46925283581f6caaf631b5a4558927 Mon Sep 17 00:00:00 2001 From: wlzboy <66905212@qq.com> Date: 星期三, 24 九月 2025 11:00:10 +0800 Subject: [PATCH] feat: 初始化app --- ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java | 36 ++++++++++++++++++++++++++++++++++-- 1 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java index 6f73f74..22c5c72 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java @@ -2,8 +2,10 @@ import java.text.SimpleDateFormat; import java.util.Date; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.system.mapper.SysTaskMapper; /** * 浠诲姟缂栧彿鐢熸垚鍣� @@ -13,6 +15,9 @@ @Component public class TaskCodeGenerator { + @Autowired + private SysTaskMapper sysTaskMapper; + /** * 鐢熸垚浠诲姟缂栧彿 * 鏍煎紡锛歍ASK + YYYYMMDD + 4浣嶅簭鍙� @@ -21,7 +26,7 @@ */ public String generateTaskCode() { String dateStr = DateUtils.dateTimeNow("yyyyMMdd"); - return "TASK" + dateStr + "0001"; + return generateTaskCode(dateStr); } /** @@ -33,6 +38,33 @@ public String generateTaskCode(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String dateStr = sdf.format(date); - return "TASK" + dateStr + "0001"; + return generateTaskCode(dateStr); + } + + /** + * 鏍规嵁鏃ユ湡瀛楃涓茬敓鎴愪换鍔$紪鍙� + * + * @param dateStr 鏃ユ湡瀛楃涓诧紙鏍煎紡锛歽yyyMMdd锛� + * @return 浠诲姟缂栧彿 + */ + private String generateTaskCode(String dateStr) { + String datePrefix = "TASK" + dateStr; + + // 鏌ヨ褰撴棩鏈�澶х紪鍙� + String maxTaskCode = sysTaskMapper.selectMaxTaskCodeByDatePrefix(datePrefix); + + int sequence = 1; + if (maxTaskCode != null && maxTaskCode.startsWith(datePrefix)) { + // 鎻愬彇搴忓彿閮ㄥ垎 + String sequenceStr = maxTaskCode.substring(datePrefix.length()); + try { + sequence = Integer.parseInt(sequenceStr) + 1; + } catch (NumberFormatException e) { + sequence = 1; + } + } + + // 鏍煎紡鍖栦负4浣嶅簭鍙� + return datePrefix + String.format("%04d", sequence); } } -- Gitblit v1.9.1