From 2f07589b54d56085af77b50d580890cd4130b444 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 19 十月 2026 15:19:53 +0800
Subject: [PATCH] 设备模块后端业务规则、计划接口与日期联动

---
 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceBorrowServiceImpl.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceBorrowServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceBorrowServiceImpl.java
index a402359..05cdbd0 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceBorrowServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceBorrowServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.numgen.NumberGenerator;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -75,6 +76,21 @@
             deviceLogMapper.insert(deviceLog);
         } else {
             DeviceBorrow borrow = deviceBorrowMapper.selectById(deviceBorrow.getId());
+            if (borrow == null) {
+                throw new ServiceException("鍗曟嵁涓嶅瓨鍦�");
+            }
+            if ("鍏抽棴".equals(borrow.getNowState())) {
+                throw new ServiceException("璇ユ祦绋嬪凡缁撴潫锛屼笉鑳藉啀鎿嶄綔");
+            }
+            String expectedUser = null;
+            if ("褰掕繕".equals(borrow.getNowState())) {
+                expectedUser = borrow.getNowUser();
+            } else if ("鍊熷嚭".equals(borrow.getNowState())) {
+                expectedUser = borrow.getSubmitOperationUser();
+            }
+            if (expectedUser != null && !expectedUser.isBlank() && !expectedUser.equals(user.getName())) {
+                throw new ServiceException("鎮ㄤ笉鏄綋鍓嶇幆鑺傝矗浠讳汉锛屾棤鏉冩搷浣�");
+            }
             deviceBorrowMapper.updateById(deviceBorrow);
             //閫氳繃鎴栬�呴┏鍥炲鍔犳祦绋嬭窡韪�
             if (deviceBorrow.getNowState().equals("鍏抽棴")) {

--
Gitblit v1.9.3