Lius
2024-10-08 ad2dc8af7b4159fdd663d60bc15107f20259c356
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
@@ -311,6 +311,17 @@
        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDriveType())) {
            mdcOverallEquipmentEfficiencyVo.setDriveTypeList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDriveType().split(",")));
        }
        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getPercentageLevel())) {
            List<BigDecimal> stringList = new ArrayList<>();
            String[] strings = mdcOverallEquipmentEfficiencyVo.getPercentageLevel().split(",");
            for (String string : strings) {
                for (String s : string.split("-")) {
                    stringList.add(new BigDecimal(s).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP));
                }
            }
            mdcOverallEquipmentEfficiencyVo.setMax(stringList.stream().max(BigDecimal::compareTo).get().toString());
            mdcOverallEquipmentEfficiencyVo.setMin(stringList.stream().min(BigDecimal::compareTo).get().toString());
        }
        IPage<MdcOverallEquipmentEfficiency> mdcOverallEquipmentEfficiencyIPage = this.baseMapper.pageList(page, mdcOverallEquipmentEfficiencyVo);
//        List<MdcOverallEquipmentEfficiency> list = mdcOverallEquipmentEfficiencyIPage.getRecords();
        for (MdcOverallEquipmentEfficiency mdcOverallEquipmentEfficiency : mdcOverallEquipmentEfficiencyIPage.getRecords()) {
@@ -355,6 +366,15 @@
                }
                result.add(oeeStatisticsVo);
            }
            OeeStatisticsVo oeeStatisticsVo = new OeeStatisticsVo();
            oeeStatisticsVo.setProductionId(UUID.randomUUID().toString());
            oeeStatisticsVo.setProductionName("合计");
            oeeStatisticsVo.setLevel1(result.stream().mapToInt(OeeStatisticsVo::getLevel1).sum());
            oeeStatisticsVo.setLevel2(result.stream().mapToInt(OeeStatisticsVo::getLevel2).sum());
            oeeStatisticsVo.setLevel3(result.stream().mapToInt(OeeStatisticsVo::getLevel3).sum());
            oeeStatisticsVo.setLevel4(result.stream().mapToInt(OeeStatisticsVo::getLevel4).sum());
            oeeStatisticsVo.setLevel5(result.stream().mapToInt(OeeStatisticsVo::getLevel5).sum());
            result.add(oeeStatisticsVo);
        }
        return result;
    }
@@ -371,12 +391,16 @@
        if (StringUtils.isEmpty(date)) {
            date = DateTimeFormatter.ofPattern("yyyy-MM").format(LocalDate.now().plusMonths(-1));
        }
        List<String> equipmentTypeList = new ArrayList<>();
        if (StringUtils.isNotEmpty(equipmentType)) {
            equipmentTypeList = Arrays.asList(equipmentType.split(","));
        }
        List<MdcProduction> mdcProductionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getOrgType, 2).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0));
        if (mdcProductionList != null && !mdcProductionList.isEmpty()) {
            for (MdcProduction mdcProduction : mdcProductionList) {
                OeeStatisticsChartVo oeeStatisticsChartVo = new OeeStatisticsChartVo();
                oeeStatisticsChartVo.setKey(mdcProduction.getProductionName());
                BigDecimal oee = this.baseMapper.findAvgOee(date, equipmentType, mdcProduction.getId());
                BigDecimal oee = this.baseMapper.findAvgOee(date, equipmentTypeList, mdcProduction.getId());
                if (oee != null) {
                    oeeStatisticsChartVo.setValue(oee);
                }