瀏覽代碼

[chg]增加项目服务操作逻辑

别傲 5 年之前
父節點
當前提交
5e2ed606bf

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/PlatformCompanyLiftRelevance.java

@@ -29,7 +29,7 @@ public class PlatformCompanyLiftRelevance {
     private Long companyId;
 
     /**
-     * 电梯公司状态 正常,停保,急修中,年检中,大修中,保养
+     * 电梯公司状态 1:停保,2:正常,3:保养中 4:维修中,5:年检中,6:大修
      */
     private Byte liftCompanyStatus;
 }

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

@@ -16,4 +16,14 @@ public class SelectBatchPlatformCompanyRequest {
      */
     private List<Long> liftIdList;
 
+    /**
+     * 项目id
+     */
+    private Long projectId;
+
+    /**
+     * 1:恢复服务,2:停止服务,3:继续服务
+     */
+    private String operate;
+
 }

+ 47 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/PlatformCompanyLiftRelevanceService.java

@@ -6,7 +6,10 @@ import cn.com.ty.lift.business.library.dao.entity.PlatformCompanyLiftRelevance;
 import cn.com.ty.lift.business.library.dao.entity.model.SelectBatchPlatformCompanyRequest;
 import cn.com.ty.lift.business.library.dao.entity.model.UpdateBatchPlatformCompanyRequest;
 import cn.com.ty.lift.business.library.dao.mapper.PlatformCompanyLiftRelevanceMapper;
+import cn.com.ty.lift.business.project.dao.entity.Project;
+import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -25,6 +28,9 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
     @Resource
     private PlatformCompanyLiftRelevanceMapper mapper;
 
+    @Resource
+    private ProjectMapper projectMapper;
+
     /**
      * @param extension
      * @return PlatformCompanyLiftRelevance
@@ -55,6 +61,47 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
         return RestResponse.ok(list, ApiConstants.RESULT_SUCCESS, "msg.query.success");
     }
 
+    /**
+     * @param request liftIdList 电梯id列表
+     * @return 1.成功, 0.失败, 消息描述
+     * @description 服务操作
+     * @date 2019/12/10 5:42 PM
+     */
+    public RestResponse serviceOperate(SelectBatchPlatformCompanyRequest request) {
+        String operate = request.getOperate();
+        switch (operate) {
+            //恢复服务
+            case "1":
+                break;
+            //停止服务
+            case "2":
+                //TODO 检查电梯是否有进行中的任务,并提醒,清除维保计划等任务
+                List<PlatformCompanyLiftRelevance> resultList = mapper.selectBatchIds(request.getLiftIdList());
+                //项目下非停保状态的电梯状态修改为正常
+                for (PlatformCompanyLiftRelevance entry : resultList) {
+                    entry.setLiftCompanyStatus(new Byte(CommonEnum.LiftStatus.STOP_INSURANCE.getCode()));
+                }
+                boolean ret = updateBatchById(resultList);
+                if (!ret) {
+                    return RestResponse.error(ApiConstants.RESULT_ERROR, MessageUtils.get("msg.modify.batch.fail"));
+                }
+                break;
+            //继续服务
+            case "3":
+                Project project = new Project();
+                project.setId(request.getProjectId());
+                project.setProjectStatus(new Byte(CommonEnum.ProjectStatus.IN_SERVICE.getCode()));
+                int result = projectMapper.updateById(project);
+                if (result < 0) {
+                    return RestResponse.error(ApiConstants.RESULT_ERROR, MessageUtils.get("msg.modify.fail"));
+                }
+                break;
+            default:
+                break;
+        }
+        return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.add.success"));
+    }
+
     /**
      * @param request companyLiftRelevanceList 公司电梯更新列表
      * @return 1.成功, 0.失败, 消息描述

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

@@ -1,6 +1,8 @@
 package cn.com.ty.lift.business.project.controller;
 
 import cn.com.ty.lift.business.library.dao.entity.model.BatchUpdateLiftRequest;
+import cn.com.ty.lift.business.library.dao.entity.model.SelectBatchPlatformCompanyRequest;
+import cn.com.ty.lift.business.library.service.PlatformCompanyLiftRelevanceService;
 import cn.com.ty.lift.business.library.service.ProjectLiftRelevanceService;
 import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
@@ -28,6 +30,9 @@ public class ProjectController {
     @Resource
     private ProjectLiftRelevanceService projectLiftRelevanceService;
 
+    @Resource
+    private PlatformCompanyLiftRelevanceService platformCompanyLiftRelevanceService;
+
     /**
      * @param request 项目列表查询条件
      * @return RestResponse 项目分页列表结果
@@ -116,7 +121,8 @@ public class ProjectController {
     }
 
     /**
-     * @param request
+     * @param request updateLiftList 电梯id列表
+     * @param request operate 0:锁定电梯 1:锁定项目
      * @return 1.成功, 0.失败, 消息描述
      * @description 项目锁定、解锁
      * @date 2019/12/5 4:16 PM
@@ -126,6 +132,19 @@ public class ProjectController {
         return projectLiftRelevanceService.lockOrUnlock(request);
     }
 
+    /**
+     * @param request liftIdList 电梯id列表
+     * @param request projectId 项目id
+     * @param request operate 操作 1:恢复服务,2:停止服务,3:继续服务
+     * @return 1.成功, 0.失败, 消息描述
+     * @description 服务操作
+     * @date 2019/12/10 5:42 PM
+     */
+    @PostMapping("serviceOperate")
+    public RestResponse serviceOperate(@RequestBody SelectBatchPlatformCompanyRequest request) {
+        return platformCompanyLiftRelevanceService.serviceOperate(request);
+    }
+
     /**
      * @param request 导出项目数据列表
      * @return 1.成功, 0.失败, 消息描述

+ 5 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/ProjectRequest.java

@@ -48,6 +48,11 @@ public class ProjectRequest {
      */
     private Long ppCompanyId;
 
