Browse Source

大修选择电梯、批量移动电梯接口,app保养单列表接口修改

别傲 5 years ago
parent
commit
38867c44a5
15 changed files with 226 additions and 45 deletions
  1. 33 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/controller/CapitalRepairController.java
  2. 7 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/model/request/CapitalRepairRequest.java
  3. 2 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/mapper/CapitalRepairMapper.java
  4. 15 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairLiftRelevanceService.java
  5. 10 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairService.java
  6. 7 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/request/MaintenanceRecordRequest.java
  7. 6 6
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/response/MaintenanceAppResponse.java
  8. 8 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenancePlanMapper.java
  9. 10 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenanceRecordMapper.java
  10. 5 5
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectAppController.java
  11. 52 32
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java
  12. 29 0
      lift-business-service/src/main/resources/mapper/capital/CapitalRepairMapper.xml
  13. 21 0
      lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml
  14. 20 0
      lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml
  15. 1 1
      lift-common/src/main/java/cn.com.ty.lift.common/constants/CommonEnum.java

+ 33 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/controller/CapitalRepairController.java

@@ -5,6 +5,7 @@ import cn.com.ty.lift.business.capital.dao.entity.CapitalRepairHistory;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairRequest;
 import cn.com.ty.lift.business.capital.dao.entity.model.response.CapitalRepairResponse;
 import cn.com.ty.lift.business.capital.service.CapitalRepairHistoryService;
+import cn.com.ty.lift.business.capital.service.CapitalRepairLiftRelevanceService;
 import cn.com.ty.lift.business.capital.service.CapitalRepairService;
 import cn.com.ty.lift.business.capital.service.SignInService;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
@@ -43,6 +44,9 @@ public class CapitalRepairController {
     @Resource
     private ProjectUserService projectUserService;
 
+    @Resource
+    private CapitalRepairLiftRelevanceService capitalRepairLiftRelevanceService;
+
     @Resource
     private CapitalRepairHistoryService capitalRepairHistoryService;
 
@@ -85,6 +89,35 @@ public class CapitalRepairController {
         return RestResponse.success(page, MessageUtils.get("msg.query.success"));
     }
 
+    /**
+     * @param request 选择电梯列表查询条件
+     * @return IPage<LiftResponse> 选择电梯列表
+     * @description 选择电梯
+     * @date 2020/4/29 8:58 下午
+     */
+    @PostMapping("choose")
+    @Validation(fields = {"mtCompanyId"})
+    public RestResponse choose(@Val @RequestBody CapitalRepairRequest request) {
+        IPage<LiftResponse> page = capitalRepairService.choose(request);
+        return RestResponse.success(page, MessageUtils.get("msg.query.success"));
+    }
+
+    /**
+     * @param request 项目id,项目电梯关联id列表
+     * @return 1.成功, 0.失败, 消息描述
+     * @description 批量移动电梯
+     * @date 2020/4/29 8:53 下午
+     */
+    @PostMapping("batch/move")
+    @Validation(fields = {"projectId", "list"})
+    public RestResponse move(@Val @RequestBody CapitalRepairRequest request){
+        boolean result = capitalRepairLiftRelevanceService.move(request);
+        if (!result) {
+            return RestResponse.fail(MessageUtils.get("msg.modify.batch.fail"));
+        }
+        return RestResponse.success(null, MessageUtils.get("msg.modify.batch.success"));
+    }
+
     /**
      * @param request 公司id,项目状态
      * @return 项目数量、电梯数量、停保电梯数量

+ 7 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/model/request/CapitalRepairRequest.java

@@ -1,7 +1,7 @@
 package cn.com.ty.lift.business.capital.dao.entity.model.request;
 
 import cn.com.ty.lift.business.capital.dao.entity.CapitalRepair;
-import cn.com.ty.lift.business.capital.dao.entity.CapitalRepairImage;
+import cn.com.ty.lift.business.capital.dao.entity.CapitalRepairLiftRelevance;
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
 import cn.com.ty.lift.common.model.PageRequest;
 import lombok.Data;
@@ -79,6 +79,12 @@ public class CapitalRepairRequest extends PageRequest {
     @NotEmpty(message = "竣工单地址不能为空")
     private List<String> imageUrlList;
 
+    /**
+     * 项目电梯关联id列表
+     */
+    @NotEmpty(message = "项目电梯关联id列表不能为空")
+    private List<CapitalRepairLiftRelevance> list;
+
     /**
      * 经纬度
      */

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

@@ -19,4 +19,6 @@ public interface CapitalRepairMapper extends BaseMapper<CapitalRepair> {
 
     IPage<LiftResponse> findLiftListByProjectId(IPage<LiftResponse> page, @Param("request") CapitalRepairRequest request);
 
+    IPage<LiftResponse> chooseLiftList(IPage<LiftResponse> page, @Param("request") CapitalRepairRequest request);
+
 }

+ 15 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairLiftRelevanceService.java

@@ -1,12 +1,15 @@
 package cn.com.ty.lift.business.capital.service;
 
 import cn.com.ty.lift.business.capital.dao.entity.CapitalRepairLiftRelevance;
+import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairRequest;
 import cn.com.ty.lift.business.capital.dao.mapper.CapitalRepairLiftRelevanceMapper;
 import cn.com.ty.lift.business.common.CommonRequest;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftExtensionRequest;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author bieao
  * @date 2020/4/15
@@ -32,6 +35,18 @@ public class CapitalRepairLiftRelevanceService extends ServiceImpl<CapitalRepair
         return save(relevance);
     }
 
