Lius
2024-10-08 ad2dc8af7b4159fdd663d60bc15107f20259c356
update
已修改4个文件
42 ■■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
}
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>
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);
                }
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;
}