项目进度报表看板修改排序

master
yinq 2 years ago
parent 7babc8d507
commit f6c7280e3c

@ -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<Map<String, Object>> workOrderList = workOrders.get(workOrder);
Map<String, List<Map<String, Object>>> 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<String, Object> 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<HashMap<String, String>> projectCircleList = new ArrayList<>();
for (Map<String, String> abnormalQualityMap : abnormalQualityList) {
Map<String, List<Map<String, String>>> itemNMap = abnormalQualityList.stream().collect(Collectors.groupingBy(e -> e.get("item")));
for (String items : itemNMap.keySet()) {
List<Map<String, String>> maps = itemNMap.get(items);
String name = items;
Float rate = 0.00f;
Float projectRate = 0.00f;
for (Map<String, String> map : maps) {
rate += Float.valueOf(map.get("rate"));
projectRate += Float.valueOf(map.get("planRate"));
}
HashMap<String, String> 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<String, String> abnormalQualityMap : abnormalQualityList) {
HashMap<String, String> 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 项目号、部套、零件总数量

@ -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 [mapmaplistlist]
* @param c:Collectors
* @return java.util.stream.Collector<T,?,java.util.List<T>>
*/
public static <T> Collector<T, ?, List<T>> toSortedList(Comparator<? super T> c) {
return Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(c)), ArrayList::new);
}
}

@ -1247,8 +1247,14 @@
<if test="SFC != null and SFC != ''">
AND WIP.SFC like '%${SFC}%'
</if>
<if test="finishedSFC != null and finishedSFC == 'true'">
AND WIP.rate = 100.00
</if>
<if test="finishedSFC != null and finishedSFC == 'false'">
AND WIP.rate != 100.00
</if>
</where>
ORDER BY WIP.item,WIP.workOrder,WIP.rate
ORDER BY WIP.item,WIP.workOrder,WIP.rate
</select>
<select id="selectCurrentPlanTime" parameterType="java.util.HashMap" resultType="java.util.Map">

Loading…
Cancel
Save