From f770e38deeea8eb543c1a8c740198d3778c65262 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期三, 27 五月 2026 17:47:10 +0800
Subject: [PATCH] feat 页面显示巡检状态

---
 src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
index 14501fd..c8a3f9a 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -239,33 +239,45 @@
 
     /**
      * 璁$畻宸℃浠诲姟鐘舵��
-     * 浼樺厛绾э細宸茶繃鏈� > 宸℃涓� > 寰呭贰妫�
+     * 浼樺厛绾э細宸插畬鎴愬贰妫� > 宸℃涓�(宸茶繃鏈�) > 宸℃涓� > 宸茶繃鏈� > 寰呭贰妫�
      * @param inspectionTask 宸℃浠诲姟
      * @param timingTaskMap 瀹氭椂浠诲姟Map
      * @param now 褰撳墠鏃堕棿
-     * @return 鐘舵�侊細EXPIRED-宸茶繃鏈燂紝IN_PROGRESS-宸℃涓紝PENDING-寰呭贰妫�
+     * @return 鐘舵�侊細COMPLETED-宸插畬鎴愬贰妫�锛孖N_PROGRESS_EXPIRED-宸℃涓�(宸茶繃鏈�)锛孖N_PROGRESS-宸℃涓紝EXPIRED-宸茶繃鏈燂紝PENDING-寰呭贰妫�
      */
     private String calculateStatus(InspectionTask inspectionTask, Map<Long, TimingTask> timingTaskMap, LocalDateTime now) {
-        // 1. 鍒ゆ柇鏄惁宸茶繃鏈�
+        if(inspectionTask.getTimingTaskId() == null){
+            return "EXPIRED";
+        }
+        boolean isExpired = false;
+        // 鍒ゆ柇鏄惁宸茶繃鏈�
         if (inspectionTask.getTimingTaskId() != null) {
             TimingTask timingTask = timingTaskMap.get(inspectionTask.getTimingTaskId());
             if (timingTask != null && timingTask.getNextExecutionTime() != null) {
-                if (now.isAfter(timingTask.getNextExecutionTime())) {
-                    return "EXPIRED";
-                }
+                isExpired = now.isAfter(timingTask.getNextExecutionTime());
             }
-        }else {
-            return "EXPIRED";
+        }
+
+        // 1. 鍒ゆ柇鏄惁宸插畬鎴愬贰妫�锛堜笁涓紓甯稿瓧娈甸兘涓嶄负null锛�
+        if (inspectionTask.getHasExceptionBefore() != null
+                && inspectionTask.getHasExceptionAfter() != null
+                && inspectionTask.getHasExceptionIssue() != null) {
+            return "COMPLETED";
         }
 
         // 2. 鍒ゆ柇鏄惁宸℃涓紙浠讳竴寮傚父瀛楁涓嶄负null锛�
         if (inspectionTask.getHasExceptionBefore() != null
                 || inspectionTask.getHasExceptionAfter() != null
                 || inspectionTask.getHasExceptionIssue() != null) {
-            return "IN_PROGRESS";
+            return isExpired ? "IN_PROGRESS_EXPIRED" : "IN_PROGRESS";
         }
 
-        // 3. 寰呭贰妫�
+        // 3. 宸茶繃鏈�
+        if (isExpired) {
+            return "EXPIRED";
+        }
+
+        // 4. 寰呭贰妫�
         return "PENDING";
     }
 

--
Gitblit v1.9.3