lius
2023-07-03 224af4ccd20c299c5f616bfc72a44494cd39bc9b
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
@@ -72,37 +72,48 @@
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
            }
        }
        vo.setEquipmentIdList(equipmentIds);
        // 查询利用率数据
        List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyList(vo);
        // 利用率等级
        List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("lyl");
        //封装结果
        List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, vo.getEquipmentIdList()));
        List<String> dates = DateUtils.getDatesStringList2(DateUtils.getShortDate2(vo.getStartTime()), DateUtils.getShortDate2(vo.getEndTime()));
        for (MdcEquipment mdcEquipment : equipmentList) {
            MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
            mdcEfficiencyListDto.setEquipmentId(mdcEquipment.getEquipmentId());
            mdcEfficiencyListDto.setEquipmentName(mdcEquipment.getEquipmentName());
            mdcEfficiencyListDto.setEquipmentType(mdcEquipment.getEquipmentType());
            List<MdcEfficiencyResultDto> list = new ArrayList<>();
            for (String date : dates) {
                list.add(this.efficiencyRate(efficiencyList, date, mdcEquipment, mdcUtilizationRateList));
            }
            mdcEfficiencyListDto.setList(list);
            listDtos.add(mdcEfficiencyListDto);
        if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
            vo.setEquipmentIdList(equipmentIds);
        }
        result.setLists(listDtos);
        List<String> dates = DateUtils.getDatesStringList2(DateUtils.getShortDate2(vo.getStartTime()), DateUtils.getShortDate2(vo.getEndTime()));
        result.setDates(dates);
        if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
            result.setMdcEfficiencyList(listDtos);
        } else {
            // 查询利用率数据
            List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyList(vo);
            // 利用率等级
            List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("lyl");
            //封装结果
            List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, vo.getEquipmentIdList()));
            for (MdcEquipment mdcEquipment : equipmentList) {
                MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                mdcEfficiencyListDto.setEquipmentId(mdcEquipment.getEquipmentId());
                mdcEfficiencyListDto.setEquipmentName(mdcEquipment.getEquipmentName());
                mdcEfficiencyListDto.setEquipmentType(mdcEquipment.getEquipmentType());
                List<MdcEfficiencyResultDto> list = new ArrayList<>();
                for (String date : dates) {
                    list.add(this.efficiencyRate(efficiencyList, date, mdcEquipment, mdcUtilizationRateList));
                }
                mdcEfficiencyListDto.setDataList(list);
                listDtos.add(mdcEfficiencyListDto);
            }
            result.setMdcEfficiencyList(listDtos);
        }
        return result;
    }
    @Override
    public MdcEfficiencyVo shiftEfficiencyList(String userId, MdcEfficiencyReportQueryVo vo) {
        return null;
    }
    private MdcEfficiencyResultDto efficiencyRate(List<MdcEfficiencyDto> efficiencyList, String date, MdcEquipment mdcEquipment, List<MdcUtilizationRate> mdcUtilizationRateList) {
        MdcEfficiencyResultDto mdcEfficiencyResultDto = new MdcEfficiencyResultDto();
        if (efficiencyList != null && !efficiencyList.isEmpty()) {