From 9de1d40d3a61ce166c63a2c07d02d89bf8bdabd0 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 07 三月 2025 16:16:18 +0800 Subject: [PATCH] art: 选择设备查询逻辑修改, 点检工单新增时产线逻辑修改 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java | 67 +++++++++++++++++++++++++++++---- 1 files changed, 59 insertions(+), 8 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 f981ce3..f1dbb69 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 @@ -15,6 +15,7 @@ import org.jeecg.modules.system.entity.SysDepart; import org.jeecg.modules.system.service.IMdcProductionService; import org.jeecg.modules.system.service.ISysDepartService; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -53,6 +54,9 @@ @Resource private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService; + + @Resource + private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService; /** * 鍒╃敤鐜囨姤琛� @@ -1340,6 +1344,10 @@ if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) { return result; } + vo.setDeviceCategoryList(Arrays.asList(vo.getDeviceCategory().split(","))); + vo.setDeviceLevelList(Arrays.asList(vo.getDeviceLevel().split(","))); + vo.setDriveTypeList(Arrays.asList(vo.getDriveType().split(","))); + vo.setEquipmentTypeList(Arrays.asList(vo.getEquipmentType().split(","))); // 鏌ヨ鍘熷鏁版嵁 List<MdcComAnaDto> resultDtos = mdcEfficiencyReportMapper.comparativeAnalysis(vo); @@ -1596,6 +1604,17 @@ if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) { result.setMdcEfficiencyList(listDtos); } else { + + MdcEfficiencyReportQueryVo vo1 = new MdcEfficiencyReportQueryVo(); + BeanUtils.copyProperties(vo, vo1); + List<String> equipmentIdList = mdcEquipmentService.listEquipmentId(vo1); + if (equipmentIdList != null && !equipmentIdList.isEmpty()) { + vo.setEquipmentIdList(equipmentIdList); + } else { + result.setMdcEfficiencyList(listDtos); + return result; + } + // 鍒╃敤鐜囩瓑绾� List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("lyl"); @@ -1688,6 +1707,16 @@ if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) { result.setMdcEfficiencyList(listDtos); } else { + MdcEfficiencyReportQueryVo vo1 = new MdcEfficiencyReportQueryVo(); + BeanUtils.copyProperties(vo, vo1); + List<String> equipmentIdList = mdcEquipmentService.listEquipmentId(vo1); + if (equipmentIdList != null && !equipmentIdList.isEmpty()) { + vo.setEquipmentIdList(equipmentIdList); + } else { + result.setMdcEfficiencyList(listDtos); + return result; + } + // 鍒╃敤鐜囩瓑绾� List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("lyl"); if ("2".equals(vo.getTypeTree())) { @@ -1702,10 +1731,11 @@ List<MdcUtilizationResultDto> list = new ArrayList<>(); for (String date : dateList) { - Date startTime = DateUtils.toDate(date + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL); - Date endTime = DateUtils.toDate(date + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL); - endTime = DateUtils.addDays(endTime, 1); - list.add(this.utilizationRate(mdcEquDepDto.getEquipmentId(), mdcEquDepDto.getEquipmentName(), mdcEquDepDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); +// Date startTime = DateUtils.toDate(date + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL); +// Date endTime = DateUtils.toDate(date + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL); +// endTime = DateUtils.addDays(endTime, 1); +// list.add(this.utilizationRate(mdcEquDepDto.getEquipmentId(), mdcEquDepDto.getEquipmentName(), mdcEquDepDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); + list.add(this.utilizationRateTrend(mdcEquDepDto.getEquipmentId(), mdcEquDepDto.getEquipmentName(), mdcEquDepDto.getEquipmentType(), date, mdcUtilizationRateList)); } mdcEfficiencyListDto.setDataList(list); listDtos.add(mdcEfficiencyListDto); @@ -1722,10 +1752,7 @@ mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType()); List<MdcUtilizationResultDto> list = new ArrayList<>(); for (String date : dateList) { - Date startTime = DateUtils.toDate(date + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL); - Date endTime = DateUtils.toDate(date + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL); - endTime = DateUtils.addDays(endTime, 1); - list.add(this.utilizationRate(mdcEquProDto.getEquipmentId(), mdcEquProDto.getEquipmentName(), mdcEquProDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); + list.add(this.utilizationRateTrend(mdcEquProDto.getEquipmentId(), mdcEquProDto.getEquipmentName(), mdcEquProDto.getEquipmentType(), date, mdcUtilizationRateList)); } mdcEfficiencyListDto.setDataList(list); listDtos.add(mdcEfficiencyListDto); @@ -1737,6 +1764,30 @@ return result; } + private MdcUtilizationResultDto utilizationRateTrend(String equipmentId, String equipmentName, String equipmentType, String date, List<MdcUtilizationRate> mdcUtilizationRateList) { + MdcUtilizationResultDto dto = new MdcUtilizationResultDto(); + dto.setEquipmentId(equipmentId); + dto.setEquipmentName(equipmentName); + dto.setEquipmentType(equipmentType); + dto.setTheDate(date); + MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo = mdcEquipmentStatisticalInfoService.findMdcEquipmentStatisticalInfo(equipmentId, date); + if (mdcEquipmentStatisticalInfo != null) { + dto.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("86400"), 6, RoundingMode.HALF_UP)); + } else { + dto.setUtilizationRate(new BigDecimal("0")); + } + long rate = dto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); + for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { + if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { + dto.setColor(mdcUtilizationRate.getRateParameterColor()); + } + } + if (StringUtils.isBlank(dto.getColor())) { + dto.setColor(mdcUtilizationRateList.get(mdcUtilizationRateList.size() - 1).getRateParameterColor()); + } + return dto; + } + @Override public List<BigDecimal> getEfficiencyRate(String equipmentId, String date) { return mdcEfficiencyReportMapper.getEfficiencyRate(equipmentId, date); -- Gitblit v1.9.3