Browse Source

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

bieao 5 years ago
parent
commit
5b653c3429

+ 2 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/common/SystemConfiguration.java

@@ -3,6 +3,7 @@ package cn.com.ty.lift.business.common;
 import cn.com.ty.lift.common.utils.AliyunOSSUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.util.StrUtil;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import org.springframework.beans.factory.annotation.Value;
@@ -53,6 +54,7 @@ public class SystemConfiguration {
             builder.serializers(new LocalDateTimeSerializer(
                     DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
             builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
+            builder.serializerByType(Long.class, ToStringSerializer.instance);
         };
     }
 }

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

@@ -1,16 +1,22 @@
 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.LiftBrand;
 import cn.com.ty.lift.business.library.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.library.dao.entity.model.*;
 import cn.com.ty.lift.business.library.service.LiftService;
 import cn.com.ty.lift.business.library.service.PlatformCompanyLiftRelevanceService;
 import cn.com.ty.lift.business.library.service.ProjectLiftRelevanceService;
 import cn.com.ty.lift.common.base.ExportRequest;
+import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.utils.StringUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @author bieao
@@ -38,7 +44,11 @@ public class LiftController {
      */
     @PostMapping("list")
     public RestResponse list(@RequestBody LiftRequest request) {
-        return liftService.list(request);
+        IPage<LiftResponse> page = liftService.list(request);
+        if (!StringUtils.isListEmpty(page.getRecords())) {
+            return RestResponse.ok(null, ApiConstants.RESULT_NO_DATA, MessageUtils.get("msg.data.empty"));
+        }
+        return RestResponse.ok(page, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
     }
 
     /**
@@ -48,7 +58,26 @@ public class LiftController {
      */
     @PostMapping("brand/list")
     public RestResponse list(){
-        return liftService.list();
+        List<LiftBrand> liftBrandList = liftService.list();
+        if (!StringUtils.isListEmpty(liftBrandList)) {
+            return RestResponse.ok(null, ApiConstants.RESULT_NO_DATA, MessageUtils.get("msg.data.empty"));
+        }
+        return RestResponse.ok(liftBrandList, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
+    }
+
+    /**
+     * @param request 电梯列表查询条件
+     * @return RestResponse 项目下电梯列表
+     * @description 查询项目下电梯列表
+     * @date 2019/12/17 11:04 AM
+     */
+    @PostMapping("project/list")
+    public RestResponse liftProjectList(@RequestBody LiftRequest request) {
+        IPage<LiftResponse> page = liftService.findLiftListByProjectId(request);
+        if (!StringUtils.isListEmpty(page.getRecords())) {
+            return RestResponse.ok(null, ApiConstants.RESULT_NO_DATA, MessageUtils.get("msg.data.empty"));
+        }
+        return RestResponse.ok(page, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
     }
 
     /**

+ 7 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/LiftRequest.java

@@ -26,9 +26,14 @@ public class LiftRequest {
     private String projectId;
 
     /**
-     * 电梯品牌、电梯注册代码
+     * 电梯品牌
      */
-    private String condition;
+    private String liftBrand;
+
+    /**
+     * 电梯注册代码
+     */
+    private String registrationCode;
 
     /**
      * 电梯类型

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

@@ -10,6 +10,11 @@ import lombok.Data;
 @Data
 public class LiftResponse {
 
+    /**
+     * 电梯ID
+     */
+    private String liftId;
+
     /**
      * 电梯号
      */
@@ -45,6 +50,12 @@ public class LiftResponse {
      * 首保时间
      */
     private String firstMaintenanceTime;
+
+    /**
+     * 年检时间
+     */
+    private String annualInspectionDate;
+
     /**
      * 电梯维保状态
      */

+ 2 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/mapper/LiftMapper.java

@@ -17,4 +17,6 @@ public interface LiftMapper extends BaseMapper<Lift> {
 
     IPage<LiftResponse> findByCondition(IPage<LiftResponse> page, @Param("request") LiftRequest request);
 
+    IPage<LiftResponse> findLiftListByProjectId(IPage<LiftResponse> page, @Param("request") LiftRequest request);
+
 }

+ 17 - 16
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -18,7 +18,6 @@ import cn.com.ty.lift.common.constants.RedisConstants;
 import cn.com.ty.lift.common.export.ExportUtils;
 import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -65,31 +64,33 @@ public class LiftService {
 
     /**
      * @param request 电梯列表查询条件
-     * @return RestResponse 结果集
+     * @return IPage<LiftResponse> 电梯列表分页结果
      * @description 条件查询电梯档案列表
      * @date 2019/11/27 2:10 PM
      */
-    public RestResponse list(LiftRequest request) {
+    public IPage<LiftResponse> list(LiftRequest request) {
         IPage<LiftResponse> page = new Page<>(request.getPageNum(), request.getPageSize());
-        if (request.getCondition() != null) {
-            request.setCondition(StrUtil.format("%{}%", request.getCondition()));
-        }
-        IPage<LiftResponse> lifts = liftMapper.findByCondition(page, request);
-        List<LiftResponse> responseList = lifts.getRecords();
-        if (responseList.isEmpty()) {
-            return RestResponse.ok(null, ApiConstants.RESULT_NO_DATA, MessageUtils.get("msg.data.empty"));
-        }
-        return RestResponse.ok(page, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
+        return liftMapper.findByCondition(page, request);
     }
 
     /**
-     * @return RestResponse 电梯品牌列表
+     * @return List<LiftBrand> 电梯品牌列表
      * @description 查询电梯品牌列表
      * @date 2019/12/10 10:23 AM
      */
-    public RestResponse list() {
-        List<LiftBrand> liftBrandList = (List<LiftBrand>) redisTemplate.opsForValue().get(RedisConstants.RK_LIFT_BRAND_LIST);
-        return RestResponse.ok(liftBrandList, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
+    public List<LiftBrand> list() {
+        return (List<LiftBrand>) redisTemplate.opsForValue().get(RedisConstants.RK_LIFT_BRAND_LIST);
+    }
+
+    /**
+     * @param request 电梯列表查询条件
+     * @return IPage<LiftResponse> 项目下电梯列表
+     * @description 查询项目下电梯列表
+     * @date 2019/12/17 11:04 AM
+     */
+    public IPage<LiftResponse> findLiftListByProjectId(LiftRequest request) {
+        IPage<LiftResponse> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return liftMapper.findLiftListByProjectId(page, request);
     }
 
     /**

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

@@ -75,13 +75,43 @@
         <if test="request.companyId!=null and request.companyId!=''">
             and pclr.company_id = #{request.companyId,jdbcType=BIGINT}
         </if>
+		<if test="request.liftStatus == 1">
+			and pclr.lift_company_status != 1
+		</if>
+		<if test="request.liftStatus == 0">
+			and pclr.lift_company_status = 1
+		</if>
 		<if test="request.liftType!=null and request.liftType!=''">
 			and l.lift_type = #{request.liftType,jdbcType=VARCHAR}
 		</if>
-		<if test="request.condition!=null and request.condition!=''">
-			and (lb.name like #{request.condition,jdbcType=VARCHAR}
-			or l.registration_code like #{request.condition,jdbcType=VARCHAR})
+        <if test="request.liftBrand!=null and request.liftBrand!=''">
+            and lb.code = #{request.liftBrand,jdbcType=VARCHAR}
+        </if>
+		<if test="request.registrationCode!=null and request.registrationCode!=''">
+		   and l.registration_code like #{request.registrationCode,jdbcType=VARCHAR}
 		</if>
 	</select>
 
+	<!-- 查询项目下电梯列表 -->
+    <select id="findLiftListByProjectId" resultType="cn.com.ty.lift.business.library.dao.entity.model.LiftResponse" parameterType="cn.com.ty.lift.business.library.dao.entity.model.LiftRequest">
+        SELECT
+          l.id                      as liftId,
+          l.lift_code               as liftCode,
+          l.registration_code       as registrationCode,
+          l.lift_type               as liftType,
+          l.device_position         as devicePosition,
+          lb.name                   as liftBrand,
+          le.annual_inspection_date as annualInspectionDate,
+          pclr.lift_company_status  as liftStatus
+        FROM project_lift_relevance plr
+          LEFT JOIN lift l ON l.id = plr.lift_id
+          LEFT JOIN lift_brand lb ON l.lift_brand = lb.code
+          LEFT JOIN lift_extension le ON le.id = plr.lift_id and le.mt_company_id = plr.company_id
+          LEFT JOIN platform_company_lift_relevance pclr on plr.lift_id = pclr.lift_id and pclr.id = plr.relevance_id
+        where 1=1
+        <if test="request.projectId!=null and request.projectId!=''">
+            and plr.project_id = #{request.projectId,jdbcType=BIGINT}
+        </if>
+    </select>
+
 </mapper>

+ 18 - 0
lift-common/src/main/java/cn.com.ty.lift.common/utils/StringUtils.java

@@ -0,0 +1,18 @@
+package cn.com.ty.lift.common.utils;
+
+import java.util.List;
+
+/**
+ * @author bieao
+ * @date 2019/12/17
+ * @description 字符串工具类
+ */
+public class StringUtils {
+
+    /**
+     * 判断List是否为空,空返回true
+     */
+    public static boolean isListEmpty(List list) {
+        return null != list && list.size() > 0;
+    }
+}