From abd339106ed3a6465293edccd33e5f87bd43bdde Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 20 十月 2026 18:01:42 +0800
Subject: [PATCH] feat: 质量监控/人员培训对齐程序文件,体系文件控制附件格式放开

---
 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java |   58 ++++++++++++++++++++++------------------------------------
 1 files changed, 22 insertions(+), 36 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
index bf60509..b27630c 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
@@ -211,7 +211,7 @@
      * @return
      */
     @Override
-    public boolean importQualityMonitor(MultipartFile file, QualityMonitor monitor) {
+    public QualityMonitor importQualityMonitor(MultipartFile file, QualityMonitor monitor) {
         // 褰撳墠鐧诲綍鐢ㄦ埛
         Integer userId = SecurityUtils.getUserId().intValue();
         // 鏂囦欢鍚嶇О
@@ -226,39 +226,10 @@
         qualityMonitor.setWriteUserId(userId);
         qualityMonitor.setExamineUserId(monitor.getExamineUserId());
         qualityMonitor.setWriteTime(LocalDateTime.now());
-        qualityMonitor.setWorkflowStatus("PENDING_REVIEW");
+        // 瀵煎叆鍙敓鎴愯崏绋匡紝瀵煎叆鐨勮川鎺ч」鐩繕闇�瑕佽ˉ鍏ㄦ娴嬫爣鍑嗐�佹娴嬪憳绛変俊鎭紱
+        // 瀹℃牳閫氱煡鍦ㄧ紪鍒朵汉鐐瑰嚮鈥滄彁浜ゅ鏍糕�濇椂缁熶竴鍙戦�併��
+        qualityMonitor.setWorkflowStatus("DRAFT");
         baseMapper.insert(qualityMonitor);
-
-        User user = userMapper.selectById(userId);
-        // 娑堟伅鍙戦��
-        InformationNotification info = new InformationNotification();
-        // 鍙戦�佷汉
-        info.setCreateUser(user.getName());
-        info.setMessageType("6");
-        info.setTheme("CNAS璐ㄩ噺鐩戞帶璁″垝瀹℃牳閫氱煡");
-        info.setContent(fileName + "璐ㄩ噺鐩戞帶璁″垝寰呭鏍�");
-        info.setSenderId(userId);
-        // 鎺ユ敹浜�
-        info.setConsigneeId(monitor.getExamineUserId());
-        info.setJumpPath(MenuJumpPathConstants.QUALITY_MONITOR);
-        informationNotificationService.addInformationNotification(info);
-
-        // 鍙戦�佷紒涓氬井淇¢�氱煡
-        threadPoolTaskExecutor.execute(() -> {
-            // 鏌ヨ鍙戦�佷汉
-            User people = userMapper.selectById(monitor.getExamineUserId());
-            String message = "";
-            message += "CNAS璐ㄩ噺鐩戞帶璁″垝瀹℃牳閫氱煡";
-            message += "\n璇峰幓杩囩▼瑕佹眰-璐ㄩ噺鐩戞帶璁″垝";
-            message += "\n" + fileName + "璐ㄩ噺鐩戞帶璁″垝寰呭鏍�";
-            //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡
-            try {
-                WxCpUtils.inform(people.getAccount(), message, null);
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
-        });
-
 
         List<QualityMonitorDetails> detailsUploadList = new ArrayList<>();
 
@@ -277,6 +248,7 @@
                         // 瀵硅薄澶嶅埗
                     QualityMonitorDetails monitorDetails = new QualityMonitorDetails();
                     BeanUtils.copyProperties(detailsUpload, monitorDetails);
+                    monitorDetails.setMonitorWay(normalizeMonitorWay(detailsUpload.getMonitorWay()));
                     monitorDetails.setQualityMonitorId(qualityMonitor.getQualityMonitorId());
                     if (!detailsUpload.getCompletionMonth().matches("\\d{4}-\\d{2}")) {
                         throw new ErrorException("瀹屾垚鏃堕檺鏍煎紡搴斾负yyyy-MM");
@@ -303,7 +275,21 @@
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-        return true;
+        return qualityMonitor;
+    }
+
+    /**
+     * 璐ㄦ帶鏂瑰紡缁熶竴鐢ㄢ�溿�佲�濆垎闅旓紝鍏煎瀵煎叆妯℃澘閲屽父瑙佺殑閫楀彿/鍒嗗彿鍐欐硶銆�
+     */
+    private String normalizeMonitorWay(String value) {
+        if (StringUtils.isBlank(value)) {
+            return value;
+        }
+        return java.util.Arrays.stream(value.split("[銆�,锛�;锛沒"))
+                .map(String::trim)
+                .filter(StringUtils::isNotBlank)
+                .distinct()
+                .collect(Collectors.joining("銆�"));
     }
 
     /**
@@ -657,7 +643,7 @@
         try {
             response.setContentType("application/msword");
             String fileName = URLEncoder.encode(
-                    "璐ㄩ噺鐩戞帶瀹炴柦璁″垝", "UTF-8");
+                    "璐ㄩ噺鎺у埗鎺柦", "UTF-8");
             response.setHeader("Content-disposition",
                     "attachment;filename=" + fileName + ".docx");
             OutputStream os = response.getOutputStream();
@@ -871,7 +857,7 @@
         try {
             response.setContentType("application/msword");
             String fileName = URLEncoder.encode(
-                    "鐩戞帶璇勪环", "UTF-8");
+                    "璐ㄩ噺鎺у埗璇勪环璁板綍", "UTF-8");
             response.setHeader("Content-disposition",
                     "attachment;filename=" + fileName + ".docx");
             OutputStream os = response.getOutputStream();

--
Gitblit v1.9.3