From 5a0dbf5c84f677c9f20252ccc63221dc7ba68d6c Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 15 五月 2025 08:48:07 +0800 Subject: [PATCH] 修改项 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java | 72 +++++++++++++++++++++++------------ 1 files changed, 47 insertions(+), 25 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java index 89c26e7..98d6757 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java @@ -3,14 +3,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.DictModel; +import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary; import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor; +import org.jeecg.modules.mdc.service.IEquipmentAlarmService; +import org.jeecg.modules.mdc.service.IMdcEquipmentDaySummaryService; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService; import org.jeecg.modules.mdc.util.DateUtils; -import org.jeecg.modules.screen.dto.EquipmentStatusOverview; -import org.jeecg.modules.screen.dto.UtilizationDayDto; -import org.jeecg.modules.screen.dto.UtilizationRate; -import org.jeecg.modules.screen.dto.UtilizationRateDto; +import org.jeecg.modules.screen.dto.*; import org.jeecg.modules.screen.service.MdcLargeScreenService; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.service.IMdcProductionService; @@ -20,7 +20,10 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -43,6 +46,12 @@ @Resource private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService; + @Resource + private IEquipmentAlarmService equipmentAlarmService; + + @Resource + private IMdcEquipmentDaySummaryService mdcEquipmentDaySummaryService; + /** * 璁惧鐘舵�佹儏鍐� * @@ -52,6 +61,7 @@ @Override public EquipmentStatusOverview equipmentStatusOverview(String productionId) { EquipmentStatusOverview equipmentStatusOverview = new EquipmentStatusOverview(); + // 璁惧鐘舵�� List<MdcEquipmentMonitor> equipmentMonitorList = mdcEquipmentService.getEquipmentMonitorList(productionId); if (equipmentMonitorList != null && !equipmentMonitorList.isEmpty()) { equipmentStatusOverview.setEquipmentCount(equipmentMonitorList.size()); @@ -64,7 +74,7 @@ equipmentStatusOverview.setWaitCount(equipmentStatusOverview.getWaitCount() + 1); break; case 3: - equipmentStatusOverview.setRunCount(equipmentStatusOverview.getRunCount()); + equipmentStatusOverview.setRunCount(equipmentStatusOverview.getRunCount() + 1); break; case 22: equipmentStatusOverview.setErrorCount(equipmentStatusOverview.getErrorCount() + 1); @@ -86,6 +96,12 @@ } } } + } + // mes浜ч噺 + MdcEquipmentDaySummary mdcEquipmentDaySummary = mdcEquipmentDaySummaryService.statisticsQty(productionId); + if (mdcEquipmentDaySummary != null) { + equipmentStatusOverview.setQualifiedQty(mdcEquipmentDaySummary.getQualifiedQty()); + equipmentStatusOverview.setPlanQty(mdcEquipmentDaySummary.getPlanQty()); } return equipmentStatusOverview; } @@ -140,9 +156,7 @@ Map<String, Object> result = new HashMap<>(); // 鑾峰彇瀛愮敓浜у垪琛� - List<MdcProduction> mdcProductionList = mdcProductionService.list( - new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, productionId) - ); + List<MdcProduction> mdcProductionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, productionId)); if (mdcProductionList == null || mdcProductionList.isEmpty()) { return result; @@ -151,8 +165,7 @@ List<String> dateList = DateUtils.getNearWeek(); result.put("dateList", dateList); // 璁$畻姣忎釜宸ユ鐨勫埄鐢ㄧ巼 - List<UtilizationRateDto> utilizationMonthDtoList = new ArrayList<>(); - for (MdcProduction mdcProduction : mdcProductionList) { + List<UtilizationRateDto> utilizationMonthDtoList = mdcProductionList.stream().map(mdcProduction -> { UtilizationRateDto utilizationRateDto = new UtilizationRateDto(); utilizationRateDto.setProductionId(mdcProduction.getId()); utilizationRateDto.setProductionName(mdcProduction.getProductionName()); @@ -160,14 +173,13 @@ .map(date -> { UtilizationRate utilizationMonth = new UtilizationRate(); utilizationMonth.setDate(date); - BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeek(productionId, date.replaceAll("-", "")); + BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeek(mdcProduction.getId(), date.replaceAll("-", "")); utilizationMonth.setUtilizationRate(utilizationRate); return utilizationMonth; - }) - .collect(Collectors.toList()); - utilizationRateDto.setUtilizationMonthList(utilizationRates); - utilizationMonthDtoList.add(utilizationRateDto); - } + }).collect(Collectors.toList()); + utilizationRateDto.setUtilizationRateList(utilizationRates); + return utilizationRateDto; + }).collect(Collectors.toList()); //璁$畻鎬诲巶鐨勫埄鐢ㄧ巼 UtilizationRateDto utilizationRateDto = new UtilizationRateDto(); utilizationRateDto.setProductionName("鎬诲巶"); @@ -180,7 +192,7 @@ return utilizationMonth; }) .collect(Collectors.toList()); - utilizationRateDto.setUtilizationMonthList(utilizationRates); + utilizationRateDto.setUtilizationRateList(utilizationRates); utilizationMonthDtoList.add(utilizationRateDto); result.put("dataList", utilizationMonthDtoList); return result; @@ -207,16 +219,26 @@ result.put("productionList", productionList); String date = LocalDate.now().minusDays(1).toString().replaceAll("-", ""); - List<UtilizationDayDto> utilizationDayDtos = new ArrayList<>(); - for (MdcProduction mdcProduction : mdcProductionList) { + List<UtilizationDayDto> utilizationDayDtos = mdcProductionList.stream().map(mdcProduction -> { UtilizationDayDto utilizationDayDto = new UtilizationDayDto(); utilizationDayDto.setProductionName(mdcProduction.getProductionName()); - BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeekTotal(mdcProduction.getId(), date); + BigDecimal utilizationRate = mdcEquipmentStatisticalInfoService.computeUtilizationWeek(mdcProduction.getId(), date); utilizationDayDto.setUtilizationRate(utilizationRate); - utilizationDayDtos.add(utilizationDayDto); - } + return utilizationDayDto; + }).collect(Collectors.toList()); result.put("dataList", utilizationDayDtos); return result; + } + + /** + * 璁惧鎶ヨ淇℃伅 + * + * @param productionId + * @return + */ + @Override + public List<AlarmInfoDto> getAlarmInfo(String productionId) { + return equipmentAlarmService.getAlarmInfo(productionId); } /** @@ -228,7 +250,7 @@ utilizationMonthDto.setProductionName(mdcProduction.getProductionName()); List<UtilizationRate> utilizationMonthList = calculateUtilizationRates(mdcProduction.getId(), dateLists); - utilizationMonthDto.setUtilizationMonthList(utilizationMonthList); + utilizationMonthDto.setUtilizationRateList(utilizationMonthList); return utilizationMonthDto; } @@ -241,7 +263,7 @@ utilizationMonthDto.setProductionName("鎬诲巶"); List<UtilizationRate> utilizationMonthList = calculateUtilizationRatesTotal(productionId, dateLists); - utilizationMonthDto.setUtilizationMonthList(utilizationMonthList); + utilizationMonthDto.setUtilizationRateList(utilizationMonthList); return utilizationMonthDto; } -- Gitblit v1.9.3