Browse Source

Merge branch 'feature-bieao' of lift-manager/lift-server into develop

bieao 5 years ago
parent
commit
b48f08804c

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

@@ -152,19 +152,22 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         if (ObjectUtil.isEmpty(project)) return false;
         //项目结束时间默认增加三个月
         LocalDate endDate = project.getEndDate().plusMonths(3);
-        //获取当前的保养时间
-        LocalDate currentTime = LocalDate.now();
         //获取当前期数
         Integer periods = request.getPeriods();
         //获取当前电梯的保养间隔
         ProjectLiftRelevance entry = projectLiftRelevanceService.getOne(mtCompanyId, liftId);
         if (ObjectUtil.isEmpty(entry)) return false;
         int interval = entry.getPlanInterval();
-        List<MaintenancePlan> planList = maintenancePlanService.findPlanList(liftId, projectId, mtCompanyId, currentTime);
+        List<MaintenancePlan> planList = maintenancePlanService.findPlanList(liftId, projectId, mtCompanyId, request.getCurrentTime());
         //获取当前时间后的维保计划列表,并清除计划
         maintenancePlanService.removeByIds(planList.stream().map(MaintenancePlan::getId).collect(Collectors.toList()));
         //按照修改时间重新生成计划
-        List<MaintenancePlan> plans = maintenancePlanService.generatePlan(plan, periods, interval, currentTime, endDate);
+        List<MaintenancePlan> plans = maintenancePlanService.generatePlan(plan, periods, interval, request.getCurrentTime(), endDate);
+        for (MaintenancePlan p : plans) {
+            if (request.getCurrentTime().equals(p.getPlanDate())) {
+                p.setStatus(Integer.parseInt(CommonEnum.MaintenancePlanStatus.MAINTENANCE_DOING.getCode()));
+            }
+        }
         return maintenancePlanService.saveBatch(plans, plans.size());
     }
 
@@ -181,6 +184,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         Long mtCompanyId = record.getMtCompanyId();
         Long workerId = record.getWorkerId();
         Long liftId = record.getLiftId();
+        request.setCurrentTime(LocalDate.now());
         //校验电梯是否定位
         String liftCoordinate = getCoordinate(liftId);
         if (StrUtil.isEmpty(liftCoordinate)) return RestResponse.fail(MessageUtils.get("msg.lift.not.position"));
@@ -206,6 +210,13 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             if (!modifyPlan) {
                 return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
             }
+        } else {
+            plan.setStatus(Integer.parseInt(CommonEnum.MaintenancePlanStatus.MAINTENANCE_DOING.getCode()));
+            boolean planResult = maintenancePlanService.updateById(plan);
+            if (!planResult) {
+                rollback();
+                return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+            }
         }
         Optional<Lift> lift = liftService.getOne(null, liftId);
         if (lift.isPresent()) {
@@ -221,12 +232,6 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
                 rollback();
                 return RestResponse.fail(MessageUtils.get("msg.add.fail"));
             }
-            plan.setStatus(Integer.parseInt(CommonEnum.MaintenancePlanStatus.MAINTENANCE_DOING.getCode()));
-            boolean planResult = maintenancePlanService.updateById(plan);
-            if (!planResult){
-                rollback();
-                return RestResponse.fail(MessageUtils.get("msg.add.fail"));
-            }
         } else {
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }