| | |
| | | package org.jeecg.modules.mdc.service.impl; |
| | | |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.jeecg.modules.mdc.dto.MdcAlarmAnalyzeDto; |
| | | import org.jeecg.modules.mdc.dto.MdcAlarmDto; |
| | | import org.jeecg.modules.mdc.dto.MdcAlarmTrendDto; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentRunningSectionService; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentService; |
| | | import org.jeecg.modules.mdc.service.MdcEquipmentAlarmAnalyzeService; |
| | | import org.jeecg.modules.mdc.util.DateUtils; |
| | | import org.jeecg.modules.mdc.vo.DayUtilizationRateContrastQueryVo; |
| | | import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.logging.Handler; |
| | | |
| | | /** |
| | | * @author: LiuS |
| | |
| | | private IMdcEquipmentService mdcEquipmentService; |
| | | |
| | | @Override |
| | | public List<MdcAlarmAnalyzeDto> alarmList(String userId, DayUtilizationRateContrastQueryVo vo) { |
| | | public List<MdcAlarmAnalyzeDto> alarmList(String userId, MdcAlarmAnalyzeQueryVo vo) { |
| | | List<MdcAlarmAnalyzeDto> result = new ArrayList<>(); |
| | | List<String> equipmentIds = new ArrayList<>(); |
| | | if (StringUtils.isNotEmpty(vo.getParentId()) && StringUtils.isEmpty(vo.getEquipmentId())) { |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public MdcAlarmTrendDto alarmTrend(String userId, MdcAlarmAnalyzeQueryVo vo) { |
| | | MdcAlarmTrendDto result = new MdcAlarmTrendDto(); |
| | | List<String> equipmentIds = new ArrayList<>(); |
| | | if (StringUtils.isNotEmpty(vo.getParentId()) && StringUtils.isEmpty(vo.getEquipmentId())) { |
| | | if ("2".equals(vo.getTypeTree())) { |
| | | // 部门层级 |
| | | equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, vo.getParentId()); |
| | | } else { |
| | | // 产线层级 |
| | | equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, vo.getParentId()); |
| | | } |
| | | } else if (StringUtils.isNotEmpty(vo.getEquipmentId())) { |
| | | // 单台设备信息 |
| | | vo.setEquipmentIdList(Collections.singletonList(vo.getEquipmentId())); |
| | | } else { |
| | | // 查询用户拥有的所有设备信息 |
| | | if ("2".equals(vo.getTypeTree())) { |
| | | // 部门层级 |
| | | equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); |
| | | } else { |
| | | // 产线层级 |
| | | equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); |
| | | } |
| | | } |
| | | if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) { |
| | | vo.setEquipmentIdList(equipmentIds); |
| | | } |
| | | if (vo.getEquipmentIdList() != null && !vo.getEquipmentIdList().isEmpty()) { |
| | | result.setEquipmentList(vo.getEquipmentIdList()); |
| | | List<MdcAlarmDto> equipmentCountList = new ArrayList<>(); |
| | | String startDate = DateUtils.format(DateUtils.toDate(vo.getStartDate(), DateUtils.STRDATE), DateUtils.STR_DATE) + " 00:00:00"; |
| | | String endDate = DateUtils.format(DateUtils.addDays(DateUtils.toDate(vo.getEndDate(), DateUtils.STRDATE), 1), DateUtils.STR_DATE) + " 00:00:00"; |
| | | for (String equipmentId : result.getEquipmentList()) { |
| | | MdcAlarmDto mdcAlarmDto = new MdcAlarmDto(); |
| | | mdcAlarmDto.setKey(equipmentId); |
| | | Integer count = mdcEquipmentRunningSectionService.findAlarmCount(equipmentId, startDate, endDate, vo.getAlarmCode()); |
| | | mdcAlarmDto.setCount(count); |
| | | equipmentCountList.add(mdcAlarmDto); |
| | | } |
| | | result.setEquipmentCountList(equipmentCountList); |
| | | } |
| | | |
| | | Date start = DateUtils.toDate(vo.getStartDate(), DateUtils.STRDATE); |
| | | Date end = DateUtils.toDate(vo.getEndDate(), DateUtils.STRDATE); |
| | | List<String> dateList = DateUtils.getDatesStringLists(start, end); |
| | | result.setDateList(dateList); |
| | | List<String> datesStringList = DateUtils.getDatesStringList(start, end); |
| | | List<MdcAlarmDto> dateCountList = new ArrayList<>(); |
| | | for (String date : datesStringList) { |
| | | MdcAlarmDto mdcAlarmDto = new MdcAlarmDto(); |
| | | mdcAlarmDto.setKey(DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE), DateUtils.STR_MMDD)); |
| | | String startDate = date + " 00:00:00"; |
| | | String endDate = DateUtils.format(DateUtils.addDays(DateUtils.toDate(date, DateUtils.STR_DATE), 1), DateUtils.STR_DATE) + " 00:00:00"; |
| | | Integer count = mdcEquipmentRunningSectionService.findAlarmCountByDate(startDate, endDate, vo); |
| | | mdcAlarmDto.setCount(count); |
| | | dateCountList.add(mdcAlarmDto); |
| | | } |
| | | result.setDateCountList(dateCountList); |
| | | return result; |
| | | } |
| | | } |