From 8ad863082097ffdcab4a8e7f426d344a1fe6f892 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 07 十一月 2026 00:27:02 +0800
Subject: [PATCH] 修复人员管理接口校验与导出,完善设备保养计划与文件受控功能

---
 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java
index 6984e14..f0b243e 100644
--- a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java
@@ -99,6 +99,7 @@
         manageRecordAudit.setReason(manageDocumentAlter.getAlterNote());
         manageRecordAudit.setAlterUser(SecurityUtils.getUserId().intValue());
         manageRecordAudit.setMethod("淇");
+        manageRecordAudit.setCreateTime(LocalDate.now());
         if (ObjectUtils.isNotEmpty(manageDocumentAlter.getFile())) {
             String urlString;
             String pathName;
@@ -156,7 +157,44 @@
                 return 0;
             }
         }
-        return manageDocumentAlterMapper.updateById(manageDocumentAlter);
+        int result = manageDocumentAlterMapper.updateById(manageDocumentAlter);
+        // 鍙樻洿鍐呭淇敼鍚庡悓姝ュ埌鑷姩鐢熸垚鐨勪慨璁㈣褰曪紝閬垮厤涓や釜椤甸潰鍐呭瀵逛笉涓�
+        ManageRecordAudit linkedAudit = findLinkedAudit(manageDocumentAlter1);
+        if (linkedAudit != null) {
+            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeCode())) {
+                linkedAudit.setDocumentCode(manageDocumentAlter.getAlterBeforeCode());
+            }
+            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeName())) {
+                linkedAudit.setDocumentName(manageDocumentAlter.getAlterBeforeName());
+            }
+            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeVersion())) {
+                linkedAudit.setBeforeVersion(manageDocumentAlter.getAlterBeforeVersion());
+            }
+            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterAfterVersion())) {
+                linkedAudit.setAfterVersion(manageDocumentAlter.getAlterAfterVersion());
+            }
+            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterNote())) {
+                linkedAudit.setReason(manageDocumentAlter.getAlterNote());
+            }
+            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterAfterUrl())) {
+                linkedAudit.setAfterUrl(manageDocumentAlter.getAlterAfterUrl());
+            }
+            manageRecordAuditMapper.updateById(linkedAudit);
+        }
+        return result;
+    }
+
+    // 鎸夊彉鏇村墠淇℃伅瀹氫綅鑷姩鐢熸垚鐨勯偅鏉′慨璁㈣褰�
+    private ManageRecordAudit findLinkedAudit(ManageDocumentAlter manageDocumentAlter) {
+        return manageRecordAuditMapper.selectOne(Wrappers.<ManageRecordAudit>lambdaQuery()
+                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeCode()), ManageRecordAudit::getDocumentCode, manageDocumentAlter.getAlterBeforeCode())
+                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeName()), ManageRecordAudit::getDocumentName, manageDocumentAlter.getAlterBeforeName())
+                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeVersion()), ManageRecordAudit::getBeforeVersion, manageDocumentAlter.getAlterBeforeVersion())
+                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterAfterVersion()), ManageRecordAudit::getAfterVersion, manageDocumentAlter.getAlterAfterVersion())
+                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getCreateUser()), ManageRecordAudit::getAlterUser, manageDocumentAlter.getCreateUser())
+                .eq(ManageRecordAudit::getMethod, "淇")
+                .orderByDesc(ManageRecordAudit::getId)
+                .last("limit 1"));
     }
 
     @Override
@@ -217,6 +255,8 @@
                 manageRecordAudit.setDocumentName(manageDocumentCancel.getName());
                 manageRecordAudit.setAlterThing("浣滃簾");
                 manageRecordAudit.setMethod("浣滃簾");
+                manageRecordAudit.setAlterUser(oldManageDocumentAlter.getCreateUser());
+                manageRecordAudit.setCreateTime(LocalDate.now());
                 manageRecordAuditMapper.insert(manageRecordAudit);
             }else {
                 //濡傛灉鏄瓨妗d笉鍙敤,閭e氨灏嗘枃浠舵竻鍗曠殑鐘舵�佹敼涓烘棤鏁�
@@ -235,6 +275,15 @@
         manageRecordCheck.setCheckState(manageDocumentAlter.getState());
         manageRecordCheck.setRemark(manageDocumentAlter.getAlterNote());
         manageRecordCheckMapper.insert(manageRecordCheck);
+        // 瀹℃牳閫氳繃鍚庡洖鍐欐壒鍑嗕汉锛屾枃浠朵慨璁㈢敵璇峰鎵硅褰曢噷鑳界洿鎺ョ湅鍒板鎵圭粨鏋�
+        ManageRecordAudit linkedAudit = findLinkedAudit(oldManageDocumentAlter);
+        if (linkedAudit != null
+                && "閫氳繃".equals(manageDocumentAlter.getState())
+                && linkedAudit.getRatifyUser() == null
+                && oldManageDocumentAlter.getCheckUser() != null) {
+            linkedAudit.setRatifyUser(oldManageDocumentAlter.getCheckUser());
+            manageRecordAuditMapper.updateById(linkedAudit);
+        }
         return manageDocumentAlterMapper.updateById(manageDocumentAlter);
     }
 

--
Gitblit v1.9.3