소스 검색

保养单列表排序修改,大修项目列表根据状态区分

别傲 5 년 전
부모
커밋
337944c401

+ 0 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/CapitalRepairHistory.java

@@ -1,7 +1,6 @@
 package cn.com.ty.lift.business.capital.dao.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 

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

@@ -3,7 +3,7 @@ package cn.com.ty.lift.business.capital.dao.mapper;
 import cn.com.ty.lift.business.capital.dao.entity.CapitalRepairLiftRelevance;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalLiftRequest;
 import cn.com.ty.lift.business.common.CommonRequest;
-import cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest;
+import cn.com.ty.lift.business.project.dao.entity.model.request.CapitalCompanyRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectDetailResponse;
@@ -33,7 +33,7 @@ public interface CapitalRepairLiftRelevanceMapper extends BaseMapper<CapitalRepa
      * @description app端 根据公司id查询公司大修项目列表
      * @date 2019/12/31 4:23 PM
      */
-    IPage<ProjectCompanyResponse> findCapitalListByCompanyId(IPage<ProjectCompanyResponse> page, @Param("request") CompanyRequest request);
+    IPage<ProjectCompanyResponse> findCapitalListByCompanyId(IPage<ProjectCompanyResponse> page, @Param("request") CapitalCompanyRequest request);
 
     /**
      * @param request 项目id

+ 0 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/SignInService.java

@@ -23,7 +23,6 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.util.*;
 import java.util.stream.Collectors;

+ 8 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/PlatformCompanyLiftRelevanceService.java

@@ -11,6 +11,7 @@ import cn.com.ty.lift.business.maintenance.service.MaintenanceService;
 import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectOperateServiceRequest;
+import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
 import cn.com.ty.lift.business.project.service.ProjectLiftRelevanceService;
 import cn.com.ty.lift.business.project.service.ProjectService;
 import cn.com.ty.lift.common.constants.CommonEnum;
@@ -49,6 +50,9 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
     @Resource
     private ProjectLiftRelevanceService projectLiftRelevanceService;
 
+    @Resource
+    private ProjectMapper projectMapper;
+
 
     /**
      * @param id          电梯id
@@ -183,7 +187,7 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
                 project.setStartDate(request.getStartDate());
                 project.setEndDate(request.getEndDate());
                 project.setProjectStatus(CommonEnum.ProjectStatus.IN_SERVICE.getCode());
-                projectService.modify(project);
+                projectMapper.updateById(project);
                 if (CollUtil.isNotEmpty(resultList)) {
                     //电梯状态设置为正常
                     resultList.forEach(entry -> entry.setLiftCompanyStatus(CommonEnum.LiftStatus.NORMAL.getCode()));
@@ -201,7 +205,7 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
                 //设置停止时间及描述
                 project.setEndRemarks(request.getEndRemarks());
                 project.setStopTime(request.getStopTime());
-                projectService.modify(project);
+                projectMapper.updateById(project);
                 if (CollUtil.isNotEmpty(resultList)) {
                     //批量停保项目下的电梯
                     resultList.forEach(entry -> entry.setLiftCompanyStatus(CommonEnum.LiftStatus.STOP_INSURANCE.getCode()));
@@ -218,8 +222,8 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
             case "3":
                 project.setEndDate(request.getEndDate());
                 project.setProjectStatus(CommonEnum.ProjectStatus.IN_SERVICE.getCode());
-                boolean response = projectService.modify(project);
-                if (!response) return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+                int response = projectMapper.updateById(project);
+                if (response < 0) return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
                 break;
             default:
                 break;

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/request/MaintenanceAppRequest.java

@@ -20,7 +20,7 @@ public class MaintenanceAppRequest extends PageRequest {
      * 用户id
      */
     @NotNull(message = "notEmpty")
-    private Long workerId;
+    private String workerId;
 
     /**
      * 维保计划状态

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

@@ -32,9 +32,13 @@ public class MaintenanceAppResponse {
      */
     private String liftId;
     /**
-     * 维保id
+     * 维保负责人id
      */
     private String workerId;
+    /**
+     * 维保工id
+     */
+    private String workerId1;
     /**
      * 电梯经纬度
      */

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

@@ -15,6 +15,7 @@ import cn.com.ty.lift.business.maintenance.dao.entity.model.response.Maintenance
 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;
+import cn.com.ty.lift.business.project.dao.entity.model.request.CapitalCompanyRequest;
 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.request.ProjectUserListRequest;
