package org.jeecg.modules.eam.service.impl; import cn.hutool.core.date.DateUtil; import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum; import org.jeecg.modules.eam.constant.ThirdMaintenanceStatusEnum; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import org.jeecg.modules.eam.mapper.EquipmentHomeMapper; import org.jeecg.modules.eam.service.IEquipmentHomeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; @Service public class EquipmentHomeServiceImpl implements IEquipmentHomeService { @Autowired private EquipmentHomeMapper equipmentHomeMapper; /** *首页 技术状态数量统计 */ @Override public List> getEquipmentTechnologyStatusList() { return this.equipmentHomeMapper.getEquipmentTechnologyStatusList(); } /** *首页 设备报修情况统计 */ @Override public List> getReportRepairEquipmentList() { return this.equipmentHomeMapper.getReportRepairEquipmentList(); } /** *首页 三保计划 * @return */ @Override public Map getThirdGuaranteesPlan() { Map map = new HashMap<>(); //获取本月三保计划 List thirdMaintenanceOrderList = equipmentHomeMapper.getThirdGuaranteesPlan(DateUtil.format(new Date(), "yyyy-MM")); //获取下月三保计划 List nextThirdMaintenanceOrderList = equipmentHomeMapper.getThirdGuaranteesPlan(DateUtil.format(DateUtil.nextMonth(), "yyyy-MM")); map.put("thisMonthCount", thirdMaintenanceOrderList.size()); map.put("thisMonthFinishCount", thirdMaintenanceOrderList.stream().filter(eamThirdMaintenanceOrder -> ThirdMaintenanceStatusEnum.COMPLETE.name().equals(eamThirdMaintenanceOrder.getMaintenanceStatus())).collect(Collectors.toList()).size()); map.put("thisMonthOverdueCount", thirdMaintenanceOrderList.stream().filter(eamThirdMaintenanceOrder -> ThirdMaintenanceStatusEnum.EXPIRED.name().equals(eamThirdMaintenanceOrder.getMaintenanceStatus())).collect(Collectors.toList()).size()); map.put("nextMonthCount", nextThirdMaintenanceOrderList.size()); return map; } /** *首页 二保计划 */ @Override public Map getSecondGuaranteesPlan() { Map map = new HashMap<>(); //获取本月二保计划 List secondMaintenanceOrderList = equipmentHomeMapper.getSecondGuaranteesPlan(DateUtil.format(new Date(), "yyyy-MM")); //获取下月二保计划 List nextsecondMaintenanceOrderList = equipmentHomeMapper.getSecondGuaranteesPlan(DateUtil.format(DateUtil.nextMonth(), "yyyy-MM")); map.put("thisMonthCount", secondMaintenanceOrderList.size()); map.put("thisMonthFinishCount", secondMaintenanceOrderList.stream().filter(eamSecondMaintenanceOrder -> SecondMaintenanceStatusEnum.COMPLETE.name().equals(eamSecondMaintenanceOrder.getMaintenanceStatus())).collect(Collectors.toList()).size()); map.put("thisMonthOverdueCount", secondMaintenanceOrderList.stream().filter(eamSecondMaintenanceOrder -> SecondMaintenanceStatusEnum.EXPIRED.name().equals(eamSecondMaintenanceOrder.getMaintenanceStatus())).collect(Collectors.toList()).size()); map.put("nextMonthCount", nextsecondMaintenanceOrderList.size()); return map; } }