From c21cb3d8cebd9cdef4df2efa372c5b9257c713e4 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期三, 28 十月 2026 17:57:40 +0800
Subject: [PATCH] feat(device,supply,satisfaction): 设备计划后端改造、耗材存放位置与满意度照片支持

---
 cnas-device/src/main/java/com/ruoyi/device/service/DeviceExaminePlanService.java |   86 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceExaminePlanService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceExaminePlanService.java
index a468993..555152d 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceExaminePlanService.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceExaminePlanService.java
@@ -5,11 +5,14 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.device.dto.DeviceExaminePlanDetailsDto;
 import com.ruoyi.device.dto.DeviceExaminePlanDto;
+import com.ruoyi.device.pojo.Device;
+import com.ruoyi.device.pojo.DeviceExamineAttachment;
 import com.ruoyi.device.pojo.DeviceExaminePlan;
 import com.ruoyi.device.pojo.DeviceExaminePlanDetails;
 import org.springframework.web.multipart.MultipartFile;
 
 import jakarta.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * <p>
@@ -67,11 +70,13 @@
 
 
     /**
-     * 瀵煎嚭璁惧鏍告煡璁″垝
+     * 瀵煎嚭璁惧鏍告煡璁″垝锛圗xcel锛�
      * @param deviceExaminePlanId 璁惧鏍告煡璁″垝id
+     * @param deviceName 璁惧鍚嶇О绛涢�夛紙涓虹┖鏃跺鍑鸿骞翠唤鍏ㄩ儴锛�
+     * @param deviceNumber 璁惧缂栧彿绛涢�夛紙涓虹┖鏃跺鍑鸿骞翠唤鍏ㄩ儴锛�
      * @param response 鍝嶅簲
      */
-    void exportDeviceExaminePlanDetail(Integer deviceExaminePlanId, HttpServletResponse response);
+    void exportDeviceExaminePlanDetail(Integer deviceExaminePlanId, String deviceName, String deviceNumber, HttpServletResponse response);
 
     /**
      * 鎵归噺淇敼璁惧鏍告煡璁″垝
@@ -86,4 +91,81 @@
      * @return
      */
     DeviceExaminePlanDto getDeviceExaminePlan(Integer planId);
+
+    /**
+     * 鎸夊勾浠芥煡璇㈣澶囨牳鏌ヨ鍒掞紙涓嶅瓨鍦ㄥ垯鑷姩鍒涘缓锛夛紝骞惰嚜鍔ㄨˉ鍏ㄥ凡鍒扮偣鐨勮澶囨槑缁�
+     * @param planYear 骞翠唤
+     * @return 璁″垝涓昏〃淇℃伅
+     */
+    DeviceExaminePlanDto getOrCreatePlanByYear(String planYear);
+
+    /**
+     * 鏍告煡璁″垝骞翠唤鍒楄〃锛氬垹闄ゆ病鏈変换浣曟槑缁嗙殑绌哄勾浠借鍒掑悗锛岃繑鍥炴湁鏄庣粏鐨勫勾浠斤紙鍊掑簭锛�
+     * @return 骞翠唤鍒楄〃
+     */
+    List<String> getExaminePlanYears();
+
+    /**
+     * 璁惧妗f鍙樻洿鍚庯紝绔嬪嵆鎶婅澶囩櫥璁板埌涓嬫鏍告煡鏃ユ湡鎵�鍦ㄥ勾浠界殑璁惧鏍告煡璁″垝鏄庣粏
+     * @param device 璁惧
+     */
+    void syncDeviceExamineDetail(Device device);
+
+    /**
+     * 鏍告煡璁板綍澶嶆牳閫氳繃鍚庯紝婊氬姩璁惧妗f鐨勬渶杩�/涓嬫鏍告煡鏃ユ湡锛屽苟鐧昏涓嬩竴杞鍒�
+     * @param planDetailsId 璁″垝鏄庣粏id
+     */
+    void updateDeviceExamineDate(Integer planDetailsId);
+
+    /**
+     * 涓烘寚瀹氳澶囨壘涓�鏉″彲褰曞叆鏍告煡璁板綍鐨勮鍒掓槑缁嗭紝娌℃湁鍒欐柊澧炴湰杞槑缁�
+     * @param deviceId 璁惧id
+     * @param checkTime 鏍告煡鏈堜唤锛坹yyy-MM锛夛紝鍐冲畾鏄庣粏鎵�灞炵殑璁″垝骞翠唤
+     * @return 璁″垝鏄庣粏
+     */
+    DeviceExaminePlanDetails resolveExaminePlanDetail(Integer deviceId, String checkTime);
+
+    /**
+     * 鏌ユ壘鎸囧畾璁惧鍙鐢ㄧ殑鏍告煡璁板綍璁″垝鏄庣粏锛堝彧鏌ヨ锛屼笉鏂板璁″垝鎴栨槑缁嗭級
+     * @param deviceId 璁惧id
+     * @param checkTime 鏍告煡鏈堜唤锛坹yyy-MM锛�
+     * @return 鍙鐢ㄧ殑璁″垝鏄庣粏锛屾病鏈夋椂杩斿洖 null
+     */
+    DeviceExaminePlanDetails findExaminePlanDetail(Integer deviceId, String checkTime);
+
+    /**
+     * 淇敼璁″垝鏄庣粏锛堟牳鏌ユ湀浠借法骞存椂褰掑埌瀵瑰簲骞翠唤鐨勮鍒掞級
+     * @param detail 璁″垝鏄庣粏
+     * @return 鏄惁淇敼鎴愬姛
+     */
+    boolean updateExaminePlanDetail(DeviceExaminePlanDetails detail);
+
+    /**
+     * 鍒犻櫎璁″垝鏄庣粏锛堝凡鏈夋牳鏌ヨ褰曠殑涓嶅厑璁稿垹闄わ級
+     * @param planDetailsId 璁″垝鏄庣粏id
+     * @return 鏄惁鍒犻櫎鎴愬姛
+     */
+    boolean removeExaminePlanDetail(Integer planDetailsId);
+
+    /**
+     * 鏌ヨ鏍告煡璁板綍鐨勯檮浠跺垪琛�
+     * @param planDetailsId 璁″垝鏄庣粏id
+     * @return 闄勪欢鍒楄〃
+     */
+    List<DeviceExamineAttachment> selectAttachments(Integer planDetailsId);
+
+    /**
+     * 涓婁紶鏍告煡璁板綍鐨勯檮浠讹紙鏀寔浠绘剰鏍煎紡锛屽彲澶氫釜锛�
+     * @param planDetailsId 璁″垝鏄庣粏id
+     * @param file 鏂囦欢
+     * @return 闄勪欢淇℃伅
+     */
+    DeviceExamineAttachment uploadAttachment(Integer planDetailsId, MultipartFile file);
+
+    /**
+     * 鍒犻櫎鏍告煡璁板綍鐨勯檮浠�
+     * @param id 闄勪欢id
+     * @return 鏄惁鍒犻櫎鎴愬姛
+     */
+    boolean deleteAttachment(Long id);
 }

--
Gitblit v1.9.3