@@ -293,7 +294,7 @@ public class ProjectAppController {
     * @date 2020/4/20 8:18 下午
     */
     @PostMapping("capital/project/list")
-    public RestResponse capitalProjectList(@Valid @RequestBody CompanyRequest request) {
+    public RestResponse capitalProjectList(@Valid @RequestBody CapitalCompanyRequest request) {
         IPage<ProjectCompanyResponse> page = projectAppService.capitalProjectList(request);
         if (CollUtil.isEmpty(page.getRecords())) {
             return RestResponse.success();

+ 1 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/ProjectHistory.java

@@ -1,10 +1,8 @@
 package cn.com.ty.lift.business.project.dao.entity;
 
-import cn.com.ty.lift.business.common.BaseEntity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
 
@@ -14,8 +12,7 @@ import java.time.LocalDateTime;
  * @since 2019-12-02 11:03:25
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
-public class ProjectHistory extends BaseEntity {
+public class ProjectHistory {
     /**
      * 记录ID
      */

+ 41 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/request/CapitalCompanyRequest.java

@@ -0,0 +1,41 @@
+package cn.com.ty.lift.business.project.dao.entity.model.request;
+
+import cn.com.ty.lift.common.model.PageRequest;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2020/4/27
+ * @description 大修项目列表
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CapitalCompanyRequest extends PageRequest {
+
+    /**
+     * 公司id
+     */
+    @NotNull(message = "notEmpty")
+    private Long mtCompanyId;
+
+    /**
+     * 项目名称
+     */
+    private String projectName;
+
+    /**
+     * 用户id
+     */
+    @NotNull(message = "notEmpty")
+    private Long userId;
+
+    /**
+     * 项目状态
+     */
+    @NotEmpty(message = "notEmpty")
+    private String projectStatus;
+}

+ 57 - 11
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -12,6 +12,7 @@ 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.CapitalCompanyRequest;
 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.request.ProjectUserListRequest;
@@ -31,9 +32,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -133,12 +132,29 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
         IPage<MaintenanceAppResponse> page = maintenancePlanMapper.findPlanByWorkerId(request.getPage(), request);
 
         if (CollUtil.isNotEmpty(page.getRecords())) {
-            List<MaintenanceAppResponse> currentUserTaskList = page.getRecords().stream().filter(entry ->
-                    Objects.equals(request.getWorkerId(), entry.getWorkerId())).collect(Collectors.toCollection(LinkedList::new));
-
-            List<MaintenanceAppResponse> taskList = page.getRecords().stream().filter(entry ->
-                    !Objects.equals(request.getWorkerId(), entry.getWorkerId())).collect(Collectors.toList());
-            currentUserTaskList.addAll(taskList);
+            Map<String, 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);
+            }
+            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 ->
+                    !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);
+            }
+            LinkedList<MaintenanceAppResponse> userTaskList = taskList.stream()
+                    .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
+            currentUserTaskList.addAll(userTaskList);
 
             page.setRecords(currentUserTaskList);
         }
@@ -153,7 +169,37 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
      * @date 2020/4/24 5:03 下午
      */
     public IPage<MaintenanceAppResponse> recordTask(MaintenanceAppRequest request) {
-        return maintenanceRecordMapper.findRecordByWorkerId(request.getPage(), request);
+        IPage<MaintenanceAppResponse> page = maintenanceRecordMapper.findRecordByWorkerId(request.getPage(), request);
+
+        if (CollUtil.isNotEmpty(page.getRecords())) {
+            Map<String, 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);
+            }
+            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 ->
+                    !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);
+            }
+            LinkedList<MaintenanceAppResponse> userTaskList = taskList.stream()
+                    .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
+            currentUserTaskList.addAll(userTaskList);
+
+            page.setRecords(currentUserTaskList);
+        }
+
+        return page;
     }
 
     /**
@@ -172,7 +218,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
      * @description 根据公司id查询公司下大修项目列表
      * @date 2020/4/20 8:18 下午
      */
-    public IPage<ProjectCompanyResponse> capitalProjectList(CompanyRequest request) {
+    public IPage<ProjectCompanyResponse> capitalProjectList(CapitalCompanyRequest request) {
         return capitalRepairLiftRelevanceMapper.findCapitalListByCompanyId(request.getPage(), request);
     }
 

+ 7 - 1
lift-business-service/src/main/resources/mapper/capital/CapitalRepairLiftRelevanceMapper.xml

@@ -40,7 +40,7 @@
     </select>
 
     <!--app端 根据公司id查询公司下大修项目列表 -->
-    <select id="findCapitalListByCompanyId" parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest"
+    <select id="findCapitalListByCompanyId" parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.CapitalCompanyRequest"
             resultType="cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse">
         SELECT
         cr.id             AS projectId,
@@ -56,6 +56,12 @@
         <if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
             AND cr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
         </if>
+        <if test="request.userId!=null and request.userId!=''">
+            AND pu.user_id = #{request.userId,jdbcType=BIGINT}
+        </if>
+        <if test="request.projectStatus!=null and request.projectStatus!=''">
+            AND cr.project_status = #{request.projectStatus,jdbcType=VARCHAR}
+        </if>
         <if test="request.projectName!=null and request.projectName!=''">
             AND cr.project_name LIKE CONCAT('%',#{request.projectName,jdbcType=VARCHAR},'%')
         </if>

+ 2 - 1
lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml

@@ -112,6 +112,7 @@
 			l.device_position   AS devicePosition,
 			ui.name             AS workerName,
 			mr.worker_id        AS workerId,
+		    mr.worker_id1       AS workerId1,
 			mr.plan_date        AS planDate,
 			mr.type             AS maintenanceType,
 			mr.status           AS status
@@ -121,7 +122,7 @@
 		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_id = #{request.workerId,jdbcType=BIGINT}
+			AND mr.worker_id1 = #{request.workerId,jdbcType=BIGINT}
 		</if>
 		<if test="request.status!=null and request.status!=''">
 			AND mr.status = #{request.status,jdbcType=VARCHAR}