浏览代码

修复bug:提前保养,维保计划全部完成,增加判断

别傲 5 年之前
父节点
当前提交
8c70df1b51

+ 10 - 8
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -192,15 +192,17 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         if (ObjectUtil.isEmpty(entry)) return false;
         int interval = entry.getPlanInterval();
         List<MaintenancePlan> planList = maintenancePlanService.findPlanList(liftId, projectId, mtCompanyId, request.getCurrentTime(), "record");
-        //提前保养跳过当前保养的计划
-        Iterator<MaintenancePlan> iterator = planList.iterator();
-        if (iterator.hasNext()) {
-            MaintenancePlan next = iterator.next();
-            if (Objects.nonNull(next))
-                iterator.remove();
+        if (CollUtil.isNotEmpty(planList)) {
+            //提前保养跳过当前保养的计划
+            Iterator<MaintenancePlan> iterator = planList.iterator();
+            if (iterator.hasNext()) {
+                MaintenancePlan next = iterator.next();
+                if (Objects.nonNull(next))
+                    iterator.remove();
+            }
+            //获取当前时间后的维保计划列表,并清除计划
+            maintenancePlanService.removeByIds(planList.stream().map(MaintenancePlan::getId).collect(Collectors.toList()));
         }
-        //获取当前时间后的维保计划列表,并清除计划
-        maintenancePlanService.removeByIds(planList.stream().map(MaintenancePlan::getId).collect(Collectors.toList()));
         //按照修改时间重新生成计划
         LocalDate beginTime = request.getCurrentTime().plusDays(interval);
         List<MaintenancePlan> plans = maintenancePlanService.generatePlan(plan, periods, interval, beginTime, endDate);