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-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
index 814664f..ce9d3c9 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.personnel.dto.PersonPersonnelCapacityDto;
 import com.ruoyi.personnel.pojo.PersonPersonnelCapacity;
 import com.ruoyi.personnel.service.PersonPersonnelCapacityService;
@@ -36,6 +37,18 @@
     @Operation(summary = "鏂板/鏇存柊 浜哄憳鑳藉姏")
     @PostMapping("addOrUpdatePersonPersonnelCapacity")
     public Result<?> addOrUpdatePersonPersonnelCapacity(@RequestBody PersonPersonnelCapacity personPersonnelCapacity) {
+        if (personPersonnelCapacity == null || personPersonnelCapacity.getUserId() == null) {
+            throw new ErrorException("缂哄皯浜哄憳");
+        }
+        if (personPersonnelCapacity.getId() != null) {
+            PersonPersonnelCapacity existing = personPersonnelCapacityService.getById(personPersonnelCapacity.getId());
+            if (existing == null) {
+                throw new ErrorException("浜哄憳鑳藉姏璁板綍涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎");
+            }
+            if (existing.getConfirmDate() != null) {
+                throw new ErrorException("璇ヨ褰曞凡纭锛屼笉鑳戒慨鏀�");
+            }
+        }
         personPersonnelCapacityService.saveOrUpdate(personPersonnelCapacity);
         return Result.success();
     }
@@ -43,7 +56,16 @@
     @Operation(summary = "鍒犻櫎 浜哄憳鑳藉姏")
     @DeleteMapping("deletePersonPersonnelCapacity")
     public Result<?> deletePersonPersonnelCapacity(@RequestParam("id") Integer id) {
-        // 鍒犻櫎鏁版嵁
+        if (id == null) {
+            throw new ErrorException("缂哄皯浜哄憳鑳藉姏璁板綍id");
+        }
+        PersonPersonnelCapacity existing = personPersonnelCapacityService.getById(id);
+        if (existing == null) {
+            throw new ErrorException("浜哄憳鑳藉姏璁板綍涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎");
+        }
+        if (existing.getConfirmDate() != null) {
+            throw new ErrorException("璇ヨ褰曞凡纭锛屼笉鑳藉垹闄�");
+        }
         personPersonnelCapacityService.removeById(id);
         return Result.success();
     }
@@ -60,11 +82,24 @@
     @Operation(summary = "纭 浜哄憳鑳藉姏")
     @PostMapping("confirmPersonnelCapability")
     public Result<?> confirmPersonnelCapability(@RequestBody PersonPersonnelCapacity personPersonnelCapacity) {
+        if (personPersonnelCapacity == null || personPersonnelCapacity.getId() == null) {
+            throw new ErrorException("缂哄皯浜哄憳鑳藉姏璁板綍id");
+        }
+        PersonPersonnelCapacity record = personPersonnelCapacityService.getById(personPersonnelCapacity.getId());
+        if (record == null) {
+            throw new ErrorException("浜哄憳鑳藉姏璁板綍涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎");
+        }
+        if (record.getConfirmDate() != null) {
+            throw new ErrorException("璇ヨ褰曞凡纭锛岃鍕块噸澶嶇‘璁�");
+        }
         Integer userId = SecurityUtils.getUserId().intValue();
+        if (record.getConfirmOperatingPersonnelId() == null
+                || !record.getConfirmOperatingPersonnelId().equals(userId)) {
+            throw new ErrorException("鎮ㄤ笉鏄璁板綍鎸囧畾鐨勭‘璁や汉锛屾棤娉曠‘璁�");
+        }
         personPersonnelCapacityService.update(Wrappers.<PersonPersonnelCapacity>lambdaUpdate()
-                .eq(PersonPersonnelCapacity::getId, personPersonnelCapacity.getId())
-                .set(PersonPersonnelCapacity::getConfirmOperatingPersonnelId, userId)
-                .set(PersonPersonnelCapacity::getConfirmDate, personPersonnelCapacity.getConfirmDate()));
+                .eq(PersonPersonnelCapacity::getId, record.getId())
+                .set(PersonPersonnelCapacity::getConfirmDate, LocalDateTime.now()));
         return Result.success();
     }
 

--
Gitblit v1.9.3