From f6c7280e3c79c7bc70c89462c7075af2a09d1b45 Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Thu, 20 Oct 2022 12:53:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=BA=A6=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E7=9C=8B=E6=9D=BF=E4=BF=AE=E6=94=B9=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ReportServiceImpl.java | 26 ++++++++++++++++--- .../mesnac/anomaly/utils/CollectionUtil.java | 26 +++++++++++++++++++ .../main/resources/mapper/ReportMapper.xml | 8 +++++- 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/CollectionUtil.java diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java index bb7771e4..61fbcd49 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.foreverwin.mesnac.anomaly.dto.IntegrationLogDto; import com.foreverwin.mesnac.anomaly.mapper.ReportMapper; import com.foreverwin.mesnac.anomaly.service.ReportService; +import com.foreverwin.mesnac.anomaly.utils.CollectionUtil; import com.foreverwin.mesnac.anomaly.utils.DateReportUtils; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.util.DateUtil; @@ -495,7 +496,8 @@ public class ReportServiceImpl implements ReportService { List> workOrderList = workOrders.get(workOrder); Map>> shopOrders = workOrderList.stream() - .collect(Collectors.groupingBy(e -> e.get("shopOrder").toString())); + .collect(Collectors.groupingBy(e -> e.get("shopOrder").toString(), + CollectionUtil.toSortedList(Comparator.comparing(e -> Float.valueOf(e.get("rate").toString().substring(0,e.get("rate").toString().length() - 1) ))))); for (String shopOrder : shopOrders.keySet()) { HashMap shopOrderMap = new HashMap<>(); shopOrderMap.put("shopOrder", shopOrder); @@ -1357,15 +1359,33 @@ public class ReportServiceImpl implements ReportService { abnormalQualityList = abnormalQualityList.subList(0, 20); }*/ result.put("originalData",abnormalQualityList); + //项目进度圆圈circle ArrayList> projectCircleList = new ArrayList<>(); - for (Map abnormalQualityMap : abnormalQualityList) { + Map>> itemNMap = abnormalQualityList.stream().collect(Collectors.groupingBy(e -> e.get("item"))); + for (String items : itemNMap.keySet()) { + List> maps = itemNMap.get(items); + String name = items; + Float rate = 0.00f; + Float projectRate = 0.00f; + for (Map map : maps) { + rate += Float.valueOf(map.get("rate")); + projectRate += Float.valueOf(map.get("planRate")); + } + HashMap objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("name",name); + objectObjectHashMap.put("rate",String.valueOf(rate / maps.size())); + objectObjectHashMap.put("projectRate",String.valueOf(projectRate / maps.size())); + projectCircleList.add(objectObjectHashMap); + } + /* for (Map abnormalQualityMap : abnormalQualityList) { HashMap objectObjectHashMap = new HashMap<>(); objectObjectHashMap.put("name",abnormalQualityMap.get("item")); objectObjectHashMap.put("rate",abnormalQualityMap.get("rate")); objectObjectHashMap.put("projectRate",abnormalQualityMap.get("planRate")); projectCircleList.add(objectObjectHashMap); - } + }*/ + result.put("projectCircleList",projectCircleList); //项目进度生产甘特图GanttChart 项目号、部套、零件总数量 diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/CollectionUtil.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/CollectionUtil.java new file mode 100644 index 00000000..eb03fd78 --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/CollectionUtil.java @@ -0,0 +1,26 @@ +package com.foreverwin.mesnac.anomaly.utils; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.TreeSet; +import java.util.stream.Collector; +import java.util.stream.Collectors; + +/** + * @Author YinQ + * @create 2022-10-20 10:50 + */ +public class CollectionUtil { + + /** + * @Description [map收集器用于map值是list时list排序] + * @param c:Collectors 收集器 + * @return java.util.stream.Collector> + */ + public static Collector> toSortedList(Comparator c) { + return Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(c)), ArrayList::new); + } + + +} diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index f7b33f9f..34675ae6 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1247,8 +1247,14 @@ AND WIP.SFC like '%${SFC}%' + + AND WIP.rate = 100.00 + + + AND WIP.rate != 100.00 + - ORDER BY WIP.item,WIP.workOrder,WIP.rate + ORDER BY WIP.item,WIP.workOrder,WIP.rate