Просмотр исходного кода

根据全局设置判断当前维保工是否可以继续维保电梯

wanghaicheng 4 лет назад
Родитель
Сommit
907c339f4e

+ 3 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenancePlanMapper.java

@@ -58,4 +58,7 @@ public interface MaintenancePlanMapper extends BaseMapper<MaintenancePlan> {
     @Select("SELECT count FROM maintenance_plan WHERE id = #{planId}")
     Long getCountByPlanId(Long planId);
 
+    @Select("select (select value from global_set where company_id = #{mtCompanyId}  and code = 'sameUnits') >" +
+            "       (select count(*) from maintenance_record where worker_id1 = #{workerId1} and status = '1')")
+    boolean selectLiftMaintainableBy(Long workerId1, Long mtCompanyId);
 }

+ 5 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -231,6 +231,11 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         boolean result = calc(liftCoordinate, coordinate);
         if (result)
             return RestResponse.fail(MessageUtils.get("msg.error.person.scope"));
+        log.debug("根据全局设置判断当前维保工是否可以继续维保电梯");
+        boolean maintainable = maintenancePlanService.getBaseMapper().selectLiftMaintainableBy(request.getUserId(), request.getMtCompanyId());
+        if (!maintainable) {
+            return RestResponse.fail("超出公司设置的维保工可维保电梯上限数量");
+        }
         MaintenancePlan plan = maintenancePlanService.getOne(record.getMtPlanId());
         if (ObjectUtil.isEmpty(plan)) return RestResponse.fail(MessageUtils.get("msg.maintenance.plan.not.exist"));