|
@@ -19,6 +19,7 @@ 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;
|
|
@@ -120,32 +121,60 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
return baseMapper.findProjectById(request);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param request 用户ID,公司ID
|
|
|
+ * @return Map<String, Long> 统计分组结果
|
|
|
+ * @description 保养任务日历统计
|
|
|
+ * @date 2020/4/30 2:15 下午
|
|
|
+ */
|
|
|
+ public Map<String, Long> count(MaintenanceRecordRequest request) {
|
|
|
+ request.setEndTime(request.getBeginTime().with(TemporalAdjusters.lastDayOfMonth()));
|
|
|
+ //总经理查询所有保养任务
|
|
|
+ if (DefaultRole.HIGH_DIRECTOR.getCode().equals(request.getCurrentRoleCode())) {
|
|
|
+ request.setUserId(null);
|
|
|
+ }
|
|
|
+ List<MaintenanceAppResponse> planCountResult = maintenancePlanMapper.countPlanByWorkerId(request);
|
|
|
+ //统计待保养、超期的任务
|
|
|
+ Map<String, Long> planCollect = planCountResult.stream().collect(Collectors.groupingBy(MaintenanceAppResponse::getStatus, Collectors.counting()));
|
|
|
+
|
|
|
+ Long waitingMaintenance = planCollect.get(MaintenancePlanStatus.WAITING_MAINTENANCE.getCode());
|
|
|
+ Long overdue = planCollect.get(MaintenancePlanStatus.OVERDUE.getCode());
|
|
|
+
|
|
|
+ List<MaintenanceAppResponse> recordCountResult = maintenanceRecordMapper.countRecordByWorkerId(request);
|
|
|
+ //统计保养中、保养完成任务
|
|
|
+ Map<String, Long> recordCollect = recordCountResult.stream().collect(Collectors.groupingBy(MaintenanceAppResponse::getStatus, Collectors.counting()));
|
|
|
+
|
|
|
+ Long inProgress = recordCollect.get(MaintenanceRecordStatus.MAINTENANCE_DOING.getCode());
|
|
|
+ Long complete = recordCollect.get(MaintenanceRecordStatus.COMPLETE.getCode());
|
|
|
+
|
|
|
+ Map<String, Long> countMap = new HashMap<>();
|
|
|
+ countMap.put("inProgress", inProgress == null ? 0 : inProgress);
|
|
|
+ countMap.put("complete", complete == null ? 0 : complete);
|
|
|
+ countMap.put("overdue", overdue == null ? 0 : overdue);
|
|
|
+ countMap.put("waitingMaintenance", waitingMaintenance == null ? 0 : waitingMaintenance);
|
|
|
+ return countMap;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @param request 用户id和维保状态
|
|
|
* @return RestResponse 保养任务列表 (待完成、超期)
|
|
|
* @description 根据用户id和维保状态查询保养任务列表
|
|
|
* @date 2020/1/6 11:29 上午
|
|
|
*/
|
|
|
- public Map<String, Object> planTask(MaintenanceRecordRequest request) {
|
|
|
- Map<String, Object> resultMap = new HashMap<>();
|
|
|
- Map<String, Long> countMap = new HashMap<>();
|
|
|
- request.setEndTime(request.getCurrentTime().with(TemporalAdjusters.lastDayOfMonth()));
|
|
|
+ public IPage<MaintenanceAppResponse> planTask(MaintenanceRecordRequest request) {
|
|
|
+ if (Objects.nonNull(request.getBeginTime())) {
|
|
|
+ request.setEndTime(request.getBeginTime().with(TemporalAdjusters.lastDayOfMonth()));
|
|
|
+ }
|
|
|
+ //总经理查询所有保养任务
|
|
|
+ if (DefaultRole.HIGH_DIRECTOR.getCode().equals(request.getCurrentRoleCode())) {
|
|
|
+ request.setUserId(null);
|
|
|
+ }
|
|
|
IPage<MaintenanceAppResponse> page = maintenancePlanMapper.findPlanByWorkerId(request.getPage(), request);
|
|
|
-
|
|
|
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));
|
|
|
+ Objects.equals(request.getUserId(), entry.getWorkerId())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
List<MaintenanceAppResponse> taskList = new ArrayList<>();
|
|
|
for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : currentTaskMap.entrySet()) {
|
|
|
taskList.addAll(entry.getValue());
|
|
@@ -155,7 +184,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
.sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
|
|
|
|
|
|
Map<Long, List<MaintenanceAppResponse>> taskMap = page.getRecords().stream().filter(entry ->
|
|
|
- !Objects.equals(request.getWorkerId(), entry.getWorkerId())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
+ !Objects.equals(request.getUserId(), entry.getWorkerId())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
|
|
|
taskList.clear();
|
|
|
for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
|
|
@@ -167,9 +196,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
|
|
|
page.setRecords(currentUserTaskList);
|
|
|
}
|
|
|
- resultMap.put("pageResult", page);
|
|
|
- resultMap.put("count", countMap);
|
|
|
- return resultMap;
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -178,24 +205,19 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
* @description 根据用户id和z维保状态查询保养任务列表
|
|
|
* @date 2020/4/24 5:03 下午
|
|
|
*/
|
|
|
- public Map<String, Object> recordTask(MaintenanceRecordRequest request) {
|
|
|
- Map<String, Object> resultMap = new HashMap<>();
|
|
|
- Map<String, Long> countMap = new HashMap<>();
|
|
|
- request.setEndTime(request.getCurrentTime().with(TemporalAdjusters.lastDayOfMonth()));
|
|
|
+ public IPage<MaintenanceAppResponse> recordTask(MaintenanceRecordRequest request) {
|
|
|
+ if (Objects.nonNull(request.getBeginTime())) {
|
|
|
+ request.setEndTime(request.getBeginTime().with(TemporalAdjusters.lastDayOfMonth()));
|
|
|
+ }
|
|
|
+ //总经理查询所有保养任务
|
|
|
+ if (DefaultRole.HIGH_DIRECTOR.getCode().equals(request.getCurrentRoleCode())) {
|
|
|
+ request.setUserId(null);
|
|
|
+ }
|
|
|
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);
|
|
|
-
|
|
|
Map<Long, List<MaintenanceAppResponse>> currentTaskMap = page.getRecords().stream().filter(entry ->
|
|
|
- Objects.equals(request.getWorkerId(), entry.getWorkerId1())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
+ Objects.equals(request.getUserId(), entry.getWorkerId1())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
List<MaintenanceAppResponse> taskList = new ArrayList<>();
|
|
|
for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : currentTaskMap.entrySet()) {
|
|
|
taskList.addAll(entry.getValue());
|
|
@@ -204,7 +226,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
.sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate).reversed()).collect(Collectors.toCollection(LinkedList::new));
|
|
|
|
|
|
Map<Long, List<MaintenanceAppResponse>> taskMap = page.getRecords().stream().filter(entry ->
|
|
|
- !Objects.equals(request.getWorkerId(), entry.getWorkerId1())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
+ !Objects.equals(request.getUserId(), entry.getWorkerId1())).collect(Collectors.groupingBy(MaintenanceAppResponse::getLiftId));
|
|
|
|
|
|
taskList.clear();
|
|
|
for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
|
|
@@ -216,9 +238,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
|
|
|
page.setRecords(currentUserTaskList);
|
|
|
}
|
|
|
- resultMap.put("pageResult", page);
|
|
|
- resultMap.put("count", countMap);
|
|
|
- return resultMap;
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
/**
|