Ver Fonte

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

bieao há 5 anos atrás
pai
commit
156511e9c5

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

@@ -1,20 +1,20 @@
 package cn.com.ty.lift.business.library.controller;
 
 import cn.com.ty.lift.business.framework.util.MessageUtils;
-import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.model.request.*;
-import cn.com.ty.lift.business.library.dao.entity.model.response.LiftExtendResponse;
 import cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse;
 import cn.com.ty.lift.business.library.service.LiftService;
 import cn.com.ty.lift.business.library.service.PlatformCompanyLiftRelevanceService;
-import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.project.service.ProjectLiftRelevanceService;
 import cn.com.ty.lift.common.base.ExportRequest;
 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.metadata.IPage;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
@@ -166,14 +166,14 @@ public class LiftController {
     }
 
     /**
-     * @param lift 修改电梯数据项
+     * @param request 修改电梯数据项
      * @return 1.成功, 0.失败, 消息描述
      * @description 修改电梯
      * @date 2019/11/27 10:03 AM
      */
     @PostMapping("modify")
-    public RestResponse modify(@RequestBody Lift lift) {
-       return liftService.modify(lift);
+    public RestResponse modify(@Valid @RequestBody LiftModifyRequest request) {
+       return liftService.modify(request);
     }
 
     /**

+ 31 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/request/LiftModifyRequest.java

@@ -0,0 +1,31 @@
+package cn.com.ty.lift.business.library.dao.entity.model.request;
+
+import cn.com.ty.lift.business.library.dao.entity.Lift;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2020/3/5
+ * @description 电梯修改请求
+ */
+@Data
+public class LiftModifyRequest {
+    /**
+     * 项目电梯关联id
+     */
+    @NotNull(message = "notEmpty")
+    private Long relevanceId;
+
+    /**
+     * 维保工
+     */
+    private Long workerId;
+
+    /**
+     * 电梯
+     */
+    @NotNull(message = "notEmpty")
+    private Lift lift;
+}

+ 10 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/response/LiftExtendResponse.java

@@ -17,4 +17,14 @@ public class LiftExtendResponse extends Lift {
      * 维保工
      */
     private String workerName;
+
+    /**
+     * 维保工id
+     */
+    private Long workerId;
+
+    /**
+     * 项目关联id
+     */
+    private Long relevanceId;
 }

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

@@ -5,13 +5,11 @@ import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.PlatformCompanyLiftRelevance;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftImportModel;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftProjectModel;
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftChooseRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftExtensionRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.request.ProjectLiftRequest;
+import cn.com.ty.lift.business.library.dao.entity.model.request.*;
 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.model.response.LiftPrintResponse;
+import cn.com.ty.lift.business.maintenance.service.MaintenanceService;
 import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.project.service.ProjectLiftRelevanceService;
 import cn.com.ty.lift.common.base.ExportRequest;
@@ -56,6 +54,9 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
     @Resource
     private ProjectLiftRelevanceService projectRelevanceService;
 
+    @Resource
+    private MaintenanceService maintenanceService;
+
     private Map<String, String> paramMap = new HashMap<String, String>() {{
         put("liftCode", "电梯号");
         put("registrationCode", "注册代码");
@@ -192,8 +193,8 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
         //公司id
         Long mtCompanyId = request.getMtCompanyId();
         Lift lift = request.getLift();
-        /*if (verify(mtCompanyId))
-        return RestResponse.fail(ApiConstants.RESULT_ERROR, MessageUtils.get("msg.limit.num"));*/
+        if (maintenanceService.judge(mtCompanyId))
+        return RestResponse.fail(ApiConstants.RESULT_ERROR, MessageUtils.get("msg.limit.num"));
         RestResponse response = preJudgment(mtCompanyId, lift.getRegistrationCode());
         if (ApiConstants.RESULT_ERROR.equals(response.getStatusCode())) return response;
         //新增标记 (0:新增,1:查询后带入)
@@ -247,17 +248,28 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
     }
 
     /**
-     * @param lift 修改电梯数据项
+     * @param request 修改电梯数据项
      * @return RestResponse 状态码和返回消息
      * @description 修改电梯
      * @date 2019/11/27 2:22 PM
      */
-    public RestResponse modify(Lift lift) {
+    @Transactional(rollbackFor = Exception.class)
+    public RestResponse modify(LiftModifyRequest request) {
+        Lift lift = request.getLift();
         int result = baseMapper.updateById(lift);
-        if (result > 0) {
-            return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
+        if (result < 0) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            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"));
         }
-        return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
     }
 
     /**

+ 18 - 14
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/PlatformCompanyLiftRelevanceService.java

@@ -143,6 +143,7 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
         //根据项目id和公司id查询电梯列表
         List<ProjectLiftRelevance> liftList = projectLiftRelevanceService.findLiftList(mtCompanyId, projectId);
         Collection<Long> list = liftList.stream().map(ProjectLiftRelevance::getRelevanceId).collect(Collectors.toList());
+        if (CollUtil.isEmpty(list)) return new ArrayList<>();
         return baseMapper.selectBatchIds(list);
     }
 
@@ -172,11 +173,13 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
                 project.setEndDate(request.getEndDate());
                 project.setProjectStatus(CommonEnum.ProjectStatus.IN_SERVICE.getCode());
                 projectService.modify(project);
-                //电梯状态设置为正常
-                resultList.forEach(entry -> entry.setLiftCompanyStatus(CommonEnum.LiftStatus.NORMAL.getCode()));
-                boolean result = updateBatchById(resultList);
-                if (!result) {
-                    return RestResponse.fail(MessageUtils.get("msg.modify.batch.fail"));
+                if (CollUtil.isNotEmpty(resultList)) {
+                    //电梯状态设置为正常
+                    resultList.forEach(entry -> entry.setLiftCompanyStatus(CommonEnum.LiftStatus.NORMAL.getCode()));
+                    boolean result = updateBatchById(resultList);
+                    if (!result) {
+                        return RestResponse.fail(MessageUtils.get("msg.modify.batch.fail"));
+                    }
                 }
                 break;
             //停止服务
@@ -188,16 +191,17 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
                 project.setEndRemarks(request.getEndRemarks());
                 project.setStopTime(request.getStopTime());
                 projectService.modify(project);
+                if (CollUtil.isNotEmpty(resultList)) {
+                    //批量停保项目下的电梯
+                    resultList.forEach(entry -> entry.setLiftCompanyStatus(CommonEnum.LiftStatus.STOP_INSURANCE.getCode()));
+                    updateBatchById(resultList);
 
-                //批量停保项目下的电梯
-                resultList.forEach(entry -> entry.setLiftCompanyStatus(CommonEnum.LiftStatus.STOP_INSURANCE.getCode()));
-                updateBatchById(resultList);
-
-                //根据项目id和公司id查询电梯列表
-                List<ProjectLiftRelevance> liftList = projectLiftRelevanceService.findLiftList(mtCompanyId, projectId);
-                Collection<Long> list = liftList.stream().map(ProjectLiftRelevance::getLiftId).collect(Collectors.toList());
-                //批量清除维保计划
-                maintenancePlanService.removeMaintenancePlan(mtCompanyId, list);
+                    //根据项目id和公司id查询电梯列表
+                    List<ProjectLiftRelevance> liftList = projectLiftRelevanceService.findLiftList(mtCompanyId, projectId);
+                    Collection<Long> list = liftList.stream().map(ProjectLiftRelevance::getLiftId).collect(Collectors.toList());
+                    //批量清除维保计划
+                    maintenancePlanService.removeMaintenancePlan(mtCompanyId, list);
+                }
                 break;
             //继续服务
             case "3":

+ 3 - 1
lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml

@@ -189,7 +189,9 @@
     <select id="queryById" resultType="cn.com.ty.lift.business.library.dao.entity.model.response.LiftExtendResponse"
             parameterType="java.lang.Long">
         SELECT l.*,
-               ui.name as workerName
+               plr.id  AS relevanceId,
+               plr.worker_id AS workerId,
+               ui.name AS workerName
         FROM lift l
                  LEFT JOIN project_lift_relevance plr ON l.id = plr.lift_id
                  LEFT JOIN user_info ui ON plr.worker_id = ui.user_id