Browse Source

物管,急修/维保数量。扫码功能更新。维保/急修功能完善

wanghaicheng 5 years ago
parent
commit
6443f76b16

+ 1 - 17
lift-business-service/src/main/java/cn/com/ty/lift/business/common/CommonController.java

@@ -1,6 +1,5 @@
 package cn.com.ty.lift.business.common;
 
-import cn.com.ty.lift.business.ImageUtil;
 import cn.com.ty.lift.business.annualinspection.service.AnnualInspectionService;
 import cn.com.ty.lift.business.capital.service.CapitalRepairLiftRelevanceService;
 import cn.com.ty.lift.business.emergency.service.EmergencyRepairService;
@@ -12,9 +11,9 @@ import cn.com.ty.lift.business.project.dao.entity.model.AreaCodeDTO;
 import cn.com.ty.lift.business.project.dao.mapper.AreaCodeMapper;
 import cn.com.ty.lift.common.constants.RedisConstants;
 import cn.com.ty.lift.common.utils.ValuePool;
+import cn.com.ty.lift.common.verify.Val;
 import cn.com.ty.lift.common.verify.Validate;
 import cn.com.ty.lift.common.verify.Validation;
-import cn.com.ty.lift.common.verify.Val;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ArrayUtil;
@@ -23,18 +22,13 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.fileupload.FileItem;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.commons.CommonsMultipartFile;
 
