| | |
| | | package org.jeecg.modules.mdc.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import org.jeecg.modules.mdc.entity.EquipmentLog; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo; |
| | | import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency; |
| | | import org.jeecg.common.system.vo.DictModel; |
| | | import org.jeecg.modules.mdc.constant.MdcConstant; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentDto; |
| | | import org.jeecg.modules.mdc.entity.*; |
| | | import org.jeecg.modules.mdc.mapper.MdcHomeMapper; |
| | | import org.jeecg.modules.mdc.service.IEquipmentLogService; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentService; |
| | | import org.jeecg.modules.mdc.service.IMdcHomeService; |
| | | import org.jeecg.modules.mdc.service.*; |
| | | import org.jeecg.modules.mdc.util.DateUtils; |
| | | import org.jeecg.modules.mdc.vo.*; |
| | | import org.jeecg.modules.system.entity.MdcProduction; |
| | | import org.jeecg.modules.system.service.IMdcProductionService; |
| | | import org.jeecg.modules.system.service.ISysDictService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | private IMdcEquipmentService mdcEquipmentService; |
| | | |
| | | @Resource |
| | | private IEquipmentLogService equipmentLogService; |
| | | private IEquipmentService equipmentService; |
| | | |
| | | @Resource |
| | | private ISysDictService sysDictService; |
| | | |
| | | @Resource |
| | | private IEquipmentWorkLineService equipmentWorkLineService; |
| | | |
| | | @Resource |
| | | private MdcHomeMapper mdcHomeMapper; |
| | | |
| | | @Resource |
| | | private IMdcProductionService mdcProductionService; |
| | | |
| | | @Resource |
| | | private IEquipmentLogService equipmentLogService; |
| | | |
| | | @Resource |
| | | private IMdcFeedbackService mdcFeedbackService; |
| | | |
| | | /** |
| | | * 设备运行状态统计 |
| | |
| | | if (equipmentIdList == null || equipmentIdList.isEmpty()) { |
| | | return result; |
| | | } |
| | | List<EquipmentLog> logList = equipmentLogService.getEquipmentStatusList(equipmentIdList); |
| | | if (logList != null && !logList.isEmpty()) { |
| | | for (EquipmentLog equipmentLog : logList) { |
| | | if (equipmentLog.getOporation() != null) { |
| | | switch (equipmentLog.getOporation()) { |
| | | // List<EquipmentLog> logList = equipmentLogService.getEquipmentStatusList(equipmentIdList); |
| | | List<Equipment> equipmentList = equipmentService.list(new LambdaQueryWrapper<Equipment>().in(Equipment::getEquipmentid, equipmentIdList)); |
| | | if (equipmentList != null && !equipmentList.isEmpty()) { |
| | | for (Equipment equipment : equipmentList) { |
| | | if (equipment.getOporation() != null) { |
| | | switch (equipment.getOporation()) { |
| | | case 1: |
| | | case 2: |
| | | mdcEquipmentStatusVo.setWaitCount(mdcEquipmentStatusVo.getWaitCount() + 1); |
| | |
| | | } |
| | | result.add(mdcCommonVo); |
| | | } |
| | | } |
| | | if (!result.isEmpty()) { |
| | | result.sort(Comparator.comparing(MdcCommonVo::getValue).reversed()); |
| | | } |
| | | return result; |
| | | } |
| | |
| | | String start = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-7).toString(), DateUtils.STR_DATE), DateUtils.STRDATE); |
| | | String end = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE); |
| | | if (equipmentIdList != null && !equipmentIdList.isEmpty()) { |
| | | result.put("equipmentIdList", equipmentIdList); |
| | | List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, equipmentIdList)); |
| | | result.put("mdcEquipmentList", mdcEquipmentList); |
| | | List<MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfoList = mdcHomeMapper.getEquipmentSevenUtilizationStatistics(equipmentIdList, start, end); |
| | | List<EquipmentDayUtilizationVo> dataList = new ArrayList<>(); |
| | | if (mdcEquipmentStatisticalInfoList != null && !mdcEquipmentStatisticalInfoList.isEmpty()) { |
| | |
| | | */ |
| | | @Override |
| | | public MdcHomeEfficiencyVo getEquipmentLevelEfficiencyStatistics(String equipmentId) { |
| | | MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, equipmentId)); |
| | | if (mdcEquipment == null) { |
| | | return null; |
| | | } |
| | | MdcHomeEfficiencyVo result = new MdcHomeEfficiencyVo(); |
| | | String date = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE); |
| | | MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo = mdcHomeMapper.getUtilizationByDay(Arrays.asList(equipmentId.split(",")), date); |
| | |
| | | */ |
| | | @Override |
| | | public Map<String, Object> getEquipmentAnnualEfficiencyStatistics(String equipmentId) { |
| | | MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, equipmentId)); |
| | | if (mdcEquipment == null) { |
| | | return null; |
| | | } |
| | | Map<String, Object> result = new HashMap<>(); |
| | | Date end = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE); |
| | | Date start = DateUtils.toDate(LocalDate.now().plusMonths(-12).toString(), DateUtils.STR_DATE); |
| | |
| | | if (BigDecimal.ZERO.compareTo(processLong) == -1) { |
| | | mdcHomeEquipmentVo.setUtilizationRate(processLong.divide(processDay.multiply(new BigDecimal("86400")), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP)); |
| | | if (BigDecimal.ZERO.compareTo(openLong) == -1) { |
| | | mdcHomeEquipmentVo.setStartRate(openLong.divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)); |
| | | mdcHomeEquipmentVo.setStartRate(openLong.divide(new BigDecimal("86400"), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)); |
| | | mdcHomeEquipmentVo.setOpenRate(processDay.divide(openLong, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP)); |
| | | } |
| | | } |
| | |
| | | result.put("dataList", dataList); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 设备级设备列表 |
| | | */ |
| | | @Override |
| | | public List<MdcEquipment> getEquipmentList(String key) { |
| | | return mdcHomeMapper.getEquipmentList(key); |
| | | } |
| | | |
| | | @Override |
| | | public MdcEquipmentDto getEquipmentDetails(String equipmentId) { |
| | | MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, equipmentId)); |
| | | List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(MdcConstant.SERIA_TYPE); |
| | | if (dictModelList != null && !dictModelList.isEmpty()) { |
| | | for (DictModel dictModel : dictModelList) { |
| | | if (dictModel.getValue().equals(mdcEquipment.getDriveType())) { |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | String saveTableName = mdcEquipment.getSaveTableName(); |
| | | MdcEquipmentDto dto = equipmentWorkLineService.getMacingDataList(saveTableName); |
| | | if (dto != null) { |
| | | if ("LSV2".equals(mdcEquipment.getDriveType())) { |
| | | dto.setSpindlebeilv(dto.getSFeed()); |
| | | dto.setFeedbeilv(dto.getFFeed()); |
| | | dto.setRapidfeed(dto.getRapidfeed()); |
| | | dto.setNCVersion(dto.getNCVersion()); |
| | | dto.setTNCVersion(dto.getTNCVersion()); |
| | | dto.setOPTVersion(dto.getOPTVersion()); |
| | | dto.setPLCVersion(dto.getPLCVersion()); |
| | | } |
| | | // 查询设备状态 |
| | | EquipmentLog equipmentLog = equipmentLogService.selectEquipmentOporation(mdcEquipment.getEquipmentId()); |
| | | Integer oporation = equipmentLog.getOporation(); |
| | | if (oporation == 22) { |
| | | dto.setALRMstate(equipmentLog.getAlarm()); |
| | | } else { |
| | | dto.setALRMstate("无"); |
| | | } |
| | | } else { |
| | | return null; |
| | | } |
| | | return dto; |
| | | } |
| | | |
| | | @Override |
| | | public List<MdcFeedback> getFeedbackList(String key) { |
| | | return mdcFeedbackService.getFeedbackList(key); |
| | | } |
| | | } |