From 3cf3656f3d69a6021226c794e5d9e69d091f48c3 Mon Sep 17 00:00:00 2001 From: yangman <15045099937@qq.com> Date: 星期二, 04 七月 2023 11:21:28 +0800 Subject: [PATCH] 修改扭矩配置管理3 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 73 insertions(+), 42 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java index de8846c..daae6c8 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.mdc.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import net.sf.saxon.expr.Component; import org.apache.commons.lang3.StringUtils; @@ -18,6 +19,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -70,58 +72,87 @@ equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); } } - vo.setEquipmentIdList(equipmentIds); - - // 鏌ヨ鍒╃敤鐜囨暟鎹� - List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyList(vo); - // 鍒╃敤鐜囩瓑绾� - List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("lyl"); - - //灏佽缁撴灉 - List<MdcEfficiencyDto> equipmentList = efficiencyList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MdcEfficiencyDto::getEquipmentId))), ArrayList::new)); - - List<String> dates = DateUtils.getDatesStringList2(DateUtils.getShortDate2(vo.getStartTime()), DateUtils.getShortDate2(vo.getEndTime())); - - for (MdcEfficiencyDto mdcEfficiencyDto : equipmentList) { - MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto(); - mdcEfficiencyListDto.setEquipmentId(mdcEfficiencyDto.getEquipmentId()); - mdcEfficiencyListDto.setEquipmentName(mdcEfficiencyDto.getEquipmentName()); - mdcEfficiencyListDto.setEquipmentType(mdcEfficiencyDto.getEquipmentType()); - List<MdcEfficiencyResultDto> list = new ArrayList<>(); - for (String date : dates) { - list.add(this.efficiencyRate(efficiencyList, date, mdcEfficiencyDto, 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; } - private MdcEfficiencyResultDto efficiencyRate(List<MdcEfficiencyDto> efficiencyList, String date, MdcEfficiencyDto mdcEfficiencyDto, List<MdcUtilizationRate> mdcUtilizationRateList) { - MdcEfficiencyResultDto mdcEfficiencyResultDto = new MdcEfficiencyResultDto(); - for (MdcEfficiencyDto efficiencyDto : efficiencyList) { - if (date.equals(efficiencyDto.getTheDate()) && efficiencyDto.getEquipmentId().equals(mdcEfficiencyDto.getEquipmentId())) { - mdcEfficiencyResultDto.setTheDate(efficiencyDto.getTheDate()); - mdcEfficiencyResultDto.setProcessLong(efficiencyDto.getProcessLong()); - mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate()); - mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); - mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); - mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate()); - mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong()); - mdcEfficiencyResultDto.setWaitLong(efficiencyDto.getWaitLong()); - mdcEfficiencyResultDto.setCloseLong(efficiencyDto.getCloseLong()); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (efficiencyDto.getUtilizationRate().longValue() * 100 > mdcUtilizationRate.getMinimumRange() && efficiencyDto.getUtilizationRate().longValue() * 100 <= mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - } - } + @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()) { + for (MdcEfficiencyDto efficiencyDto : efficiencyList) { + if (date.equals(efficiencyDto.getTheDate()) && efficiencyDto.getEquipmentId().equals(mdcEquipment.getEquipmentId())) { + mdcEfficiencyResultDto.setTheDate(efficiencyDto.getTheDate()); + mdcEfficiencyResultDto.setProcessLong(efficiencyDto.getProcessLong()); + mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate()); + mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); + mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); + mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate()); + mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong()); + mdcEfficiencyResultDto.setWaitLong(efficiencyDto.getWaitLong()); + mdcEfficiencyResultDto.setCloseLong(efficiencyDto.getCloseLong()); + for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { + if (efficiencyDto.getUtilizationRate().longValue() * 100 >= mdcUtilizationRate.getMinimumRange() && efficiencyDto.getUtilizationRate().longValue() * 100 < mdcUtilizationRate.getMaximumRange()) { + mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + } + } + + } + } + } else { + mdcEfficiencyResultDto.setTheDate(date); + mdcEfficiencyResultDto.setProcessLong(new BigDecimal("0")); + mdcEfficiencyResultDto.setUtilizationRate(new BigDecimal("0")); + mdcEfficiencyResultDto.setStartRate(new BigDecimal("0")); + mdcEfficiencyResultDto.setStartRate(new BigDecimal("0")); + mdcEfficiencyResultDto.setOpenRate(new BigDecimal("0")); + mdcEfficiencyResultDto.setOpenLong(new BigDecimal("0")); + mdcEfficiencyResultDto.setWaitLong(new BigDecimal("0")); + mdcEfficiencyResultDto.setCloseLong(new BigDecimal("0")); + for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { + if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { + mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + } } } + return mdcEfficiencyResultDto; } -- Gitblit v1.9.3