-import java.awt.*;
-import java.io.File;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
-import java.util.List;
 
 /**
  * @author bieao
@@ -198,14 +192,4 @@ public class CommonController {
         common.setMaintain(maintain);
         return RestResponse.success(common);
     }
-
-    @PostMapping("propertyCount")
-    public RestResponse propertyCount(@RequestBody CommonRequest request) {
-        long repair = emergencyRepairService.countDoingByUser(request);
-        long maintain = maintenancePlanService.countWaitingMaintenanceByUser(request);
-        CommonResponse common = new CommonResponse();
-        common.setRepair(repair);
-        common.setMaintain(maintain);
-        return RestResponse.success(common);
-    }
 }

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

@@ -1,5 +1,7 @@
 package cn.com.ty.lift.business.maintenance.controller;
 
+import cn.com.ty.lift.business.common.CommonRequest;
+import cn.com.ty.lift.business.common.CommonResponse;
 import cn.com.ty.lift.business.emergency.dto.RepairRequest;
 import cn.com.ty.lift.business.emergency.entity.EmergencyRepair;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.PropertyMaintenanceVO;
@@ -19,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @AllArgsConstructor
 @RequestMapping("property")
-public class PropertyMaintenanceController {
+public class PropertyController {
     private final PropertyService propertyService;
 
     @PostMapping("maintenance")
@@ -69,4 +71,9 @@ public class PropertyMaintenanceController {
     public RestResponse<?> repairBill(@RequestBody RepairRequest request) {
         return propertyService.repairBill(request);
     }
+
+    @PostMapping("count")
+    public RestResponse<?> count(@RequestBody CommonRequest request) {
+        return propertyService.count(request);
+    }
 }

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

@@ -6,6 +6,7 @@ import java.time.LocalDate;
 
 @Data
 public class PropertyMtResponse {
+    private Long recordId;
     private String projectName;
     private String registrationCode;
     private String devicePosition;

+ 8 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/response/RepairResponse.java

@@ -1,5 +1,7 @@
 package cn.com.ty.lift.business.maintenance.dao.entity.model.response;
 
+import cn.hutool.core.date.BetweenFormater;
+import cn.hutool.core.date.DateUtil;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -35,5 +37,9 @@ public class RepairResponse {
     private Integer category;
     private String devicePosition;
     private String workerName;
-    private String waitDiff;
-}
+    private Object waitDiff;
+
+    public String getWaitDiff() {
+        return DateUtil.formatBetween((Long) this.waitDiff, BetweenFormater.Level.SECOND);
+    }
+}

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

@@ -2,13 +2,13 @@ package cn.com.ty.lift.business.maintenance.dao.entity.model.response;
 
 import lombok.Data;
 
-import java.time.LocalDateTime;
+import java.time.LocalDate;
 
 @Data
 public class ScanMaintenanceRecordResponse {
     private Long recordId;
-    private LocalDateTime planDate;
-    private LocalDateTime workDate;
+    private LocalDate planDate;
+    private LocalDate workDate;
     private String workerName;
     private String maintenanceAdvice;
     private String consumerAdvice;

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

@@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Select;
 import java.time.LocalDate;
 import java.util.List;
 
-public interface PropertyMaintenanceMapper {
+public interface PropertyMapper {
     @Select(SqlConstants.QUERY_MAINTENANCE_PLAN_EVERYDAY)
     IPage<PropertyMtResponse> queryMaintenancePlanEveryDay(IPage<PropertyMtResponse> page, Integer status, LocalDate planDate, Long userId);
 
@@ -33,4 +33,10 @@ public interface PropertyMaintenanceMapper {
 
     @Select(SqlConstants.QUERY_REPAIR_LIST)
     IPage<RepairResponse> queryRepairList(IPage<RepairResponse> page, Integer status, Long userId);
+
+    @Select({SqlConstants.QUERY_MAINTENANCE_COUNT_BY_USER_ID})
+    int queryMaintenanceCountByUserId(Long userId);
+
+    @Select({SqlConstants.QUERY_REPAIR_COUNT_BY_USER_ID})
+    int queryRepairCountByUserId(Long userId);
 }

+ 26 - 10
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/PropertyService.java

@@ -1,5 +1,7 @@
 package cn.com.ty.lift.business.maintenance.service;
 
+import cn.com.ty.lift.business.common.CommonRequest;
+import cn.com.ty.lift.business.common.CommonResponse;
 import cn.com.ty.lift.business.emergency.dto.RepairRequest;
 import cn.com.ty.lift.business.emergency.entity.EmergencyRepair;
 import cn.com.ty.lift.business.emergency.entity.LiftFault;
@@ -18,7 +20,7 @@ import cn.com.ty.lift.business.maintenance.dao.entity.model.response.DynamicMess
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.PropertyCalendarResponse;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.PropertyMtResponse;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.RepairResponse;
-import cn.com.ty.lift.business.maintenance.dao.mapper.PropertyMaintenanceMapper;
+import cn.com.ty.lift.business.maintenance.dao.mapper.PropertyMapper;
 import cn.com.ty.lift.business.project.dao.entity.Region;
 import cn.com.ty.lift.business.push.service.PushUserService;
 import cn.com.ty.lift.common.constants.ApiConstants;
@@ -48,7 +50,7 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 @Slf4j
 public class PropertyService {
-    private final PropertyMaintenanceMapper propertyMaintenanceMapper;
+    private final PropertyMapper propertyMapper;
     private final EmergencyRepairService emergencyRepairService;
     private final PlatformCompanyLiftRelevanceService platformCompanyLiftRelevanceService;
     private final JmsMessagingTemplate jmsMessagingTemplate;
@@ -63,7 +65,7 @@ public class PropertyService {
      * @return 日历
      */
     public RestResponse<?> queryMaintenancePlanMonth(PropertyMaintenanceVO propertyMaintenanceVO) {
-        List<MaintenancePlanMonthTaskNum> planNums = propertyMaintenanceMapper.queryMaintenancePlanMonth(propertyMaintenanceVO.getUserId(), propertyMaintenanceVO.getYearMonth());
+        List<MaintenancePlanMonthTaskNum> planNums = propertyMapper.queryMaintenancePlanMonth(propertyMaintenanceVO.getUserId(), propertyMaintenanceVO.getYearMonth());
         if (planNums.isEmpty()) {
             return RestResponse.success();
         }
@@ -148,13 +150,13 @@ public class PropertyService {
                 break;
         }
         if (maintenanceStatus.equals(ApiConstants.Maintenance.LAWS_STIPULATION_OVERDUE)) {
-            page = propertyMaintenanceMapper
+            page = propertyMapper
                     .queryMaintenancePlanEveryDayOverdue(
                             propertyMtResponsePage,
                             propertyMaintenanceVO.getPlanDate(),
                             propertyMaintenanceVO.getUserId());
         } else {
-            page = propertyMaintenanceMapper
+            page = propertyMapper
                     .queryMaintenancePlanEveryDay(
                             propertyMtResponsePage,
                             maintenanceStatus,
@@ -172,7 +174,7 @@ public class PropertyService {
      * @return 急修分页
      */
     public RestResponse<?> queryEmergencyRepairDynamicMessage(IPage<DynamicMessageResponse> dynamicMessageResponseIPage, PropertyMaintenanceVO propertyMaintenanceVO) {
-        return RestResponse.success(propertyMaintenanceMapper.queryEmergencyRepairDynamicMessage(dynamicMessageResponseIPage, propertyMaintenanceVO.getUserId()));
+        return RestResponse.success(propertyMapper.queryEmergencyRepairDynamicMessage(dynamicMessageResponseIPage, propertyMaintenanceVO.getUserId()));
     }
 
     /**
@@ -183,11 +185,11 @@ public class PropertyService {
      * @return 维保分页
      */
     public RestResponse<?> queryMaintenanceSuccessDynamicMessage(IPage<DynamicMessageResponse> dynamicMessageResponseIPage, PropertyMaintenanceVO propertyMaintenanceVO) {
-        return RestResponse.success(propertyMaintenanceMapper.queryMaintenanceSuccessDynamicMessage(dynamicMessageResponseIPage, propertyMaintenanceVO.getUserId()));
+        return RestResponse.success(propertyMapper.queryMaintenanceSuccessDynamicMessage(dynamicMessageResponseIPage, propertyMaintenanceVO.getUserId()));
     }
 
     public RestResponse<?> queryJoinProjectList(PropertyVo propertyVo) {
-        return RestResponse.success(propertyMaintenanceMapper.queryJoinProjectList(propertyVo.getUserId()));
+        return RestResponse.success(propertyMapper.queryJoinProjectList(propertyVo.getUserId()));
     }
 
     /**
@@ -208,7 +210,7 @@ public class PropertyService {
             default:
                 throw new IllegalStateException("Unexpected value: " + propertyVo.getType());
         }
-        return RestResponse.success(propertyMaintenanceMapper.queryEvaluateAuth(table, propertyVo.getUserId()));
+        return RestResponse.success(propertyMapper.queryEvaluateAuth(table, propertyVo.getUserId()));
     }
 
     /**
@@ -219,11 +221,12 @@ public class PropertyService {
      */
     public RestResponse<?> queryRepairList(@RequestBody PropertyVo propertyVo) {
         IPage<RepairResponse> page = new Page<>(propertyVo.getPageNum(), propertyVo.getPageSize());
-        return RestResponse.success(propertyMaintenanceMapper.queryRepairList(page, propertyVo.getStatus(), propertyVo.getUserId()));
+        return RestResponse.success(propertyMapper.queryRepairList(page, propertyVo.getStatus(), propertyVo.getUserId()));
     }
 
     /**
      * 发起急修
+     *
      * @param entity
      * @return
      */
@@ -337,4 +340,17 @@ public class PropertyService {
         }
         return Arrays.stream(idStr.split(ValuePool.COMMA)).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
     }
+
+    /**
+     * 查询维保 / 急修 数量
+     *
+     * @param request userId
+     * @return 维保/急修数量
+     */
+    public RestResponse<?> count(CommonRequest request) {
+        CommonResponse common = new CommonResponse();
+        common.setMaintain(propertyMapper.queryMaintenanceCountByUserId(request.getUserId()));
+        common.setRepair(propertyMapper.queryRepairCountByUserId(request.getUserId()));
+        return RestResponse.success(common);
+    }
 }

+ 19 - 8
lift-common/src/main/java/cn.com.ty.lift.common/constants/SqlConstants.java

@@ -3,7 +3,8 @@ package cn.com.ty.lift.common.constants;
 public interface SqlConstants {
     //根据用户id和维保计划时间和状态查询用户那一天的各种类型维保任务(待保养/保养中/已完成/计划超期)
     String QUERY_MAINTENANCE_PLAN_EVERYDAY =
-            "select         p.project_name projectName," +
+            "select         mr.id recordId," +
+                    "       p.project_name projectName," +
                     "       l.registration_code registrationCode," +
                     "       l.device_position devicePosition," +
                     "       l.lift_type liftType," +
@@ -41,8 +42,7 @@ public interface SqlConstants {
 
     //扫码,查询电梯信息
     String QUERY_LIFT_INFO_BY_LIFT_ID =
-            "<script>" +
-                    "select l.id                id," +
+            "select         l.id                id," +
                     "       l.registration_code registrationCode," +
                     "       l.device_position   devicePosition," +
                     "       p.project_name      projectName," +
@@ -54,9 +54,7 @@ public interface SqlConstants {
                     "         left join lift l on plr.lift_id = l.id" +
                     "         left join project p on plr.project_id = p.id" +
                     "         left join user_info ui on plr.worker_id = ui.user_id" +
-                    "   where l.id = #{liftId}" +
-                    "       and p.project_status = '2'" +
-                    "</script>";
+                    "   where l.id = #{liftId}";
 
     //扫码,查询维保记录列表
     String QUERY_MAINTENANCE_RECORD_BY_LIFT_ID =
@@ -126,7 +124,7 @@ public interface SqlConstants {
                     "                l.category          category," +
                     "                l.device_position   devicePosition," +
                     "                ui.name             workerName," +
-                    "                TimeStampDiff(HOUR ,er.assign_time,ifnull(er.taking_time, now())) AS waitDiff," +
+                    "                TimeStampDiff(SECOND ,er.assign_time,ifnull(er.taking_time, now())) * 1000 AS waitDiff," +
                     "                er.create_date" +
                     "    from emergency_repair er" +
                     "         left join project_user pu on pu.project_id = er.project_id" +
@@ -139,7 +137,7 @@ public interface SqlConstants {
                     "                                  from project_user pu" +
                     "                                  where pu.user_id = #{userId}) order by er.create_date desc";
 
-    //查询区域列表,
+    //根据区域名和区域主管名,模糊查询区域列表信息
     String QUERY_REGIONS =
             "select r.area_name     areaName" +
                     "     , r.area_code     areaCode" +
@@ -155,4 +153,17 @@ public interface SqlConstants {
                     "     where mt_company_id = #{mtCompanyId}" +
                     "       and (r.area_name like '%${name}%' or ui.name like '%${name}%')" +
                     "   order by create_time desc";
+
+    //根据用户id查询待维保数量
+    String QUERY_MAINTENANCE_COUNT_BY_USER_ID =
+            "select     count(1)" +
+                    "   from maintenance_plan" +
+                    "   where plan_date = CURDATE()" +
+                    "  and project_id in (select project_id from project_user where user_id = #{userId})";
+
+    String QUERY_REPAIR_COUNT_BY_USER_ID =
+            "select count(1)" +
+                    "   from emergency_repair" +
+                    "   where (DATE_FORMAT(caller_date, '%Y%m%d') = CURDATE() or DATE_FORMAT(create_date, '%Y%m%d') = CURDATE())" +
+                    "  and project_id in (select project_id from project_user where user_id = #{userId})";
 }