Procházet zdrojové kódy

提前保养,修改维保计划

别傲 před 5 roky
rodič
revize
3329080240

+ 2 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenancePlanService.java

@@ -411,7 +411,8 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         Project project = new Project();
         if (optional.isPresent()) project = optional.get();
         if (ObjectUtil.isEmpty(project)) return false;
-        LocalDate endDate = project.getEndDate();
+        //项目结束时间默认增加三个月
+        LocalDate endDate = project.getEndDate().plusMonths(3);
         //获取当前的保养时间
         LocalDate currentTime = request.getCurrentTime();
         //获取修改的保养时间

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

@@ -131,14 +131,15 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
      */
     @Transactional(rollbackFor = Exception.class)
     public boolean modifyPlan(MaintenanceRecordRequest request) {
+        MaintenanceRecord record = request.getRecord();
         //获取公司id
-        Long mtCompanyId = request.getMtCompanyId();
+        Long mtCompanyId = record.getMtCompanyId();
         //获取电梯id
-        Long liftId = request.getLiftId();
+        Long liftId = record.getLiftId();
         //获取项目id
-        Long projectId = request.getProjectId();
+        Long projectId = record.getProjectId();
         //获取维保工id
-        Long workerId = request.getUserId();
+        Long workerId = record.getWorkerId();
         MaintenancePlan plan = new MaintenancePlan();
         plan.setProjectId(projectId);
         plan.setMtCompanyId(mtCompanyId);
@@ -148,9 +149,10 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         Project project = new Project();
         if (optional.isPresent()) project = optional.get();
         if (ObjectUtil.isEmpty(project)) return false;
-        LocalDate endDate = project.getEndDate();
+        //项目结束时间默认增加三个月
+        LocalDate endDate = project.getEndDate().plusMonths(3);
         //获取当前的保养时间
-        LocalDate currentTime = request.getCurrentTime();
+        LocalDate currentTime = LocalDate.now();
         //获取当前期数
         Integer periods = request.getPeriods();
         //获取当前电梯的保养间隔
@@ -159,7 +161,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         int interval = entry.getPlanInterval();
         List<MaintenancePlan> planList = maintenancePlanService.findPlanList(liftId, projectId, mtCompanyId, currentTime);
         //获取当前时间后的维保计划列表,并清除计划
-        removeByIds(planList.stream().map(MaintenancePlan::getId).collect(Collectors.toList()));
+        maintenancePlanService.removeByIds(planList.stream().map(MaintenancePlan::getId).collect(Collectors.toList()));
         //按照修改时间重新生成计划
         List<MaintenancePlan> plans = maintenancePlanService.generatePlan(plan, periods, interval, currentTime, endDate);
         return maintenancePlanService.saveBatch(plans, plans.size());
@@ -194,6 +196,11 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         boolean result = calc(liftCoordinate, coordinate);
         if (result)
             return RestResponse.fail(MessageUtils.get("msg.error.person.scope"));
+        //若提前保养,需要修改维保计划
+        boolean modifyPlan = modifyPlan(request);
+        if (!modifyPlan){
+            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        }
         Optional<Lift> lift = liftService.getOne(null, liftId);
         if (lift.isPresent()) {
             Lift l = lift.get();
@@ -207,6 +214,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             record.setPlanDate(plan.getPlanDate());
             boolean ret = save(record);
             if (!ret) {
+                rollback();
                 return RestResponse.fail(MessageUtils.get("msg.add.fail"));
             }
             plan.setStatus(Integer.parseInt(CommonEnum.MaintenancePlanStatus.MAINTENANCE_DOING.getCode()));
@@ -218,12 +226,6 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         } else {
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
-        //若提前保养,需要修改维保计划
-        boolean modifyPlan = modifyPlan(request);
-        if (!modifyPlan){
-            rollback();
-            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
-        }
         return RestResponse.success(record.getId(), MessageUtils.get("msg.add.success"));
     }
 

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectAppController.java

@@ -106,7 +106,7 @@ public class ProjectAppController {
      * @date 2020/1/13 2:12 下午
      */
     @PostMapping("record/add")
-    @Validation(fields = {"coordinate"})
+    @Validation(fields = {"coordinate", "periods"})
     public RestResponse add(@Val @RequestBody MaintenanceRecordRequest request) {
         Validator.valid(request.getRecord(), "mtPlanId", "liftId", "projectId", "mtCompanyId", "workerId", "type", "position", "workerId1");
         return maintenanceRecordService.saveRecord(request);