Browse Source

排程数据组装优化

fangpy 10 months ago
parent
commit
cca3b3c780

+ 19 - 15
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsServiceImpl.java

@@ -860,7 +860,7 @@ public class ApsServiceImpl implements ApsService {
         if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
             String[] sbIds = operationDo.getCanchoosedeviceid().split(",");
             for (String equIds : sbIds) {
-                if(equIds.equals("0001be252874536843730b100055")){
+                if(equIds.equals("0001be252874536843730b100052")){
                     System.out.println(equIds);
                 }
                 AspCheckItemsDo checkItemsD = eqMaps.get(equIds);
@@ -981,6 +981,8 @@ public class ApsServiceImpl implements ApsService {
 
                             }
                         }
+                        // 设备占用时间段
+                        List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
                         // 查询相关工序作业
                         Set<String> processIds = new HashSet<>();
                         if (processEqus != null && processEqus.size() > 0) {
@@ -995,7 +997,7 @@ public class ApsServiceImpl implements ApsService {
                             //
                             List<ApsProcessOperationOutMaterDo> outMaterDosAll = apsProcessOperationOutMaterService.list(new LambdaQueryWrapper<ApsProcessOperationOutMaterDo>()
                                     .in(ApsProcessOperationOutMaterDo::getMainid, processIds));
-                            List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
+
                             for (ApsProcessOperationProcessEquDo equs : processEqus) {
                                 EquipmentRunTime er = new EquipmentRunTime();
                                 er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
@@ -1034,22 +1036,24 @@ public class ApsServiceImpl implements ApsService {
                                 }
                                 equipmentRunTimes.add(er);
                             }
-                            // 设备日历不可用时间段
-                            List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
-                                    new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, apsPlanStartDate)
-                                            .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
-                            if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
-                                for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
-                                    EquipmentRunTime er = new EquipmentRunTime();
-                                    er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-                                    er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-                                    er.setOccupyType("maintenance");
-                                    equipmentRunTimes.add(er);
-                                }
+                        }
+                        // 设备日历不可用时间段
+                        List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
+                                new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdendtime, apsPlanStartDate)
+                                        .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
+                        if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
+                            for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
+                                EquipmentRunTime er = new EquipmentRunTime();
+                                er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+                                er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+                                er.setOccupyType("maintenance");
+                                equipmentRunTimes.add(er);
                             }
-
+                        }
+                        if(equipmentRunTimes != null && equipmentRunTimes.size()>0){
                             equipment.setEquipmentRunTimes(equipmentRunTimes);
                         }
+
                         equipmentList.add(equipment);
                     }
                 }