+    /**
+     * @param request 项目id,项目电梯关联id列表
+     * @return 1.成功, 0.失败, 消息描述
+     * @description 批量移动电梯
+     * @date 2020/1/7 7:57 下午
+     */
+    public boolean move(CapitalRepairRequest request) {
+        List<CapitalRepairLiftRelevance> list = request.getList();
+        list.forEach(entry -> entry.setProjectId(request.getProjectId()));
+        return updateBatchById(list, list.size());
+    }
+
     /**
      * @param mtCompanyId   公司id
      * @param projectStatus 项目状态

+ 10 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairService.java

@@ -78,6 +78,16 @@ public class CapitalRepairService extends ServiceImpl<CapitalRepairMapper, Capit
         return baseMapper.findLiftListByProjectId(request.getPage(), request);
     }
 
+    /**
+     * @param request 选择电梯列表查询条件
+     * @return IPage<LiftResponse> 选择电梯列表
+     * @description 选择电梯
+     * @date 2020/4/29 8:58 下午
+     */
+    public IPage<LiftResponse> choose(CapitalRepairRequest request) {
+        return baseMapper.chooseLiftList(request.getPage(), request);
+    }
+
     /**
      * @param mtCompanyId   公司id
      * @param projectStatus 项目状态

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

@@ -7,6 +7,7 @@ import lombok.Data;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
 
 /**
  * @author bieao
@@ -54,6 +55,12 @@ public class MaintenanceRecordRequest extends PageRequest {
     @NotBlank(message = "维保工经纬度不能为空")
     private String coordinate;
 
+    /**
+     * 当前日期
+     */
+    @NotNull(message = "当前日期不能为空")
+    private LocalDate currentTime;
+
     /**
      * 保养信息
      */

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

