From 60afc1c228318d136a273cd0b389217f87583277 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 11 十月 2025 11:29:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationsServiceImpl.java | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationsServiceImpl.java index 3748ef0..ffb53ed 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationsServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationsServiceImpl.java @@ -14,6 +14,8 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Objects; @@ -51,4 +53,22 @@ app.setDeptName(dept.getDeptName()); } } + + @Override + public String generateApplicationCode(String prefix) { + String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + + // 查询当天已生成的申请单号数量 + Long count = this.lambdaQuery() + .likeRight(OaApprovalApplications::getApplicationCode, prefix) + .ge(OaApprovalApplications::getCreateTime, LocalDate.now().atStartOfDay()) + .lt(OaApprovalApplications::getCreateTime, LocalDate.now().plusDays(1).atStartOfDay()) + .count(); + + // 生成4位序号,从0001开始 + int sequence = (count != null ? count.intValue() : 0) + 1; + String sequenceStr = String.format("%04d", sequence); + + return prefix + dateStr + sequenceStr; + } } -- Gitblit v1.7.1