|  | @@ -125,7 +125,7 @@ public class MesLineService extends ServiceImpl<MesLineMapper, MesLine> implemen
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public R<Map<String, Long>> countDay() {
 | 
	
		
			
				|  |  | +    public R<Map<String, Map<String,Long>>> countDay() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //获取当前时间
 | 
	
		
			
				|  |  |          LocalDate now = LocalDate.now();
 | 
	
	
		
			
				|  | @@ -137,11 +137,11 @@ public class MesLineService extends ServiceImpl<MesLineMapper, MesLine> implemen
 | 
	
		
			
				|  |  |          LambdaQueryWrapper<MesLine> wr = new LambdaQueryWrapper<>();
 | 
	
		
			
				|  |  |          wr.between(MesLine::getCreateTime, mondayOfWeek, sundayOfWeek);
 | 
	
		
			
				|  |  |          List<MesLine> boy = mesLineMapper.selectList(wr);
 | 
	
		
			
				|  |  | -        Map<String, Long> map = new LinkedHashMap<>();//格式 key:星期几 value:数量
 | 
	
		
			
				|  |  | +        Map<String, Map<String,Long>> map = new LinkedHashMap<>();//格式 key:星期几 value:数量
 | 
	
		
			
				|  |  |          // 初始化Map中的键,并设置默认值为0
 | 
	
		
			
				|  |  |          for (DayOfWeek dayOfWeek : DayOfWeek.values()) {
 | 
	
		
			
				|  |  |              String dayOfWeekName = dayOfWeek.getDisplayName(TextStyle.FULL, Locale.CHINA);
 | 
	
		
			
				|  |  | -            map.put(dayOfWeekName, 0L);
 | 
	
		
			
				|  |  | +            map.put(dayOfWeekName, new HashMap<>());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //判断集合
 | 
	
		
			
				|  |  |          if (boy != null && !boy.isEmpty()) {
 | 
	
	
		
			
				|  | @@ -150,8 +150,15 @@ public class MesLineService extends ServiceImpl<MesLineMapper, MesLine> implemen
 | 
	
		
			
				|  |  |                      //获取星期几
 | 
	
		
			
				|  |  |                      LocalDate date = mesLine.getCreateTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
 | 
	
		
			
				|  |  |                      String week = date.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA);
 | 
	
		
			
				|  |  | -                    Long count = mesLine.getCurrentQty();
 | 
	
		
			
				|  |  | -                    map.put(week, map.getOrDefault(week, 0L) + count);
 | 
	
		
			
				|  |  | +                    Long count = mesLine.getCurrentQty();//获取产量
 | 
	
		
			
				|  |  | +                    String lineName = mesLine.getLineName();//获取产线名称
 | 
	
		
			
				|  |  | +                    if (StringUtils.isBlank(lineName)) {
 | 
	
		
			
				|  |  | +                        continue;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    // 获取内层Map
 | 
	
		
			
				|  |  | +                    Map<String, Long> innerMap = map.get(week);
 | 
	
		
			
				|  |  | +                    // 更新内层Map中的产量
 | 
	
		
			
				|  |  | +                    innerMap.put(lineName, innerMap.getOrDefault(lineName, 0L) + count);
 | 
	
		
			
				|  |  |                  } catch (Exception e) {
 | 
	
		
			
				|  |  |                      log.warn("数据转换异常", e);
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -192,21 +199,22 @@ public class MesLineService extends ServiceImpl<MesLineMapper, MesLine> implemen
 | 
	
		
			
				|  |  |                          Map<String, Object> lineData = lineSummary.computeIfAbsent(lineName, k -> new HashMap<>());
 | 
	
		
			
				|  |  |                          //累加产量
 | 
	
		
			
				|  |  |                          Long totalOutput = (Long) lineData.getOrDefault("产量", 0L);
 | 
	
		
			
				|  |  | -                        Long count = mesLine.getCurrentQty();
 | 
	
		
			
				|  |  | -                        lineData.put("产量", totalOutput + count);
 | 
	
		
			
				|  |  | +                        Long count = mesLine.getCurrentQty();//产量=产量(包含合格数量)+不合格数量
 | 
	
		
			
				|  |  | +                        Long poorQty = mesLine.getPoorQty();//不合格数量
 | 
	
		
			
				|  |  | +                        totalOutput+=(count+poorQty);
 | 
	
		
			
				|  |  | +                        lineData.put("产量", totalOutput);
 | 
	
		
			
				|  |  |                          //累加不合格数量
 | 
	
		
			
				|  |  |                          Long totalPoorQty = (Long) lineData.getOrDefault("不合格数量", 0L);
 | 
	
		
			
				|  |  |                          Long currentPoorQty = mesLine.getPoorQty();
 | 
	
		
			
				|  |  | -                        lineData.put("不合格数量", totalPoorQty + currentPoorQty);
 | 
	
		
			
				|  |  | +                        totalPoorQty += currentPoorQty;
 | 
	
		
			
				|  |  | +                        lineData.put("不合格数量", totalPoorQty);
 | 
	
		
			
				|  |  |                          //计算合格数量
 | 
	
		
			
				|  |  |                          Long totalQualifiedQty = (Long) lineData.getOrDefault("合格数量", 0L);
 | 
	
		
			
				|  |  | -                        Long updatedTotalOutput = (Long) lineData.get("产量");
 | 
	
		
			
				|  |  | -                        Long updatedTotalPoorQty = (Long) lineData.get("不合格数量");
 | 
	
		
			
				|  |  | -                        totalQualifiedQty = updatedTotalOutput - updatedTotalPoorQty;
 | 
	
		
			
				|  |  | -                        lineData.put("合格数量", totalQualifiedQty);
 | 
	
		
			
				|  |  | +                        totalQualifiedQty += count;
 | 
	
		
			
				|  |  | +                        lineData.put("合格数量",totalQualifiedQty);
 | 
	
		
			
				|  |  |                          //更新合格率
 | 
	
		
			
				|  |  | -                        if (updatedTotalOutput > 0) {
 | 
	
		
			
				|  |  | -                            double qualificationRate = ((double) totalQualifiedQty / (double) updatedTotalOutput) * 100;
 | 
	
		
			
				|  |  | +                        if (totalOutput > 0) {
 | 
	
		
			
				|  |  | +                            double qualificationRate = ((double) totalQualifiedQty / (double) totalOutput) * 100;
 | 
	
		
			
				|  |  |                              lineData.put("合格率", String.format("%.2f%%", qualificationRate));
 | 
	
		
			
				|  |  |                          } else {
 | 
	
		
			
				|  |  |                              lineData.put("合格率", "0.00%");
 | 
	
	
		
			
				|  | @@ -280,17 +288,20 @@ public class MesLineService extends ServiceImpl<MesLineMapper, MesLine> implemen
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      // 累加总产量
 | 
	
		
			
				|  |  |                      Long totalOutput = (Long) dayStats.getOrDefault("产量", 0L);
 | 
	
		
			
				|  |  | -                    totalOutput += mesLine.getCurrentQty();
 | 
	
		
			
				|  |  | +                    Long count = mesLine.getCurrentQty();//产量+不合格数
 | 
	
		
			
				|  |  | +                    Long poorQty = mesLine.getPoorQty();//不合格数量
 | 
	
		
			
				|  |  | +                    totalOutput+=(count+poorQty);
 | 
	
		
			
				|  |  |                      dayStats.put("产量", totalOutput);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      // 累加不合格数量
 | 
	
		
			
				|  |  | -                    Long totalPoorQty = (Long) dayStats.getOrDefault("不合格数", 0L);
 | 
	
		
			
				|  |  | +                    Long totalPoorQty = (Long) dayStats.getOrDefault("不合格数量", 0L);
 | 
	
		
			
				|  |  |                      totalPoorQty += mesLine.getPoorQty();
 | 
	
		
			
				|  |  | -                    dayStats.put("不合格数", totalPoorQty);
 | 
	
		
			
				|  |  | +                    dayStats.put("不合格数量", totalPoorQty);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    // 计算合格数量
 | 
	
		
			
				|  |  | -                    Long totalQualifiedQty = totalOutput - totalPoorQty;
 | 
	
		
			
				|  |  | -                    dayStats.put("合格数", totalQualifiedQty);
 | 
	
		
			
				|  |  | +                    //计算合格数量
 | 
	
		
			
				|  |  | +                    Long totalQualifiedQty = (Long) dayStats.getOrDefault("合格数量", 0L);
 | 
	
		
			
				|  |  | +                    totalQualifiedQty += count;
 | 
	
		
			
				|  |  | +                    dayStats.put("合格数量",totalQualifiedQty);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      // 更新合格率
 | 
	
		
			
				|  |  |                      if (totalOutput > 0) {
 |