瀏覽代碼

物管日历更新

wanghaicheng 5 年之前
父節點
當前提交
5c5c7a04f6

+ 34 - 18
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/ScanRecordController.java

@@ -1,16 +1,15 @@
 package cn.com.ty.lift.business.maintenance.controller;
 
-import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
-import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceRecord;
+import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceOption;
 import cn.com.ty.lift.business.maintenance.dao.entity.ScanRecord;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.ScanRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.ScanMaintenanceRecordResponse;
 import cn.com.ty.lift.business.maintenance.dao.mapper.ScanRecordMapper;
-import cn.com.ty.lift.business.maintenance.service.MaintenanceRecordService;
+import cn.com.ty.lift.business.maintenance.service.MaintenanceOptionService;
 import cn.com.ty.lift.business.maintenance.service.ScanRecordService;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -27,9 +26,10 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("scan")
 @AllArgsConstructor
 public class ScanRecordController {
-    private final MaintenanceRecordService maintenanceRecordService;
     private final ScanRecordService scanRecordService;
     private final ScanRecordMapper scanRecordMapper;
+    private final MaintenanceRecordController maintenanceRecordController;
+    private final MaintenanceOptionService maintenanceOptionService;
 
     /**
      * 根据电梯id查询电梯信息
@@ -55,19 +55,35 @@ public class ScanRecordController {
         return RestResponse.success(record);
     }
 
-    /**
-     * 维保详情记录
-     *
-     * @param request recordId
-     * @return 维保记录详情
-     */
-    @PostMapping("maintenance/record/detail")
-    public RestResponse detail(@RequestBody ScanRecordRequest request) {
-        MaintenanceRecord record = maintenanceRecordService.detail(request.getRecordId());
-        if (ObjectUtil.isEmpty(record)) {
-            return RestResponse.success();
+    //维保list结构
+    @PostMapping("maintenance/option/list")
+    public RestResponse<?> listOptions(@RequestBody ScanRecordRequest request) {
+        String sort;
+        switch (request.getLiftType()) {
+            case 1:
+                sort = "1,2,3,4,5";
+                break;
+            case 2:
+                sort = "-1";
+                break;
+            default:
+                sort = null;
         }
-        return RestResponse.success(record, MessageUtils.get("msg.query.detail.success"));
+        return RestResponse.success(maintenanceOptionService.list(Wrappers.<MaintenanceOption>query().eq(sort != null, "sort", sort)));
+    }
+
+    //查看保养单
+    @PostMapping("maintenance/detail")
+    public RestResponse<?> detail(@RequestBody ScanRecordRequest scanRecordRequest) {
+        MtRecordRequest request = new MtRecordRequest();
+        request.setId(scanRecordRequest.getRecordId());
+        return maintenanceRecordController.one(request);
+    }
+
+    //查看保养图片
+    @PostMapping("maintenance/images")
+    public RestResponse<?> images(@RequestBody MtRecordRequest request) {
+        return maintenanceRecordController.images(request);
     }
 
     /**
@@ -77,7 +93,7 @@ public class ScanRecordController {
      * @return 扫码记录
      */
     @PostMapping("record/list")
-    public RestResponse list(@RequestBody ScanRecordRequest record) {
+    public RestResponse<?> list(@RequestBody ScanRecordRequest record) {
         Page<ScanRecord> scanRecordPage = new Page<>(record.getPageNum(), record.getPageNum());
         IPage<ScanRecord> page = scanRecordService.page(scanRecordPage, Wrappers
                 .<ScanRecord>query()

+ 10 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/dto/MaintenancePlanMonthTaskNum.java

@@ -0,0 +1,10 @@
+package cn.com.ty.lift.business.maintenance.dao.entity.model.dto;
+
+import lombok.Data;
+
+@Data
+public class MaintenancePlanMonthTaskNum {
+    private Integer month;
+    private Integer status;
+    private Integer count;
+}

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

@@ -15,4 +15,7 @@ public class ScanRecordRequest extends ScanRecord {
     private long pageSize = 10;
 
     private Long recordId;
+
+    private Integer liftType;
+
 }

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

@@ -14,4 +14,5 @@ public class ScanMaintenanceRecordResponse {
     private String consumerAdvice;
     private Integer status;
     private Long liftId;
+    private Integer liftType;
 }

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

@@ -1,16 +1,21 @@
 package cn.com.ty.lift.business.maintenance.dao.mapper;
 
+import cn.com.ty.lift.business.maintenance.dao.entity.model.dto.MaintenancePlanMonthTaskNum;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.PropertyMtResponse;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Select;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 public interface PropertyMaintenanceMapper {
     @Select(ApiConstants.SQL.QUERY_MAINTENANCE_PLAN_EVERYDAY)
     Page<PropertyMtResponse> queryMaintenancePlanEveryDay(Page<PropertyMtResponse> page, Integer status, LocalDateTime planDate, Long userId);
 
+    @Select(ApiConstants.SQL.QUERY_MAINTENANCE_PLAN_MONTH_TASK_NUM)
+    List<MaintenancePlanMonthTaskNum> queryMaintenancePlanMonth(Long userId, String yearMonth);
+
     @Select(ApiConstants.SQL.SELECT_COUNT_FROM_TABLE)
     Integer selectCount(String table, String condition);
 }

+ 11 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/ApiConstants.java

@@ -381,6 +381,7 @@ public class ApiConstants {
                         "        where DATE_FORMAT(mp.plan_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')" +
                         "  and mp.status = '1' order by mp.plan_date";
 
+        //扫码,查询电梯信息
         String QUERY_LIFT_INFO_BY_LIFT_ID =
                 "<script>" +
                         "select l.id                id," +
@@ -399,6 +400,7 @@ public class ApiConstants {
                         "  and p.project_status = '2'" +
                         "</script>";
 
+        //扫码,查询维保记录列表
         String QUERY_MAINTENANCE_RECORD_BY_LIFT_ID =
                 "select mr.id                 recordId," +
                         "       mr.plan_date          planDate," +
@@ -408,10 +410,19 @@ public class ApiConstants {
                         "       e.advice              consumerAdvice," +
                         "       mr.status             status," +
                         "       mr.lift_id            liftId" +
+                        "       mr.lift_type          liftType," +
                         "   from maintenance_record mr" +
                         "         left join user_info ui on mr.worker_id = ui.user_id" +
                         "         left join evaluation e on mr.id = e.record_id and e.source = '1'" +
                         "   where mr.lift_id = #{liftId}" +
                         "   order by mr.work_date desc";
+
+        //物管,根据用户id和月份,查询那一月每天的(待保养/保养中/已完成/计划超期/法规超期)的数量
+        String QUERY_MAINTENANCE_PLAN_MONTH_TASK_NUM =
+                "select DATE_FORMAT(plan_date, '%m') month, status, count(status) count" +
+                        "from maintenance_plan" +
+                        "where project_id in (select project_id from project_user where user_id = #{userId})" +
+                        "  and DATE_FORMAT(plan_date, '%Y%m') = #{yearMonth}" +
+                        "group by plan_date, status";
     }
 }