+    /**
+     * 甲方联系人id
+     */
+    private Long ppContactId;
+
     /**
      * 当前页码
      */

+ 3 - 0
lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

@@ -100,6 +100,9 @@
 		<if test="request.ppCompanyId!=null and request.ppCompanyId!=''">
 			AND a.pp_company_id = #{request.ppCompanyId,jdbcType=BIGINT}
 		</if>
+		<if test="request.ppContactId!=null and request.ppContactId!=''">
+			AND a.pp_contact_id = #{request.ppContactId,jdbcType=BIGINT}
+		</if>
 		<!--查询项目状态为2:服务中的项目-->
 		<if test="request.projectStatus!=null and request.projectStatus!='' and request.projectStatus == 2">
 			AND a.project_status = #{request.projectStatus,jdbcType=TINYINT}

+ 149 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/CommonEnum.java

@@ -0,0 +1,149 @@
+package cn.com.ty.lift.common.constants;
+
+public class CommonEnum {
+
+    /**
+     * 电梯状态
+     */
+    public enum LiftStatus implements IEnum {
+
+        STOP_INSURANCE("停保", "1"),
+        NORMAL("正常", "2"),
+        MAINTENANCE("保养中", "3"),
+        EMERGENCY_REPAIR("维修中", "4"),
+        ANNUAL_INSPECTION("年检中","5"),
+        CAPITAL_REPAIR("大修中","6");
+        /**
+         * 值
+         */
+        private String label;
+
+        /**
+         * 键
+         */
+        private String code;
+
+        /**
+         * 构造函数
+         *
+         * @param label String
+         * @param code  String
+         */
+        LiftStatus(String label, String code) {
+            this.label = label;
+            this.code = code;
+        }
+
+        /**
+         * 取得枚举区分
+         *
+         * @return String
+         */
+        @Override
+        public String getEnumName() {
+            return "LiftStatus";
+        }
+
+        /**
+         * get
+         *
+         * @return String
+         */
+        @Override
+        public String getLabel() {
+            return label;
+        }
+
+        /**
+         * set
+         *
+         * @return String
+         */
+        @Override
+        public String getCode() {
+            return code;
+        }
+
+        /**
+         * String转换,中间加横杠
+         *
+         * @return String
+         */
+        @Override
+        public String toString() {
+            return this.label;
+        }
+    }
+
+    /**
+     * 项目状态
+     */
+    public enum ProjectStatus implements IEnum {
+
+        DELETE("删除", "0"),
+        NOT_START("尚未开始", "1"),
+        IN_SERVICE("服务中", "2"),
+        STOP_SERVICE("停止服务", "3"),
+        OVERDUE("逾期","4");
+        /**
+         * 值
+         */
+        private String label;
+
+        /**
+         * 键
+         */
+        private String code;
+
+        /**
+         * 构造函数
+         *
+         * @param label String
+         * @param code  String
+         */
+        ProjectStatus(String label, String code) {
+            this.label = label;
+            this.code = code;
+        }
+
+        /**
+         * 取得枚举区分
+         *
+         * @return String
+         */
+        @Override
+        public String getEnumName() {
+            return "ProjectStatus";
+        }
+
+        /**
+         * get
+         *
+         * @return String
+         */
+        @Override
+        public String getLabel() {
+            return label;
+        }
+
+        /**
+         * set
+         *
+         * @return String
+         */
+        @Override
+        public String getCode() {
+            return code;
+        }
+
+        /**
+         * String转换,中间加横杠
+         *
+         * @return String
+         */
+        @Override
+        public String toString() {
+            return this.label;
+        }
+    }
+}

+ 25 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/IEnum.java

@@ -0,0 +1,25 @@
+package cn.com.ty.lift.common.constants;
+
+public interface IEnum {
+
+    /**
+     * 返回枚举区分
+     *
+     * @return 枚举类型名
+     */
+    String getEnumName();
+
+    /**
+     * 取得编号
+     *
+     * @return 枚举code
+     */
+    String getCode();
+
+    /**
+     * 取得label
+     *
+     * @return 枚举名
+     */
+    String getLabel();
+}