From bb7f1da14d43246731dc7a5037a243f8a14a3567 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 23 六月 2026 13:12:07 +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 6ccf2a6..dc55afd 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));
@@ -613,6 +628,8 @@
         BeanUtils.copyProperties(approveGetAndUpdateVo, approve);
         approve.setApproveUserIds(approveGetAndUpdateVo.getApproveUserIds());
         approve.setApproveReason(approveGetAndUpdateVo.getApproveReason());
+        approve.setStartDate(approveGetAndUpdateVo.getStartDate());
+        approve.setEndDate(approveGetAndUpdateVo.getEndDate());
         SysUser sysUser = sysUserMapper.selectUserById(approveGetAndUpdateVo.getApproveUser());
         String[] split = approveGetAndUpdateVo.getApproveUserIds().split(",");
         if (split.length == 0) {

--
Gitblit v1.9.3