@@ -18,27 +18,27 @@ public class MaintenanceAppResponse {
     /**
      * 项目id
      */
-    private String projectId;
+    private Long projectId;
     /**
      * 维保计划id
      */
-    private String mtPlanId;
+    private Long mtPlanId;
     /**
      * 保养记录id
      */
-    private String recordId;
+    private Long recordId;
     /**
      * 电梯id
      */
-    private String liftId;
+    private Long liftId;
     /**
      * 维保负责人id
      */
-    private String workerId;
+    private Long workerId;
     /**
      * 维保工id
      */
-    private String workerId1;
+    private Long workerId1;
     /**
      * 电梯经纬度
      */

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

@@ -31,6 +31,14 @@ public interface MaintenancePlanMapper extends BaseMapper<MaintenancePlan> {
      */
     IPage<MaintenanceAppResponse> findPlanByWorkerId(IPage<MaintenancePlanResponse> page, @Param("request") MaintenanceRecordRequest request);
 
+    /**
+     * @param request 用户id
+     * @return RestResponse 保养任务列表
+     * @description 根据用户id查询保养任务列表
+     * @date 2020/4/24 5:03 下午
+     */
+    List<MaintenanceAppResponse> countPlanByWorkerId( @Param("request") MaintenanceRecordRequest request);
+
     IPage<MtPlanResponse> pagePlanByCondition(IPage<MtPlanResponse> page, @Param("cond") MtPlanRequest request);
 
     long countPlanByCondition(@Param("cond") MtPlanRequest request);

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

@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * MyBatis Mapper 接口 - 表:maintenance_record
  * @author bieao
@@ -34,6 +36,14 @@ public interface MaintenanceRecordMapper extends BaseMapper<MaintenanceRecord> {
      */
     IPage<MaintenanceAppResponse> findRecordByWorkerId(IPage<MaintenancePlanResponse> page, @Param("request") MaintenanceRecordRequest request);
 
+    /**
+     * @param request 用户id
+     * @return RestResponse 保养任务列表
+     * @description 根据用户id查询保养任务列表
+     * @date 2020/4/24 5:03 下午
+     */
+    List<MaintenanceAppResponse> countRecordByWorkerId( @Param("request") MaintenanceRecordRequest request);
+
     /**
      * 根据电梯id和维保状态是完成的查询保养任务列表
      * @param request 用户id和维保状态

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

@@ -7,7 +7,6 @@ import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftExtensionRequest;
 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.MaintenanceAppResponse;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceRecordResponse;
 import cn.com.ty.lift.business.maintenance.service.MaintenanceRecordService;
 import cn.com.ty.lift.business.project.dao.entity.model.ProjectAppUser;
@@ -31,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author bieao
@@ -184,8 +184,8 @@ public class ProjectAppController {
     @PostMapping("maintenance/planTask")
     @Validation(fields = {"mtCompanyId", "workerId", "status"})
     public RestResponse planTask(@Val @RequestBody MaintenanceRecordRequest request) {
-        IPage<MaintenanceAppResponse> response = projectAppService.planTask(request);
-        return RestResponse.success(response, MessageUtils.get("msg.query.success"));
+        Map<String, Object> result = projectAppService.planTask(request);
+        return RestResponse.success(result, MessageUtils.get("msg.query.success"));
     }
 
     /**
@@ -197,8 +197,8 @@ public class ProjectAppController {
     @PostMapping("maintenance/recordTask")
     @Validation(fields = {"mtCompanyId", "workerId", "status"})
     public RestResponse recordTask(@Val @RequestBody MaintenanceRecordRequest request) {
-        IPage<MaintenanceAppResponse> response = projectAppService.recordTask(request);
-        return RestResponse.success(response, MessageUtils.get("msg.query.success"));
+        Map<String, Object> result = projectAppService.recordTask(request);
+        return RestResponse.success(result, MessageUtils.get("msg.query.success"));
     }
 
     /**

+ 52 - 32
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -19,7 +19,6 @@ import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectLiftResp
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectUserResponse;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
-import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -32,6 +31,8 @@ import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static cn.com.ty.lift.common.constants.CommonEnum.*;
+
 /**
  * @author bieao
  * @date 2019/12/31
@@ -78,7 +79,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
     public List<ProjectAppUser> userList(ProjectRequest request) {
         List<ProjectAppUser> userList = projectUserMapper.findProjectUserListById(request);
         return userList.stream().filter(
-                entry -> (CommonEnum.DefaultRole.MTWORK.getCode().equals(entry.getUserRole())))
+                entry -> (DefaultRole.MTWORK.getCode().equals(entry.getUserRole())))
                 .collect(Collectors.toList());
     }
 
@@ -120,33 +121,43 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
 
     /**
      * @param request 用户id和维保状态
-     * @return RestResponse 保养任务列表
+     * @return RestResponse 保养任务列表 (待完成、超期)
      * @description 根据用户id和维保状态查询保养任务列表
      * @date 2020/1/6 11:29 上午
      */
-    public IPage<MaintenanceAppResponse> planTask(MaintenanceRecordRequest request) {
+    public Map<String, Object> planTask(MaintenanceRecordRequest request) {
+        Map<String, Object> resultMap = new HashMap<>();
+        Map<String, Long> countMap = new HashMap<>();
         IPage<MaintenanceAppResponse> page = maintenancePlanMapper.findPlanByWorkerId(request.getPage(), request);
 
-        if (CollUtil.isNotEmpty(page.getRecords())) {
-            Map<String, List<MaintenanceAppResponse>> currentTaskMap = page.getRecords().stream().filter(entry ->
+        List<MaintenanceAppResponse> records = page.getRecords();
+        if (CollUtil.isNotEmpty(records)) {
+            List<MaintenanceAppResponse> countResult = maintenancePlanMapper.countPlanByWorkerId(request);
+
+            //统计待保养、超期的任务
+            Map<String, Long> collect = countResult.stream().collect(Collectors.groupingBy(MaintenanceAppResponse::getStatus, Collectors.counting()));
+
+            Long waitingMaintenance = collect.get(MaintenancePlanStatus.WAITING_MAINTENANCE.getCode());
+            Long overdue = collect.get(MaintenancePlanStatus.OVERDUE.getCode());
+            countMap.put("overdue", overdue == null ? 0 : overdue);
+            countMap.put("waitingMaintenance", waitingMaintenance == null ? 0 : waitingMaintenance);
+
+            Map<Long, List<MaintenanceAppResponse>> currentTaskMap = page.getRecords().stream().filter(entry ->
                     Objects.equals(request.getWorkerId(), entry.getWorkerId())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
             List<MaintenanceAppResponse> taskList = new ArrayList<>();
-            for (Map.Entry<String, List<MaintenanceAppResponse>> entry : currentTaskMap.entrySet()) {
-                List<MaintenanceAppResponse> value = entry.getValue();
-                MaintenanceAppResponse task = value.get(0);
-                taskList.add(task);
+            for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : currentTaskMap.entrySet()) {
+                taskList.addAll(entry.getValue());
             }
+
             LinkedList<MaintenanceAppResponse> currentUserTaskList = taskList.stream()
                     .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
 
-            Map<String, List<MaintenanceAppResponse>> taskMap = page.getRecords().stream().filter(entry ->
+            Map<Long, List<MaintenanceAppResponse>> taskMap = page.getRecords().stream().filter(entry ->
                     !Objects.equals(request.getWorkerId(), entry.getWorkerId())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
 
             taskList.clear();
-            for (Map.Entry<String, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
-                List<MaintenanceAppResponse> value = entry.getValue();
-                MaintenanceAppResponse task = value.get(0);
-                taskList.add(task);
+            for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
+                taskList.addAll(entry.getValue());
             }
             LinkedList<MaintenanceAppResponse> userTaskList = taskList.stream()
                     .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
@@ -154,8 +165,9 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
 
             page.setRecords(currentUserTaskList);
         }
-
-        return page;
+        resultMap.put("pageResult", page);
+        resultMap.put("count", countMap);
+        return resultMap;
     }
 
     /**
@@ -164,29 +176,36 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
      * @description 根据用户id和z维保状态查询保养任务列表
      * @date 2020/4/24 5:03 下午
      */
-    public IPage<MaintenanceAppResponse> recordTask(MaintenanceRecordRequest request) {
+    public Map<String, Object> recordTask(MaintenanceRecordRequest request) {
+        Map<String, Object> resultMap = new HashMap<>();
+        Map<String, Long> countMap = new HashMap<>();
         IPage<MaintenanceAppResponse> page = maintenanceRecordMapper.findRecordByWorkerId(request.getPage(), request);
+        List<MaintenanceAppResponse> records = page.getRecords();
+        if (CollUtil.isNotEmpty(records)) {
+            List<MaintenanceAppResponse> countResult = maintenanceRecordMapper.countRecordByWorkerId(request);
+            //统计保养中、保养完成任务
+            Map<String, Long> collect = countResult.stream().collect(Collectors.groupingBy(MaintenanceAppResponse::getStatus, Collectors.counting()));
+
+            Long inProgress = collect.get(MaintenanceRecordStatus.MAINTENANCE_DOING.getCode());
+            Long complete = collect.get(MaintenanceRecordStatus.COMPLETE.getCode());
+            countMap.put("inProgress", inProgress == null ? 0 : inProgress);
+            countMap.put("complete", complete == null ? 0 : complete);
 
-        if (CollUtil.isNotEmpty(page.getRecords())) {
-            Map<String, List<MaintenanceAppResponse>> currentTaskMap = page.getRecords().stream().filter(entry ->
+            Map<Long, List<MaintenanceAppResponse>> currentTaskMap = page.getRecords().stream().filter(entry ->
                     Objects.equals(request.getWorkerId(), entry.getWorkerId1())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
             List<MaintenanceAppResponse> taskList = new ArrayList<>();
-            for (Map.Entry<String, List<MaintenanceAppResponse>> entry : currentTaskMap.entrySet()) {
-                List<MaintenanceAppResponse> value = entry.getValue();
-                MaintenanceAppResponse task = value.get(0);
-                taskList.add(task);
+            for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : currentTaskMap.entrySet()) {
+                taskList.addAll(entry.getValue());
             }
             LinkedList<MaintenanceAppResponse> currentUserTaskList = taskList.stream()
-                    .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
+                    .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate).reversed()).collect(Collectors.toCollection(LinkedList::new));
 
-            Map<String, List<MaintenanceAppResponse>> taskMap = page.getRecords().stream().filter(entry ->
+            Map<Long, List<MaintenanceAppResponse>> taskMap = page.getRecords().stream().filter(entry ->
                     !Objects.equals(request.getWorkerId(), entry.getWorkerId1())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
 
             taskList.clear();
-            for (Map.Entry<String, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
-                List<MaintenanceAppResponse> value = entry.getValue();
-                MaintenanceAppResponse task = value.get(0);
-                taskList.add(task);
+            for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
+                taskList.addAll(entry.getValue());
             }
             LinkedList<MaintenanceAppResponse> userTaskList = taskList.stream()
                     .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
@@ -194,8 +213,9 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
 
             page.setRecords(currentUserTaskList);
         }
-
-        return page;
+        resultMap.put("pageResult", page);
+        resultMap.put("count", countMap);
+        return resultMap;
     }
 
     /**

+ 29 - 0
lift-business-service/src/main/resources/mapper/capital/CapitalRepairMapper.xml

@@ -81,6 +81,7 @@
                 lb.name                  AS liftBrand,
                 l.annual_inspection_date AS annualInspectionDate,
                 pclr.id                  AS companyRelevanceId,
+                crlr.id                  AS projectRelevanceId,
                 pclr.lift_company_status AS liftStatus,
                 crlr.project_id          AS projectId,
                 crlr.worker_id           AS workerId,
@@ -101,4 +102,32 @@
            </if>
        </where>
     </select>
+
+    <!-- 选择电梯 -->
+    <select id="chooseLiftList" resultType="cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse"
+            parameterType="cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest">
+        SELECT  l.id                     AS id,
+                l.lift_code              AS liftCode,
+                l.registration_code      AS registrationCode,
+                l.lift_type              AS liftType,
+                l.device_position        AS devicePosition,
+                lb.name                  AS liftBrand,
+                l.annual_inspection_date AS annualInspectionDate,
+                pclr.lift_company_status AS liftStatus,
+                pclr.id                  AS companyRelevanceId,
+                ui.name                  AS workerName,
+                crlr.worker_id           AS workerId
+        FROM platform_company_lift_relevance pclr
+                LEFT JOIN lift l ON pclr.lift_id = l.id
+                LEFT JOIN lift_brand lb ON l.lift_brand = lb.code
+                LEFT JOIN capital_repair_lift_relevance crlr ON pclr.lift_id = crlr.lift_id
+        AND pclr.mt_company_id = crlr.mt_company_id
+                LEFT JOIN user_info ui ON crlr.worker_id = ui.user_id
+        WHERE pclr.lift_company_status != '1'
+            AND l.lift_status = '2'
+        <if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
+            AND pclr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+        </if>
+        AND crlr.project_id IS NULL
+    </select>
 </mapper>

+ 21 - 0
lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml

@@ -133,6 +133,27 @@
 		<if test="request.status!=null and request.status!=''">
 			AND mp.status = #{request.status,jdbcType=VARCHAR}
 		</if>
+		<if test="request.currentTime!=null">
+			AND mp.plan_date = #{request.currentTime}
+		</if>
+	</select>
+
+	<!--app端 保养任务列表 (0:待保养、-1:超期) -->
+	<select id="countPlanByWorkerId" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceAppResponse"
+			parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest">
+		SELECT mp.status
+		FROM maintenance_plan mp
+		LEFT JOIN project p ON mp.project_id = p.id
+		LEFT JOIN project_user pu ON p.id = pu.project_id
+		LEFT JOIN lift l ON mp.lift_id = l.id
+		LEFT JOIN user_info ui ON mp.worker_id = ui.user_id
+		WHERE mp.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		<if test="request.workerId!=null and request.workerId!=''">
+			AND pu.user_id = #{request.workerId,jdbcType=BIGINT}
+		</if>
+		<if test="request.currentTime!=null">
+			AND mp.plan_date = #{request.currentTime}
+		</if>
 	</select>
 
 	<!--日常保养-计划超期:根据条件分页查询-->

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

@@ -129,8 +129,28 @@
 		<if test="request.status!=null and request.status!=''">
 			AND mr.status = #{request.status,jdbcType=VARCHAR}
 		</if>
+        <if test="request.currentTime!=null">
+            AND mr.plan_date = #{request.currentTime}
+        </if>
 	</select>
 
+    <!--app端 保养任务列表 (1:保养中、2:已完成) -->
+    <select id="countRecordByWorkerId" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceAppResponse"
+            parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest">
+        SELECT mr.status
+            FROM maintenance_record mr
+                LEFT JOIN project p ON mr.project_id = p.id
+                LEFT JOIN lift l ON mr.lift_id = l.id
+                LEFT JOIN user_info ui ON mr.worker_id = ui.user_id
+        WHERE mr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+        <if test="request.workerId!=null and request.workerId!=''">
+            AND mr.worker_id1 = #{request.workerId,jdbcType=BIGINT}
+        </if>
+        <if test="request.currentTime!=null">
+            AND mr.plan_date = #{request.currentTime}
+        </if>
+    </select>
+
     <select id="findRecordByLiftId"
             resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.ScanRecordResponse"
             parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtRecordRequest">

+ 1 - 1
lift-common/src/main/java/cn.com.ty.lift.common/constants/CommonEnum.java

@@ -319,7 +319,7 @@ public class CommonEnum {
 
         WAITING_MAINTENANCE("待完成","0"),
         COMPLETE("已完成", "1"),
-        OVERDUE("超期", "2");
+        OVERDUE("超期", "-1");
 
 
         /**