From 6b48f5ac49de310c2e339b4e2fbfd2ccf42e1211 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 23 六月 2026 18:36:27 +0800
Subject: [PATCH] fix: 审批人出现重复问题
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index 176973f..90ba6df 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -105,8 +105,15 @@
if (CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
if (sysDept == null) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
if (sysUser == null) throw new RuntimeException("鐢宠浜轰笉瀛樺湪");
- String today = LocalDate.now().format(DATE_FORMAT);
- Long approveId = dailyRedisCounter.incrementAndGetByDb();
+ LocalDate targetDate = LocalDate.now();
+ if (!StringUtils.isEmpty(approveProcessVO.getApproveTime())) {
+ try {
+ targetDate = LocalDate.parse(approveProcessVO.getApproveTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ } catch (Exception e) {
+ }
+ }
+ String today = targetDate.format(DATE_FORMAT);
+ Long approveId = dailyRedisCounter.incrementAndGetByDb(targetDate);
String formattedCount = String.format("%03d", approveId);
//娴佺▼ ID
String approveID = today + formattedCount;
@@ -129,7 +136,15 @@
approveProcess.setApproveStatus(0);
approveProcess.setApproveDelete(0);
approveProcess.setApproveType(approveProcessVO.getApproveType());
- approveProcess.setCreateTime(LocalDateTime.now());
+ LocalDateTime createDateTime = LocalDateTime.now();
+ if (!StringUtils.isEmpty(approveProcessVO.getApproveTime())) {
+ try {
+ createDateTime = LocalDate.parse(approveProcessVO.getApproveTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ approveProcess.setCreateTime(createDateTime);
approveProcess.setTenantId(approveProcessVO.getApproveDeptId());
approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds());
approveProcess.setApproveUserCurrentId(longList.get(0));
@@ -581,6 +596,7 @@
approveProcess.setApproveStatus(approveGetAndUpdateVo.getApproveStatus());
}
approveProcess.setApproveUserIds(approveGetAndUpdateVo.getApproveUserIds());
+ approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
updateById(approveProcess);
//淇敼瀹℃壒浜�
// 鍏堝垹闄� 鍚庢柊澧�
@@ -630,6 +646,7 @@
approve.setApproveUserCurrentId(Long.parseLong(split[0]));
approve.setApproveUserCurrentName(sysUsers.stream().filter(user -> user.getUserId().equals(Long.parseLong(split[0]))).collect(Collectors.toList()).get(0).getNickName());
}
+ approve.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
updateById(approve);
//淇敼瀹℃壒浜�
// 鍏堝垹闄� 鍚庢柊澧�
--
Gitblit v1.9.3