From 6d5ce70c3e2b536c8e4b74269be70029a57cb1cc Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 11 五月 2026 15:36:32 +0800
Subject: [PATCH] feat(approve): 使用通用工具类优化审批流程ID生成逻辑

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 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 af8fe1d..f0b6222 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -16,6 +16,7 @@
 import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
 import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.other.service.impl.TempFileServiceImpl;
 import com.ruoyi.project.system.domain.SysDept;
 import com.ruoyi.project.system.domain.SysNotice;
@@ -85,14 +86,11 @@
         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();
-        String formattedCount = String.format("%03d", approveId);
-        //娴佺▼ ID
-        String approveID = today + formattedCount;
+
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         ApproveProcess approveProcess = new ApproveProcess();
-        approveProcess.setApproveId(approveID);
+        String no = OrderUtils.countTodayByCreateTime(approveProcessMapper, "", "approve_id");
+        approveProcess.setApproveId(no);
         approveProcess.setApproveUser(approveProcessVO.getApproveUser());
         approveProcess.setApproveUserName(sysUser.getNickName());
         approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId());
@@ -120,8 +118,8 @@
                 .getNickName());
         approveProcess.setStorageType(approveProcessVO.getStorageType());
         approveProcess.setInventoryReview(approveProcessVO.isInventoryReview());
-        approveProcess.setInventoryReview(approveProcessVO.isInventoryReview());
         approveProcess.setRecordId(approveProcessVO.getRecordId());
+        approveProcess.setPurchaseLedgerId(approveProcessVO.getPurchaseLedgerId());
         // 璁剧疆鐘舵�佷负閲嶆柊鎻愪氦
         if (approveProcessVO.getId() != null) {
             ApproveProcess approveProcess1 = approveProcessMapper.selectById(approveProcessVO.getId());
@@ -130,7 +128,7 @@
         }
         save(approveProcess);
         //鍒濆鍖栧鎵硅妭鐐�
-        approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(), approveID, approveProcessVO.getApproveDeptId());
+        approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(), no, approveProcessVO.getApproveDeptId(),approveProcess.getId());
         // 闄勪欢缁戝畾
         tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
         /*娑堟伅閫氱煡*/
@@ -336,7 +334,7 @@
 //                .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
                 .orderByAsc(ApproveNode::getApproveNodeOrder);
         approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
-        approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approveProcess.getApproveId(), approveProcess.getTenantId());
+        approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approveProcess.getApproveId(), approveProcess.getTenantId(),null);
         /*娑堟伅閫氱煡*/
         String id = approveProcess.getApproveUserIds().split(",")[0];
         if (approveProcess.getApproveType() == 8) {
@@ -383,7 +381,7 @@
 //                .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
                 .orderByAsc(ApproveNode::getApproveNodeOrder);
         approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
-        approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approve.getApproveId(), approve.getTenantId());
+        approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approve.getApproveId(), approve.getTenantId(),approve.getId());
 
 //        int i = 0;
 //        for (ApproveNode approveNode : list) {
@@ -440,6 +438,8 @@
                 return "鍗遍櫓浣滀笟瀹℃壒";
             case 9:
                 return "鍏ュ簱瀹℃壒";
+            case 10:
+                return "閫氱煡";
         }
         return null;
     }

--
Gitblit v1.9.3