From 78965e1795d42d6a0c4d6f233838ebe06c28da76 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 19 十二月 2024 08:51:34 +0800
Subject: [PATCH] 查询站点的检验时长调整

---
 inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java          |    2 +-
 inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml                  |   11 +++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java |   17 ++++++++++++++---
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java      |    2 ++
 4 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
index 7b292bf..7f99803 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
@@ -24,4 +24,6 @@
 
 
     IPage<InsOrderUserDto> selectInsOrderUserDto(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("sonLaboratory") String sonLaboratory, Page page);
+
+    IPage<InsOrderUserDto> selectInsOrderUserDto2(@Param("id") Integer id, Page page);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java
index 156be51..e9ecc0a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java
@@ -33,5 +33,5 @@
     Map<Object, Double> manHourByPerson(String startTime, String endTime,String sonLaboratory);
 
     //鏌ヨ绔欑偣鐨勬楠屾椂闀�
-    IPage<InsOrderUserDto> timeByStation(String startTime, String endTime, Page page, String sonLaboratory);
+    Map<String, IPage<InsOrderUserDto>> timeByStation(String startTime, String endTime, Page page, String sonLaboratory);
 }
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..f061cc7 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,23 @@
     }
 
     @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));
+            for (InsOrderState insOrderState : insOrderStates) {
+                IPage<InsOrderUserDto> insOrderUserDtoIPage = insOrderUserMapper.selectInsOrderUserDto2(insOrderState.getId(), page);
+                map.put(insOrderState.getLaboratory(), insOrderUserDtoIPage);
+            }
+        }
+        return map;
     }
 }
diff --git a/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
index 0fa9698..697c500 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
@@ -31,4 +31,15 @@
         where ios.laboratory = #{sonLaboratory}
           and ios.create_time BETWEEN #{start} AND #{end}
     </select>
+    <select id="selectInsOrderUserDto2" resultType="com.yuanchu.mom.dto.InsOrderUserDto">
+        select iou.num,
+               ios.laboratory                                               sonLaboratory,
+               sample_code,
+               sample                                                       sampleName,
+               IFNULL(TIMESTAMPDIFF(HOUR, iou.ins_time, submit_time), 0) AS hours
+        from ins_order_user iou
+                 left join ins_order_state ios on iou.ins_order_state_id = ios.id
+                 left join ins_sample isa on ios.ins_sample_id = isa.id
+        where ios.id= #{id}
+    </select>
 </mapper>

--
Gitblit v1.9.3