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/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml | 10 ++++++++-- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java | 4 ++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java | 2 +- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java | 26 +++++++++++++++++++++++++- 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java index 8fef015..7d02d42 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java @@ -27,5 +27,5 @@ List<MdcOverallEquipmentEfficiency> findOeeByDate(@Param("date") String date, @Param("productionId") String id); - BigDecimal findAvgOee(@Param("date") String date, @Param("equipmentType") String equipmentType, @Param("productionId") String id); + BigDecimal findAvgOee(@Param("date") String date, @Param("equipmentTypeList") List<String> equipmentTypeList, @Param("productionId") String id); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml index 801e2da..d7f45f9 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml @@ -76,6 +76,9 @@ <if test="mdcOverallEquipmentEfficiency.deviceImportanceLevel != null and mdcOverallEquipmentEfficiency.deviceImportanceLevel != '' "> AND t2.device_importance_level = #{mdcOverallEquipmentEfficiency.deviceImportanceLevel} </if> + <if test="mdcOverallEquipmentEfficiency.max != null and mdcOverallEquipmentEfficiency.max != '' and mdcOverallEquipmentEfficiency.min != null and mdcOverallEquipmentEfficiency.min!= ''"> + AND t1.overall_equipment_efficiency BETWEEN #{mdcOverallEquipmentEfficiency.min} AND #{mdcOverallEquipmentEfficiency.max} + </if> AND t2.device_abnormal_status = 1 </where> </select> @@ -105,8 +108,11 @@ WHERE ( t4.id = #{productionId} OR t4.parent_id = #{productionId} ) AND t1.valid_date = #{date} - <if test="equipmentType != null and equipmentType != ''"> - AND t2.equipment_type = #{equipmentType} + <if test="equipmentTypeList != null and equipmentTypeList.size() > 0"> + AND t2.equipment_type IN + <foreach collection="equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=","> + #{equipmentType} + </foreach> </if> </select> </mapper> \ No newline at end of file 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); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java index ce96c97..e747ef8 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java @@ -80,4 +80,8 @@ */ private String percentageLevel; + private String min; + + private String max; + } -- Gitblit v1.9.3