From 9f1c4e5ef6f82e111400fe2f292453583aa2155e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 25 三月 2025 12:12:47 +0800
Subject: [PATCH] 报告分页查询新增委托编号和样品编号

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 14 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 3792a83..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
@@ -6,16 +6,16 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.common.GetLook;
-import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
 import com.yuanchu.mom.dto.CostStatisticsDto;
+import com.yuanchu.mom.dto.InsOrderUserDto;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.ReportService;
 import lombok.AllArgsConstructor;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.time.Duration;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -36,6 +36,8 @@
     private RoleMapper roleMapper;
     private InsSampleUserMapper insSampleUserMapper;
     private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
+    private InsOrderStateMapper insOrderStateMapper;
+    private InsOrderUserMapper insOrderUserMapper;
 
     //姣忔棩涓氬姟缁熻
     @Override
@@ -162,9 +164,9 @@
         List<Long> receTenDays = new ArrayList<>();
         List<Long> finTenDays = new ArrayList<>();
         while (!startDate.isAfter(endDate)) {
-            if (type.equals("骞�")){
-                lastTenDays.add(startDate.format(format).substring(0,7));
-            }else {
+            if (type.equals("骞�")) {
+                lastTenDays.add(startDate.format(format).substring(0, 7));
+            } else {
                 lastTenDays.add(startDate.format(format));
             }
             receTenDays.add(insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
@@ -175,8 +177,8 @@
                     .between(InsOrder::getCreateTime, startDate.atStartOfDay(), startDate.plusMonths(1).minusDays(1).atTime(23, 59, 59))));
             if (type.equals("骞�")) {
                 startDate = startDate.plusMonths(1);
-            }else {
-                startDate=startDate.plusDays(1);
+            } else {
+                startDate = startDate.plusDays(1);
             }
         }
         map.put("DAYS", lastTenDays);
@@ -277,9 +279,9 @@
         List<Long> receTenDays = new ArrayList<>();
         List<Long> finTenDays = new ArrayList<>();
         while (!startDate.isAfter(endDate)) {
-            if (type.equals("骞�")){
-                lastTenDays.add(startDate.format(format).substring(0,7));
-            }else {
+            if (type.equals("骞�")) {
+                lastTenDays.add(startDate.format(format).substring(0, 7));
+            } else {
                 lastTenDays.add(startDate.format(format));
             }
             receTenDays.add(insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -291,8 +293,8 @@
                     .between(InsProduct::getCreateTime, startDate.atStartOfDay(), startDate.plusMonths(1).minusDays(1).atTime(23, 59, 59))));
             if (type.equals("骞�")) {
                 startDate = startDate.plusMonths(1);
-            }else {
-                startDate=startDate.plusDays(1);
+            } else {
+                startDate = startDate.plusDays(1);
             }
         }
         map.put("DAYS", lastTenDays);
@@ -412,8 +414,31 @@
                 ).collect(Collectors.toList());
         Map<Object, Double> mapMap = outputWorkingHours.stream()
                 .collect(Collectors.groupingBy(
-                                t -> userMapper.selectById(t.getCheck()).getName(),
-                                Collectors.summingDouble(AuxiliaryOutputWorkingHours::getOutputWorkTime)));
+                        t -> userMapper.selectById(t.getCheck()).getName(),
+                        Collectors.summingDouble(AuxiliaryOutputWorkingHours::getOutputWorkTime)));
         return mapMap;
     }
+
+    @Override
+    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<>();
+        //鏌ヨ杩欎釜鏃堕棿鍐呮墍鏈夋楠屼换鍔�
+        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