From fea22e82e7e49691f6e0c20a29b228d0ab3173e9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 29 十月 2025 17:08:38 +0800
Subject: [PATCH] 修改问题

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index a138de8..99411d5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -1303,10 +1303,23 @@
         }
 
         // 鏄惁鎶ュ
-        boolean hasReport = new LambdaQueryChainWrapper<>(reportMapper)
-                .eq(Report::getSerialNumber, workOrder.getSerialNumber())
-                .exists();
-        workOrder.setHasReport(hasReport);
+        Date target = workOrder.getCreateTime();
+
+        Report reports = new LambdaQueryChainWrapper<>(reportMapper)
+                .eq(Report::getSerialNumber,workOrder.getWorkOrderNo())
+                .eq(Report::getStatus,1)
+                .orderByDesc(Report::getCreateTime)
+                .last("LIMIT 1")
+                .one();
+        boolean isInRange = false;
+        if (reports != null){
+            Date start = reports.getBeginCreateTime();
+            Date end = reports.getEndCreateTime();
+            isInRange = target.after(start) || target.equals(start)  // target >= start
+                    && target.before(end) || target.equals(end);
+        }
+
+        workOrder.setHasReport(isInRange);
         // 鏁呴殰绫诲瀷
         List<SysDictData> errorList = workOrderErrorTypeService.getBaseMapper().getErrorList(workOrder.getWorkOrderNo());
         List<String> errList = errorList.stream().map(SysDictData::getDictLabel).collect(Collectors.toList());

--
Gitblit v1.8.0