package org.jeecg.modules.screen.service.impl; 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.IMdcEquipmentService; import org.jeecg.modules.screen.dto.EquipmentStatusOverview; import org.jeecg.modules.screen.service.MdcLargeScreenService; import org.jeecg.modules.system.service.ISysDictService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * @Author: Lius * @CreateTime: 2025-02-28 * @Description: */ @Service public class MdcLargeScreenServiceImpl implements MdcLargeScreenService { @Resource private IMdcEquipmentService mdcEquipmentService; @Resource private ISysDictService sysDictService; /** * 设备状态情况 * * @param workshopId * @return */ @Override public EquipmentStatusOverview equipmentStatusOverview(String workshopId) { EquipmentStatusOverview equipmentStatusOverview = new EquipmentStatusOverview(); List equipmentMonitorList = mdcEquipmentService.getEquipmentMonitorList(workshopId); if (equipmentMonitorList != null && !equipmentMonitorList.isEmpty()) { equipmentStatusOverview.setEquipmentCount(equipmentMonitorList.size()); for (MdcEquipmentMonitor mdcEquipmentMonitor : equipmentMonitorList) { if (mdcEquipmentMonitor.getEquipmentStatus() == 0) { if (mdcEquipmentMonitor.getOporation() != null) { switch (mdcEquipmentMonitor.getOporation()) { case 1: case 2: equipmentStatusOverview.setWaitCount(equipmentStatusOverview.getWaitCount() + 1); break; case 3: equipmentStatusOverview.setRunCount(equipmentStatusOverview.getRunCount()); break; case 22: equipmentStatusOverview.setErrorCount(equipmentStatusOverview.getErrorCount() + 1); break; default: equipmentStatusOverview.setCloseCount(equipmentStatusOverview.getCloseCount() + 1); break; } } else { equipmentStatusOverview.setCloseCount(equipmentStatusOverview.getCloseCount() + 1); mdcEquipmentMonitor.setOporation(0); } } else { List dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_EQUIPMENT_STATUS); for (DictModel dictModel : dictList) { if (Integer.valueOf(dictModel.getValue()).equals(mdcEquipmentMonitor.getEquipmentStatus())) { equipmentStatusOverview.setRepairCount(equipmentStatusOverview.getRepairCount() + 1); } } } } } return equipmentStatusOverview; } }