From 97bb7a8832281eafe0ef947ea095258d355e52f5 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 30 十二月 2024 15:57:51 +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