Browse Source

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

bieao 5 năm trước cách đây
mục cha
commit
5822717786

+ 2 - 2
lift-business-service/pom.xml

@@ -38,10 +38,10 @@
             <groupId>commons-fileupload</groupId>
             <artifactId>commons-fileupload</artifactId>
         </dependency>
-        <!--<dependency>
+        <dependency>
             <groupId>cn.com.xwy</groupId>
             <artifactId>xwy-cloud-dependencies</artifactId>
-        </dependency>-->
+        </dependency>
 
     </dependencies>
 

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/library/controller/LiftController.java

@@ -188,7 +188,7 @@ public class LiftController {
      * @date 2019/11/27 10:03 AM
      */
     @PostMapping("modify")
-    @Validation(fields = {"mtCompanyId", "relevanceId"})
+    @Validation(fields = {"mtCompanyId"})
     public RestResponse modify(@Val @RequestBody LiftRequest request) {
         Validator.valid(request.getLift(), "id");
        return liftService.modify(request);

+ 34 - 11
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -13,7 +13,9 @@ import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
 import cn.com.ty.lift.business.library.dao.entity.model.response.LiftAnnualInspectionResponse;
 import cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse;
 import cn.com.ty.lift.business.library.dao.mapper.LiftMapper;
+import cn.com.ty.lift.business.maintenance.dao.entity.MaintenancePlan;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.LiftPrintResponse;
+import cn.com.ty.lift.business.maintenance.service.MaintenancePlanService;
 import cn.com.ty.lift.business.maintenance.service.MaintenanceService;
 import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
@@ -30,7 +32,6 @@ import cn.com.ty.lift.common.model.PushUserInfo;
 import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.ty.lift.common.utils.SendMessageUtil;
 import cn.com.ty.lift.common.verify.Validate;
-import cn.com.ty.lift.common.verify.VerifyUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
@@ -95,6 +96,9 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
     @Resource
     private CommonMapper commonMapper;
 
+    @Resource
+    private MaintenancePlanService maintenancePlanService;
+
     private Map<String, String> headsMap = new LinkedHashMap<String,String>() {{
         put("liftCode", "电梯号");
         put("registrationCode", "注册代码");
@@ -404,6 +408,8 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
     @Transactional(rollbackFor = Exception.class)
     public RestResponse modify(LiftRequest request) {
         Lift lift = request.getLift();
+        Long newWorkerId = request.getWorkerId();
+        Long mtCompanyId = request.getMtCompanyId();
         Optional<Lift> oldLift = getOne(null, lift.getId());
         if (!oldLift.isPresent())
             return RestResponse.fail(MessageUtils.get("msg.lift.not.exist"));
@@ -420,14 +426,20 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
             return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
 
         Lift entry = oldLift.get();
+        ProjectLiftRelevance liftRelevance = projectRelevanceService.getOne(mtCompanyId, entry.getId());
+        Long projectId = null;
+        if (Objects.nonNull(liftRelevance)) {
+            projectId = liftRelevance.getProjectId();
+        }
         String devicePosition = entry.getDevicePosition();
         String newDevicePosition = lift.getDevicePosition();
         if (!Objects.equals(devicePosition, newDevicePosition)) {
-            //更新电梯定位发送推送消息
-            sendModifyMessage(lift.getId(), request.getProjectId(), request.getMtCompanyId(), devicePosition, newDevicePosition);
+            if (Objects.nonNull(projectId))
+                //更新电梯定位发送推送消息
+                sendModifyMessage(lift.getId(), projectId, mtCompanyId, devicePosition, newDevicePosition);
         }
         //生成电梯操作记录
-        LiftHistory history = liftHistoryService.createOperaHistory(entry, lift, request.getMtCompanyId());
+        LiftHistory history = liftHistoryService.createOperaHistory(entry, lift, mtCompanyId);
         if (Objects.nonNull(history)) {
             //保存电梯操作记录
             boolean historyResult = liftHistoryService.save(history);
@@ -436,13 +448,24 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
                 return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
             }
         }
-        ProjectLiftRelevance liftRelevance = new ProjectLiftRelevance();
-        liftRelevance.setId(request.getRelevanceId());
-        liftRelevance.setWorkerId(request.getWorkerId());
-        boolean ret = projectRelevanceService.modify(liftRelevance);
-        if (!ret) {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        if (Objects.nonNull(liftRelevance)) {
+            liftRelevance.setWorkerId(newWorkerId);
+            boolean ret = projectRelevanceService.modify(liftRelevance);
+            if (!ret) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+            }
+
+            List<Long> liftIdList = new ArrayList<>();
+            liftIdList.add(entry.getId());
+            List<MaintenancePlan> planList = maintenancePlanService.getPlanList(mtCompanyId, liftIdList);
+            //修改未完成的维保计划为新的维保负责人
+            planList.forEach(plan -> plan.setWorkerId(newWorkerId));
+            boolean planResult = maintenancePlanService.updateBatchById(planList);
+            if (!planResult) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+            }
         }
         return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
     }

+ 16 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenancePlanService.java

@@ -485,6 +485,22 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         return remove(queryWrapper);
     }
 
+    /**
+     * @param mtCompanyId 公司id
+     * @param liftList 电梯id列表
+     * @return List<MaintenancePlan> 维保计划列表
+     * @description 根据公司id和电梯id列表获取维保计划
+     * @date 2020/5/23 3:58 下午
+     */
+    public List<MaintenancePlan> getPlanList(Long mtCompanyId, Collection<Long> liftList) {
+        QueryWrapper<MaintenancePlan> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<MaintenancePlan> lambdaQueryWrapper = queryWrapper.lambda();
+        lambdaQueryWrapper.eq(MaintenancePlan::getMtCompanyId, mtCompanyId);
+        lambdaQueryWrapper.in(MaintenancePlan::getLiftId, liftList);
+        lambdaQueryWrapper.eq(MaintenancePlan::getStatus, 0);
+        return list(queryWrapper);
+    }
+
     /**
      * @param mtCompanyId 公司id
      * @param liftId      电梯id

+ 20 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -6,6 +6,8 @@ import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
 import cn.com.ty.lift.business.library.service.LiftService;
 import cn.com.ty.lift.business.library.service.PlatformCompanyLiftRelevanceService;
+import cn.com.ty.lift.business.maintenance.dao.entity.MaintenancePlan;
+import cn.com.ty.lift.business.maintenance.service.MaintenancePlanService;
 import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.project.dao.entity.Region;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRequest;
@@ -20,6 +22,7 @@ import cn.com.ty.lift.common.model.PushMessage;
 import cn.com.ty.lift.common.model.PushUserInfo;
 import cn.com.ty.lift.common.utils.SendMessageUtil;
 import cn.com.xwy.boot.web.dto.RestResponse;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -66,6 +69,9 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
     @Resource
     private CommonMapper commonMapper;
 
+    @Resource
+    private MaintenancePlanService maintenancePlanService;
+
     /**
      * @param request 项目关联数据
      * @return RestResponse 状态码和返回消息
@@ -270,9 +276,10 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
     /**
      * @param request 项目电梯id列表
      * @return 是否成功
-     * @description 批量更新
+     * @description 批量更新电梯维保负责人,并修改未完成的维保计划为新的维保负责人
      * @date 2020/5/8 4:15 下午
      */
+    @Transactional(rollbackFor = Exception.class)
     public RestResponse batchModify(ProjectRequest request){
         Long newWorkerId = request.getWorkerId();
         List<ProjectLiftRelevance> list = request.getList();
@@ -282,6 +289,18 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
         for (ProjectLiftRelevance entry : list) {
             sendMessage(entry.getProjectId(), entry.getMtCompanyId(), entry.getLiftId(), entry.getWorkerId(), newWorkerId);
         }
+        //查询未完成的维保任务
+        List<Long> liftIdList = list.stream().map(ProjectLiftRelevance::getLiftId).collect(Collectors.toList());
+        if (CollUtil.isNotEmpty(liftIdList)) {
+            List<MaintenancePlan> planList = maintenancePlanService.getPlanList(request.getMtCompanyId(), liftIdList);
+            //修改未完成的维保计划为新的维保负责人
+            planList.forEach(entry -> entry.setWorkerId(newWorkerId));
+            boolean planResult = maintenancePlanService.updateBatchById(planList);
+            if (!planResult) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+            }
+        }
         return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
     }
 

+ 1 - 1
lift-business-service/src/main/resources/application.yml

@@ -5,7 +5,7 @@ spring:
   application:
     name: lift-business-service
   profiles:
-    active: test
+    active: prod
   datasource:
     hikari:
       max-lifetime: 1200000 # default: 1800000

+ 4 - 4
lift-system-service/pom.xml

@@ -18,10 +18,10 @@
             <artifactId>xwy-spring-boot</artifactId>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>cn.com.xwy</groupId>-->
-<!--            <artifactId>xwy-cloud-dependencies</artifactId>-->
-<!--        </dependency>-->
+        <dependency>
+            <groupId>cn.com.xwy</groupId>
+            <artifactId>xwy-cloud-dependencies</artifactId>
+        </dependency>
 
         <!-- 添加公共模块依赖 -->
         <dependency>

+ 1 - 1
lift-system-service/src/main/resources/application.yml

@@ -14,7 +14,7 @@ spring:
   application:
     name: lift-system-service
   profiles:
-    active: test
+    active: prod
 
 #自动添加createTime、isDelete 等字段
 xwy: