From bcc80a6833abe9f24abdb978f7c7f01b664a574f Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 18 二月 2025 14:48:45 +0800
Subject: [PATCH] 优化调整

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java
index b8aa0ad..00943f6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java
@@ -420,12 +420,25 @@
     }
 
     @Override
-    public IPage<InsOrderUserDto> timeByStation(String startTime, String endTime, Page page, String sonLaboratory) {
+    public Map<String, IPage<InsOrderUserDto>> timeByStation(String startTime, String endTime, Page page, String sonLaboratory) {
         DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDateTime start = LocalDate.parse(startTime, format).atStartOfDay();
         LocalDateTime end = LocalDate.parse(endTime, format).atTime(23, 59, 59);
+        Map<String, IPage<InsOrderUserDto>> map = new HashMap<>();
         //鏌ヨ杩欎釜鏃堕棿鍐呮墍鏈夋楠屼换鍔�
-        IPage<InsOrderUserDto> insOrderUserDtoIPage = insOrderUserMapper.selectInsOrderUserDto(start,end,sonLaboratory, page);
-        return insOrderUserDtoIPage;
+        if (ObjectUtils.isNotEmpty(sonLaboratory)) {
+            IPage<InsOrderUserDto> insOrderUserDtoIPage = insOrderUserMapper.selectInsOrderUserDto(start, end, sonLaboratory, page);
+            map.put(sonLaboratory, insOrderUserDtoIPage);
+        }else {
+            List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
+                    .between(InsOrderState::getCreateTime, start, end));
+            Map<String, List<InsOrderState>> listMap = insOrderStates.stream().collect(Collectors.groupingBy(InsOrderState::getLaboratory));
+            for (Map.Entry<String, List<InsOrderState>> entry : listMap.entrySet()) {
+                List<Integer> ids = entry.getValue().stream().map(InsOrderState::getId).collect(Collectors.toList());
+                IPage<InsOrderUserDto> insOrderUserDtoIPage = insOrderUserMapper.selectInsOrderUserDto2(ids, new Page(1,9));
+                map.put(entry.getKey(), insOrderUserDtoIPage);
+            }
+        }
+        return map;
     }
 }

--
Gitblit v1.9.3