From ad2dc8af7b4159fdd663d60bc15107f20259c356 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 08 十月 2024 09:19:21 +0800
Subject: [PATCH] update

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
index 79b37fa..7499f8d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
+++ b/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);
                 }

--
Gitblit v1.9.3