|
@@ -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;
|
|
|
}
|
|
|
|
|
|
/**
|