| | |
| | | equipmentStatusOverview.setWaitCount(equipmentStatusOverview.getWaitCount() + 1); |
| | | break; |
| | | case 3: |
| | | equipmentStatusOverview.setRunCount(equipmentStatusOverview.getRunCount()); |
| | | equipmentStatusOverview.setRunCount(equipmentStatusOverview.getRunCount() + 1); |
| | | break; |
| | | case 22: |
| | | equipmentStatusOverview.setErrorCount(equipmentStatusOverview.getErrorCount() + 1); |
| | |
| | | Map<String, Object> result = new HashMap<>(); |
| | | |
| | | // 获取子生产列表 |
| | | List<MdcProduction> mdcProductionList = mdcProductionService.list( |
| | | new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, productionId) |
| | | ); |
| | | List<MdcProduction> mdcProductionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, productionId)); |
| | | |
| | | if (mdcProductionList == null || mdcProductionList.isEmpty()) { |
| | | return result; |
| | |
| | | List<String> dateList = DateUtils.getNearWeek(); |
| | | result.put("dateList", dateList); |
| | | // 计算每个工段的利用率 |
| | | List<UtilizationRateDto> utilizationMonthDtoList = new ArrayList<>(); |
| | | for (MdcProduction mdcProduction : mdcProductionList) { |
| | | List<UtilizationRateDto> utilizationMonthDtoList = mdcProductionList.stream().map(mdcProduction -> { |
| | | UtilizationRateDto utilizationRateDto = new UtilizationRateDto(); |
| | | utilizationRateDto.setProductionId(mdcProduction.getId()); |
| | | utilizationRateDto.setProductionName(mdcProduction.getProductionName()); |
| | |
| | | .map(date -> { |
| | | UtilizationRate utilizationMonth = new UtilizationRate(); |
| | | utilizationMonth.setDate(date); |
| | | BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeek(productionId, date.replaceAll("-", "")); |
| | | BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeek(mdcProduction.getId(), date.replaceAll("-", "")); |
| | | utilizationMonth.setUtilizationRate(utilizationRate); |
| | | return utilizationMonth; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | }).collect(Collectors.toList()); |
| | | utilizationRateDto.setUtilizationRateList(utilizationRates); |
| | | utilizationMonthDtoList.add(utilizationRateDto); |
| | | } |
| | | return utilizationRateDto; |
| | | }).collect(Collectors.toList()); |
| | | //计算总厂的利用率 |
| | | UtilizationRateDto utilizationRateDto = new UtilizationRateDto(); |
| | | utilizationRateDto.setProductionName("总厂"); |
| | |
| | | result.put("productionList", productionList); |
| | | |
| | | String date = LocalDate.now().minusDays(1).toString().replaceAll("-", ""); |
| | | List<UtilizationDayDto> utilizationDayDtos = new ArrayList<>(); |
| | | for (MdcProduction mdcProduction : mdcProductionList) { |
| | | List<UtilizationDayDto> utilizationDayDtos = mdcProductionList.stream().map(mdcProduction -> { |
| | | UtilizationDayDto utilizationDayDto = new UtilizationDayDto(); |
| | | utilizationDayDto.setProductionName(mdcProduction.getProductionName()); |
| | | BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeekTotal(mdcProduction.getId(), date); |
| | | BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeek(mdcProduction.getId(), date); |
| | | utilizationDayDto.setUtilizationRate(utilizationRate); |
| | | utilizationDayDtos.add(utilizationDayDto); |
| | | } |
| | | return utilizationDayDto; |
| | | }).collect(Collectors.toList()); |
| | | result.put("dataList", utilizationDayDtos); |
| | | return result; |
| | | } |