浏览代码

修复bug-电梯没有保养记录时,返回项目名称、电梯位置

别傲 5 年之前
父节点
当前提交
f869ef24b7

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

@@ -150,7 +150,7 @@ public class LiftController {
      * @date 2019/12/20 2:31 PM
      */
     @PostMapping("preJudgment")
-    public RestResponse preJudgment(@RequestBody LiftExtensionRequest request) {
+    public RestResponse preJudgment(@Valid @RequestBody LiftCheckRequest request) {
         return liftService.preJudgment(request.getMtCompanyId(), request.getCode());
     }
 
@@ -161,7 +161,7 @@ public class LiftController {
      * @date 2019/11/27 10:03 AM
      */
     @PostMapping("add")
-    public RestResponse add(@RequestBody LiftExtensionRequest request) {
+    public RestResponse add(@Valid @RequestBody LiftExtensionRequest request) {
         return liftService.add(request);
     }
 
@@ -206,7 +206,7 @@ public class LiftController {
      * @date 2019/12/5 5:24 PM
      */
     @PostMapping("stop/recover")
-    public RestResponse stopOrRecover(@RequestBody PlatformCompanyRequest request) {
+    public RestResponse stopOrRecover(@Valid @RequestBody PlatformCompanyRequest request) {
         return platformService.stopOrRecover(request);
     }
 

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

@@ -0,0 +1,27 @@
+package cn.com.ty.lift.business.library.dao.entity.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2020/3/9
+ * @description 电梯检验
+ */
+@Data
+public class LiftCheckRequest {
+
+    /**
+     * 维保公司ID
+     */
+    @NotNull(message = "notEmpty")
+    private Long mtCompanyId;
+
+    /**
+     * 电梯注册代码
+     */
+    @NotEmpty(message = "notEmpty")
+    private String code;
+}

+ 6 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/request/LiftExtensionRequest.java

@@ -3,6 +3,8 @@ 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 2019/12/3
@@ -24,23 +26,21 @@ public class LiftExtensionRequest {
     /**
      * 新增电梯来源入口 (0:从电梯管理新增,1:从项目管理中新增)
      */
+    @NotNull(message = "notEmpty")
     private String source;
 
     /**
      * 新增标记 (0:新增,1:查询后带入)
      */
+    @NotNull(message = "notEmpty")
     private String mark;
 
     /**
      * 维保公司ID
      */
+    @NotNull(message = "notEmpty")
     private Long mtCompanyId;
 
-    /**
-     * 电梯注册代码
-     */
-    private String code;
-
     /**
      * 电梯id
      */
@@ -49,5 +49,6 @@ public class LiftExtensionRequest {
     /**
      * 电梯
      */
+    @NotNull(message = "notEmpty")
     private Lift lift;
 }

+ 4 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -36,6 +36,8 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.time.LocalDate;
+import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -204,6 +206,8 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
             if (CommonEnum.LiftType.STAIRCASE.getCode().equals(Objects.toString(lift.getLiftType()))) {
                 lift.setLiftCode(ApiConstants.STAIRCASE + liftCode);
             }
+            LocalDate lastDay = lift.getAnnualInspectionDate().with(TemporalAdjusters.lastDayOfMonth());
+            lift.setAnnualInspectionDate(lastDay);
             //新增电梯表
             int liftResult = baseMapper.insert(lift);
             if (liftResult == 0) {

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

@@ -25,6 +25,14 @@ public interface MaintenanceRecordMapper extends BaseMapper<MaintenanceRecord> {
      */
     MaintenanceRecordResponse findRecordByCompanyId(@Param("request") MaintenanceRecordRequest request);
 
+    /**
+     * @param request 公司id和电梯id
+     * @return MaintenanceRecordResponse 项目信息
+     * @description 根据公司id和电梯id项目名称、项目id、电梯位置
+     * @date 2020/3/9 11:59 上午
+     */
+    MaintenanceRecordResponse findProjectByCompanyId(@Param("request") MaintenanceRecordRequest request);
+
     IPage<MtRecordResponse> pageRecordByCondition(IPage<MtRecordResponse> page, @Param("cond") MtRecordRequest request);
 
     long countRecordByCondition(@Param("cond") MtRecordRequest request);

+ 8 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -61,7 +61,14 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
      * @date 2020/1/6 5:37 下午
      */
     public MaintenanceRecordResponse recordInfo(MaintenanceRecordRequest request) {
-        return baseMapper.findRecordByCompanyId(request);
+        MaintenanceRecordResponse project = baseMapper.findProjectByCompanyId(request);
+        MaintenanceRecordResponse record = baseMapper.findRecordByCompanyId(request);
+        if (ObjectUtil.isNotEmpty(record)) {
+            project.setType(record.getType());
+            project.setWorkDate(record.getWorkDate());
+            return project;
+        }
+        return project;
     }
 
     /**

+ 30 - 16
lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml

@@ -50,28 +50,42 @@
 		signature_img2, sparepart, parts_cost, man_cost, safety_confirm
 	</sql>
 
-	<!--根据公司id和电梯id获取上次保养信息 -->
-	<select id="findRecordByCompanyId" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse"
+	<!--根据公司id和电梯id项目名称、项目id、电梯位置 -->
+	<select id="findProjectByCompanyId" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse"
 			parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest">
-		SELECT  mr.work_date          AS workDate,
-				mr.type               AS type,
-				mr.lift_id            AS liftId,
-				l.device_position     AS devicePosition,
-				p.project_name        AS projectName,
-		        p.id                  AS projectId
-		FROM maintenance_record mr
-				LEFT JOIN project p ON mr.project_id = p.id
-				LEFT JOIN lift l ON mr.lift_id = l.id
+		SELECT l.id              AS liftId,
+		       l.device_position AS devicePosition,
+			   p.project_name    AS projectName,
+		       p.id              AS projectId
+		FROM project_lift_relevance plr
+		LEFT JOIN project p ON plr.project_id = p.id
+		LEFT JOIN lift l ON plr.lift_id = l.id
 		WHERE 1 = 1
 		<if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
-			AND mr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+			AND plr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		</if>
+		<if test="request.liftId!=null and request.liftId!=''">
+			AND plr.lift_id = #{request.liftId,jdbcType=BIGINT}
 		</if>
+	</select>
+
+	<!--根据公司id和电梯id获取上次保养信息 -->
+	<select id="findRecordByCompanyId" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse"
+			parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest">
+		SELECT work_date AS workDate,
+			   type      AS type,
+		       lift_id   AS liftId
+		FROM maintenance_record
+		WHERE 1=1
+		<if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
+			AND mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+	    </if>
 		<if test="request.liftId!=null and request.liftId!=''">
-			AND mr.lift_id = #{request.liftId,jdbcType=BIGINT}
+			AND lift_id = #{request.liftId,jdbcType=BIGINT}
 		</if>
-		AND mr.work_date = (SELECT max(work_date)
-							  FROM maintenance_record
-							  WHERE status > 1
+		AND work_date = (SELECT max(work_date)
+		FROM maintenance_record
+		WHERE status > 1
 		<if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
 			AND mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
 		</if>