| | |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public void runningProcessCount() { |
| | | // 获取所有设备 |
| | | //List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "2240074")); |
| | | List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(); |
| | | List<MdcProcessCount> result = new ArrayList<>(); |
| | | for (MdcEquipment mdcEquipment : mdcEquipmentList) { |
| | |
| | | } |
| | | // 获取设备班次信息 |
| | | Map<String, List<MdcDeviceCalendarVo>> listMap = this.mdcDeviceCalendarMap(mdcEquipment.getEquipmentId(), stringDates); |
| | | if (listMap.isEmpty()) { |
| | | if (listMap == null || listMap.isEmpty()) { |
| | | listMap = new HashMap<>(); |
| | | } |
| | | List<MdcProcessCount> resultList = new ArrayList<>(); |
| | |
| | | mdcProcessCount.setStartTime(startDate); |
| | | } |
| | | if ("FANUC".equals(mdcEquipment.getDriveType())) { |
| | | // 法兰克设备根据ProductCount字段判断 |
| | | String productCount = mdcEquipmentDtoList.get(0).get("ProductCount").toString(); |
| | | for (int i = 0; i < mdcEquipmentDtoList.size(); i++) { |
| | | if (!productCount.equals(mdcEquipmentDtoList.get(i).get("ProductCount").toString())) { |
| | | productCount = mdcEquipmentDtoList.get(i).get("ProductCount").toString(); |
| | | if (mdcEquipmentDtoList.get(i - 1).get("CollectTime") != null) { |
| | | mdcProcessCount.setEndTime(DateUtils.toDate(mdcEquipmentDtoList.get(i - 1).get("CollectTime").toString(), DateUtils.STR_DATE_TIME)); |
| | | mdcProcessCount.setDuration(TimeFieldUtils.duration(mdcProcessCount.getStartTime(), mdcProcessCount.getEndTime())); |
| | | mdcProcessCount.setSequenceNumber(mdcEquipmentDtoList.get(i - 1).get("Sequencenumber").toString()); |
| | | resultList.add(mdcProcessCount); |
| | | if (TimeFieldUtils.duration(mdcProcessCount.getEndTime(), mdcEquipmentRunningSection.getEndTime()) > 60) { |
| | | //mdcProcessCount.setStartTime(mdcProcessCount.getEndTime()); |
| | | startDate = mdcProcessCount.getEndTime(); |
| | | } else if (j + 1 < equipmentRunningSectionList.size()) { |
| | | //mdcProcessCount.setStartTime(equipmentRunningSectionList.get(j + 1).getStartTime()); |
| | | startDate = equipmentRunningSectionList.get(j + 1).getStartTime(); |
| | | } else { |
| | | startDate = null; |
| | | try { |
| | | // 法兰克设备根据ProductCount字段判断 |
| | | String productCount = mdcEquipmentDtoList.get(0).get("ProductCount").toString(); |
| | | for (int i = 0; i < mdcEquipmentDtoList.size(); i++) { |
| | | if (!productCount.equals(mdcEquipmentDtoList.get(i).get("ProductCount").toString())) { |
| | | productCount = mdcEquipmentDtoList.get(i).get("ProductCount").toString(); |
| | | if (mdcEquipmentDtoList.get(i - 1).get("CollectTime") != null) { |
| | | mdcProcessCount.setEndTime(DateUtils.toDate(mdcEquipmentDtoList.get(i - 1).get("CollectTime").toString(), DateUtils.STR_DATE_TIME)); |
| | | mdcProcessCount.setDuration(TimeFieldUtils.duration(mdcProcessCount.getStartTime(), mdcProcessCount.getEndTime())); |
| | | mdcProcessCount.setSequenceNumber(mdcEquipmentDtoList.get(i - 1).get("Sequencenumber").toString()); |
| | | resultList.add(mdcProcessCount); |
| | | if (TimeFieldUtils.duration(mdcProcessCount.getEndTime(), mdcEquipmentRunningSection.getEndTime()) > 60) { |
| | | //mdcProcessCount.setStartTime(mdcProcessCount.getEndTime()); |
| | | startDate = mdcProcessCount.getEndTime(); |
| | | } else if (j + 1 < equipmentRunningSectionList.size()) { |
| | | //mdcProcessCount.setStartTime(equipmentRunningSectionList.get(j + 1).getStartTime()); |
| | | startDate = equipmentRunningSectionList.get(j + 1).getStartTime(); |
| | | } else { |
| | | startDate = null; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("计算加工工件算法失败!设备编号:" + mdcEquipment.getEquipmentId(), e); |
| | | //System.out.println("计算加工工件算法失败!设备编号:" + mdcEquipment.getEquipmentId()); |
| | | } |
| | | } |
| | | } |