Browse Source

app端获取上次保养信息

别傲 5 years ago
parent
commit
c1b1422a33

+ 24 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/request/MaintenanceRecordRequest.java

@@ -0,0 +1,24 @@
+package cn.com.ty.lift.business.maintenance.dao.entity.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2020/1/6
+ * @description app保养信息请求
+ */
+@Data
+public class MaintenanceRecordRequest {
+    /**
+     * 公司id
+     */
+    @NotNull(message = "notEmpty")
+    private Long mtCompanyId;
+    /**
+     * 电梯id
+     */
+    @NotNull(message = "notEmpty")
+    private Long liftId;
+}

+ 63 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/response/MaintenanceRecordResponse.java

@@ -0,0 +1,63 @@
+package cn.com.ty.lift.business.maintenance.dao.entity.model.response;
+
+import lombok.Data;
+
+import java.time.LocalDate;
+
+/**
+ * @author bieao
+ * @date 2020/1/6
+ * @description 保养信息返回体
+ */
+@Data
+public class MaintenanceRecordResponse {
+
+    /**
+     * 上次保养日期
+     */
+    private LocalDate workDate;
+    /**
+     * 上次保养类型
+     */
+    private String type;
+    /**
+     * 电梯id
+     */
+    private String liftId;
+    /**
+     * 补录标识
+     */
+    private String isRegular;
+    /**
+     * 安全防护项选择
+     */
+    private String safetyConfirm;
+    /**
+     * 保养项目
+     */
+    private String maintenanceOption;
+    /**
+     * 停梯时间
+     */
+    private LocalDate stopDate;
+    /**
+     * 主要负责人签名图片路径
+     */
+    private String signatureImg1;
+    /**
+     * 次要负责人签名图片路径
+     */
+    private String signatureImg2;
+    /**
+     * 电梯位置
+     */
+    private String devicePosition;
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 保养图片地址
+     */
+    private String imgUrl;
+}

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

@@ -2,7 +2,10 @@ package cn.com.ty.lift.business.maintenance.dao.mapper;
 
 
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceRecord;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * MyBatis Mapper 接口 - 表:maintenance_record
@@ -11,4 +14,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MaintenanceRecordMapper extends BaseMapper<MaintenanceRecord> {
 
+    /**
+     * @param request 公司id和电梯id
+     * @return MaintenanceRecordResponse 保养信息
+     * @description 根据公司id和电梯id查询上次保养信息
+     * @date 2020/1/6 5:37 下午
+     */
+    MaintenanceRecordResponse findRecordByCompanyId(@Param("request") MaintenanceRecordRequest request);
 }

+ 17 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectAppController.java

@@ -2,7 +2,9 @@ package cn.com.ty.lift.business.project.controller;
 
 import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceAppRequest;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenancePlanResponse;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse;
@@ -92,4 +94,19 @@ public class ProjectAppController {
         }
         return RestResponse.success(response, MessageUtils.get("msg.query.success"));
     }
+
+    /**
+     * @param request 公司id和电梯id
+     * @return RestResponse 保养信息
+     * @description 根据公司id和电梯id查询上次保养信息
+     * @date 2020/1/6 5:37 下午
+     */
+    @PostMapping("maintenance/record/info")
+    public RestResponse recordInfo(@Valid @RequestBody MaintenanceRecordRequest request) {
+        MaintenanceRecordResponse response = projectAppService.recordInfo(request);
+        if (ObjectUtil.isEmpty(response)) {
+            return RestResponse.success();
+        }
+        return RestResponse.success(response, MessageUtils.get("msg.query.detail.success"));
+    }
 }

+ 16 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -1,8 +1,11 @@
 package cn.com.ty.lift.business.project.service;
 
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceAppRequest;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenancePlanResponse;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse;
 import cn.com.ty.lift.business.maintenance.dao.mapper.MaintenancePlanMapper;
+import cn.com.ty.lift.business.maintenance.dao.mapper.MaintenanceRecordMapper;
 import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.model.ProjectAppUser;
 import cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest;
@@ -39,6 +42,9 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
     @Resource
     private MaintenancePlanMapper maintenancePlanMapper;
 
+    @Resource
+    private MaintenanceRecordMapper maintenanceRecordMapper;
+
     /**
      * @param request 公司id
      * @return RestResponse 项目列表
@@ -85,4 +91,14 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
         return maintenancePlanMapper.findListByWorkerId(page, request);
     }
 
+    /**
+     * @param request 公司id和电梯id
+     * @return RestResponse 保养信息
+     * @description 根据公司id和电梯id查询上次保养信息
+     * @date 2020/1/6 5:37 下午
+     */
+    public MaintenanceRecordResponse recordInfo(MaintenanceRecordRequest request) {
+        return maintenanceRecordMapper.findRecordByCompanyId(request);
+    }
+
 }

+ 37 - 0
lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml

@@ -40,4 +40,41 @@
 		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"
+			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,
+				mr.is_regular         AS isRegular,
+				mr.safety_confirm     AS safetyConfirm,
+				mr.maintenance_option AS maintenanceOption,
+				mr.stop_date          AS stopDate,
+				mr.signature_img1     AS signatureImg1,
+				mr.signature_img2     AS signatureImg2,
+				l.device_position     AS devicePosition,
+				p.project_name        AS projectName,
+				mri.img_url           AS imgUrl
+		FROM maintenance_record mr
+				LEFT JOIN mt_record_img mri ON mr.id = mri.mt_record_id
+				LEFT JOIN project p ON mr.project_id = p.id
+				LEFT JOIN lift l ON mr.lift_id = l.id
+		WHERE 1 = 1
+		<if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
+			AND mr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		</if>
+		<if test="request.liftId!=null and request.liftId!=''">
+			AND mr.lift_id = #{request.liftId,jdbcType=BIGINT}
+		</if>
+		AND mr.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>
+		<if test="request.liftId!=null and request.liftId!=''">
+			AND lift_id = #{request.liftId,jdbcType=BIGINT}
+		</if>)
+	</select>
+
 </mapper>