From 68d4b9484a3d1874703d79d87f8015998213d9a8 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 12 一月 2026 14:35:00 +0800
Subject: [PATCH] 消息通知与协同审批联动

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 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 58e188c..e7478a9 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -22,6 +22,7 @@
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysDeptMapper;
 import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.project.system.service.ISysNoticeService;
 import com.ruoyi.sales.mapper.CommonFileMapper;
 import com.ruoyi.sales.pojo.CommonFile;
 import lombok.AllArgsConstructor;
@@ -61,6 +62,7 @@
     private final ApproveProcessMapper approveProcessMapper;
     private final TempFileServiceImpl tempFileService;
     private final CommonFileMapper commonFileMapper;
+    private final ISysNoticeService sysNoticeService;
 
     @Override
     public void addApprove(ApproveProcessVO approveProcessVO) throws  Exception {
@@ -74,16 +76,14 @@
         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);
-        String approve_process = OrderUtils.countTodayByCreateTime(approveProcessMapper, "");
-//        Long approveId = dailyRedisCounter.incrementAndGetByDb();
-//        String formattedCount = String.format("%03d", approveId);
+        String today = LocalDate.now().format(DATE_FORMAT);
+        Long approveId = dailyRedisCounter.incrementAndGetByDb();
+        String formattedCount = String.format("%03d", approveId);
         //娴佺▼ ID
-//        String approveID = today + formattedCount;
+        String approveID = today + formattedCount;
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         ApproveProcess approveProcess = new ApproveProcess();
-        BeanUtils.copyProperties(approveProcessVO, approveProcess);
-        approveProcess.setApproveId(approve_process);
+        approveProcess.setApproveId(approveID);
         approveProcess.setApproveUser(approveProcessVO.getApproveUser());
         approveProcess.setApproveUserName(sysUser.getNickName());
         approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId());
@@ -91,6 +91,8 @@
         approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
         approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? null : dateFormat.parse(approveProcessVO.getApproveTime()));
         approveProcess.setApproveReason(approveProcessVO.getApproveReason());
+        approveProcess.setDeviceRepairId(approveProcessVO.getDeviceRepairId());
+        approveProcess.setMaintenancePrice(approveProcessVO.getMaintenancePrice());
         approveProcess.setApproveOverTime(null);
         approveProcess.setApproveStatus(0);
         approveProcess.setApproveDelete(0);
@@ -113,9 +115,16 @@
         }
         save(approveProcess);
         //鍒濆鍖栧鎵硅妭鐐�
-        approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(),approve_process,approveProcessVO.getApproveDeptId());
+        approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(),approveID,approveProcessVO.getApproveDeptId());
         // 闄勪欢缁戝畾
         tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
+        /*娑堟伅閫氱煡*/
+        String id = approveProcessVO.getApproveUserIds().split(",")[0];
+        sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcessVO.getApproveType()),
+                approveID+"娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+                Arrays.asList(Long.valueOf(id)),
+                approveProcessVO.getApproveDeptId(),
+                "/collaborativeApproval/approvalProcess?approveType="+approveProcessVO.getApproveType()+"&approveId="+approveID);
     }
 
     @Override
@@ -224,4 +233,27 @@
     }
 
 
+    //瀹℃壒绫诲瀷鑾峰彇(涓庡墠绔〉闈㈠搴�)
+    private String approveProcessType(Integer approveType){
+        switch (approveType){
+            case 1:
+                return "鍏嚭绠$悊";
+            case 2:
+                return "璇峰亣绠$悊";
+            case 3:
+                return "鍑哄樊绠$悊";
+            case 4:
+                return "鎶ラ攢绠$悊";
+            case 5:
+                return "閲囪喘瀹℃壒";
+            case 6:
+                return "鎶ヤ环瀹℃壒";
+            case 7:
+                return "鍑哄簱瀹℃壒";
+        }
+        return null;
+    }
+
+
+
 }

--
Gitblit v1.9.3