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/DeviceMaintenancePlanService.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java
index cfa3ab3..f227086 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java
@@ -4,10 +4,15 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.device.dto.DeviceMaintenancePlanDetailsDto;
 import com.ruoyi.device.dto.DeviceMaintenancePlanDto;
+import com.ruoyi.device.pojo.Device;
 import com.ruoyi.device.pojo.DeviceMaintenancePlan;
+import com.ruoyi.device.pojo.DeviceMaintenancePlanDetails;
 
 import jakarta.servlet.http.HttpServletResponse;
+import java.time.LocalDate;
+import java.util.List;
 
 /**
  * <p>
@@ -76,4 +81,59 @@
      */
     Result reviewMaintenancePlanStatus(DeviceMaintenancePlanDto deviceMaintenancePlanDto);
 
+    /**
+     * 鎸夊勾浠芥煡璇㈣澶囦繚鍏昏鍒掞紙涓嶅瓨鍦ㄥ垯鑷姩鍒涘缓锛夛紝骞惰嚜鍔ㄨˉ鍏ㄥ凡鍒扮偣鐨勮澶囨槑缁�
+     * @param planYear 璁″垝骞翠唤
+     * @return 璁惧淇濆吇璁″垝
+     */
+    DeviceMaintenancePlanDto getOrCreatePlanByYear(String planYear);
+
+    /**
+     * 淇濆吇璁″垝骞翠唤鍒楄〃锛氬垹闄ゆ病鏈変换浣曟槑缁嗙殑绌哄勾浠借鍒掑悗锛岃繑鍥炴湁鏄庣粏鐨勫勾浠斤紙鍊掑簭锛�
+     * @return 骞翠唤鍒楄〃
+     */
+    List<String> getMaintenancePlanYears();
+
+    /**
+     * 璁惧妗f鍙樻洿鍚庯紝绔嬪嵆鎶婅澶囩櫥璁板埌涓嬫淇濆吇鏃ユ湡鎵�鍦ㄥ勾浠界殑璁惧淇濆吇璁″垝鏄庣粏
+     * @param device 璁惧
+     */
+    void syncDeviceMaintenanceDetail(Device device);
+
+    /**
+     * 瀹℃牳閫氳繃鍚庯紝鎸夊鏍搁�氳繃褰撳ぉ婊氬姩璁惧妗f鐨勬渶杩�/涓嬫淇濆吇鏃ユ湡
+     * @param deviceId 璁惧id
+     * @param maintenanceDate 淇濆吇瀹屾垚鏃ユ湡锛堝鏍搁�氳繃褰撳ぉ锛�
+     */
+    void updateDeviceMaintenanceDate(Integer deviceId, LocalDate maintenanceDate);
+
+    /**
+     * 瀹℃牳閫氳繃鍚庯紝鎶婅鍒掓槑缁嗗綊鍒板鏍稿畬鎴愬勾浠界殑璁″垝涓嬶紙鎻愬墠瀹屾垚鐨勬槑缁嗕笉鍐嶇暀鍦ㄥ師璁″垝骞翠唤锛�
+     * @param maintenancePlanDetailId 淇濆吇璁″垝鏄庣粏id
+     * @param reviewDate 瀹℃牳瀹屾垚鏃ユ湡
+     */
+    void reclassifyMaintenanceDetailByReviewDate(Integer maintenancePlanDetailId, LocalDate reviewDate);
+
+    /**
+     * 鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝璇︽儏锛堝惈鍒扮偣鏍囩孩锛�
+     */
+    IPage<DeviceMaintenancePlanDetailsDto> pageMaintenancePlanDetail(Page page, Integer planId, String deviceName, String deviceNumber);
+
+    /**
+     * 涓轰繚鍏昏褰曟壘涓�鏉″彲鍏宠仈鐨勮鍒掓槑缁嗭紱娌℃湁鍙敤鏄庣粏鏃跺湪褰撳墠骞村害璁″垝鏂板鏈疆鏄庣粏
+     * @param deviceId 璁惧id
+     * @param maintenancePlanDetailId 鎸囧畾鐨勮鍒掓槑缁唅d锛屼负绌哄垯鑷姩鍖归厤
+     * @param maintenanceDate 淇濆吇鏃ユ湡
+     */
+    DeviceMaintenancePlanDetails resolveMaintenancePlanDetail(Integer deviceId, Integer maintenancePlanDetailId, LocalDate maintenanceDate);
+
+    /**
+     * 淇敼璁惧淇濆吇璁″垝璇︽儏锛堝凡瀹℃牳鐨勬槑缁嗕笉鍏佽淇敼锛�
+     */
+    boolean updateMaintenancePlanDetail(DeviceMaintenancePlanDetails detail);
+
+    /**
+     * 鍒犻櫎璁惧淇濆吇璁″垝璇︽儏锛涘凡鍑哄鏍哥粨鏋滅殑璁板綍闅忓巻鍙茬暀妗o紝鏈鏍哥殑璁板綍闅忔槑缁嗕竴璧峰垹闄�
+     */
+    boolean removeMaintenancePlanDetail(Integer maintenancePlanDetailId);
 }

--
Gitblit v1.9.3