Lius
2025-03-04 7c0f82055e064831c9971aad068106241705030e
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
@@ -4,13 +4,11 @@
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.mdc.service.IEquipmentAlarmService;
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;
@@ -42,6 +40,9 @@
    @Resource
    private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService;
    @Resource
    private IEquipmentAlarmService equipmentAlarmService;
    /**
     * 设备状态情况
@@ -165,7 +166,7 @@
                        return utilizationMonth;
                    })
                    .collect(Collectors.toList());
            utilizationRateDto.setUtilizationMonthList(utilizationRates);
            utilizationRateDto.setUtilizationRateList(utilizationRates);
            utilizationMonthDtoList.add(utilizationRateDto);
        }
        //计算总厂的利用率
@@ -180,7 +181,7 @@
                    return utilizationMonth;
                })
                .collect(Collectors.toList());
        utilizationRateDto.setUtilizationMonthList(utilizationRates);
        utilizationRateDto.setUtilizationRateList(utilizationRates);
        utilizationMonthDtoList.add(utilizationRateDto);
        result.put("dataList", utilizationMonthDtoList);
        return result;
@@ -220,6 +221,17 @@
    }
    /**
     * 设备报警信息
     *
     * @param productionId
     * @return
     */
    @Override
    public List<AlarmInfoDto> getAlarmInfo(String productionId) {
        return equipmentAlarmService.getAlarmInfo(productionId);
    }
    /**
     * 创建子生产的月度利用率 DTO
     */
    private UtilizationRateDto createUtilizationMonthDto(MdcProduction mdcProduction, List<String[]> dateLists) {
@@ -228,7 +240,7 @@
        utilizationMonthDto.setProductionName(mdcProduction.getProductionName());
        List<UtilizationRate> utilizationMonthList = calculateUtilizationRates(mdcProduction.getId(), dateLists);
        utilizationMonthDto.setUtilizationMonthList(utilizationMonthList);
        utilizationMonthDto.setUtilizationRateList(utilizationMonthList);
        return utilizationMonthDto;
    }
@@ -241,7 +253,7 @@
        utilizationMonthDto.setProductionName("总厂");
        List<UtilizationRate> utilizationMonthList = calculateUtilizationRatesTotal(productionId, dateLists);
        utilizationMonthDto.setUtilizationMonthList(utilizationMonthList);
        utilizationMonthDto.setUtilizationRateList(utilizationMonthList);
        return utilizationMonthDto;
    }