From e9db31e49c790aff85a5ebe20dbb425ae59d6913 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 12 七月 2025 18:44:37 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java | 206 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 180 insertions(+), 26 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java index 26d0285..e8fd4c7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java @@ -204,6 +204,10 @@ } query.setProjectId(projectIds); } + + // 巡检员数 + Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),deptType); + map.put("totalEmployeeNum", totalEmployeeNum); }else { // 公司人员 // 查询自己的任务列表 @@ -218,6 +222,9 @@ query.setProjectId(projectIds); } } + // 巡检员数 + Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),1); + map.put("totalEmployeeNum", totalEmployeeNum+1); } // 查询片区 @@ -253,9 +260,20 @@ map.put("totalLocationNum", locationList.size()); } // 超级管理员 查询所有的任务列表 - List<TTask> taskList = new ArrayList<>(); + List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) + .in(TTask::getPatrolInspector, userId)); if(CollectionUtils.isEmpty(query.getProjectId())){ - taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)); + // 查询点位类型 +// if(StringUtils.isNotEmpty(query.getLocationTypeId())){ +// // 查询点位 +// List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) +// .in(TLocation::getLocationType, query.getLocationTypeId())); +// if(!CollectionUtils.isEmpty(locationList)){ +// List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); +// taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) +// .in(TTask::getLocationId, locationIds)); +// } +// } // 查询所有项目部的任务列表 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) .eq(TProjectDept::getStatus, 1)); @@ -283,6 +301,16 @@ list.addAll(taskList); } list = list.stream().distinct().collect(Collectors.toList()); + + // 巡检员数 + if(CollectionUtils.isEmpty(query.getProjectId())){ + Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),deptType); + Integer totalEmployeeNum1 = sysUserService.selectUserCount(query.getProjectId(),1); + map.put("totalEmployeeNum", totalEmployeeNum+totalEmployeeNum1); + }else { + Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),1); + map.put("totalEmployeeNum", totalEmployeeNum); + } } // 查询任务相关数据 @@ -294,11 +322,11 @@ map.put("waitTaskNum", list.stream().filter(tTask -> tTask.getStatus() == 1).count()); // 总计员工数 - Integer totalEmployeeNum = sysUserService.selectUserCount(null,deptType); - if (deptType != 1) { - totalEmployeeNum = totalEmployeeNum + 1; - } - map.put("totalEmployeeNum", totalEmployeeNum); +// Integer totalEmployeeNum = sysUserService.selectUserCount(null,deptType); +// if (deptType != 1) { +// totalEmployeeNum = totalEmployeeNum + 1; +// } +// map.put("totalEmployeeNum", totalEmployeeNum); // 今日请假员工数量 List<TLeave> leaves = leaveService.list(Wrappers.lambdaQuery(TLeave.class) @@ -444,10 +472,21 @@ } } // 超级管理员 查询所有的任务列表 - List<TTask> taskList = new ArrayList<>(); + List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) + .in(TTask::getPatrolInspector, userId)); if(CollectionUtils.isEmpty(query.getProjectId())){ - taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) - .between(TTask::getImplementTime, query.getStartTime(), query.getEndTime())); + // 查询点位类型 +// if(StringUtils.isNotEmpty(query.getLocationTypeId())){ +// // 查询点位 +// List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) +// .in(TLocation::getLocationType, query.getLocationTypeId())); +// if(!CollectionUtils.isEmpty(locationList)){ +// List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); +// taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) +// .in(TTask::getLocationId, locationIds) +// .between(TTask::getImplementTime, query.getStartTime(), query.getEndTime())); +// } +// } // 查询所有项目部的任务列表 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) .eq(TProjectDept::getStatus, 1)); @@ -499,12 +538,38 @@ && task.getStatus() != 3 && task.getStatus() != 4).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ taskSituationVO.setPassRate(BigDecimal.ZERO); + for (long i = 0; i <= daysBetween; i++) { + TaskSituationDayVO taskSituationDayVO = new TaskSituationDayVO(); + if(i == 0){ + format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + }else { + format = DateUtils.stringToLocalDate(format).plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + } + taskSituationDayVO.setTaskTime(format); + // 任务数 + taskSituationDayVO.setTaskNum(0); + // 完成数 + taskSituationDayVO.setCompletedNum(0); + taskSituationDayVO.setCompleteRate(BigDecimal.ZERO); + taskSituationDayVOList.add(taskSituationDayVO); + } + taskSituationVO.setTaskSituationDayVO(taskSituationDayVOList); return R.ok(taskSituationVO); } List<String> taskIds = tasks.stream().map(TTask::getId).collect(Collectors.toList()); List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class) .in(TTaskDetail::getTaskId, taskIds) + .eq(TTaskDetail::getHandleType,1) .orderByDesc(TTaskDetail::getCreateTime)); + taskDetails = new ArrayList<>(taskDetails.stream() + .collect(Collectors.groupingBy( + TTaskDetail::getTaskId, + Collectors.collectingAndThen( + Collectors.toList(), + listAll -> listAll.get(0) + ) + )) + .values()); int qualifiedWarn = 0; for (TTask task : list) { TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null); @@ -541,7 +606,7 @@ if(tTasks.isEmpty()){ taskSituationDayVO.setCompleteRate(BigDecimal.ZERO); }else { - taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_DOWN)); + taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(taskSituationDayVO.getCompletedNum()), 2, RoundingMode.HALF_DOWN)); } taskSituationDayVOList.add(taskSituationDayVO); } @@ -563,6 +628,9 @@ String startTime = LocalDate.now() + " 00:00:00"; String endTime = LocalDate.now() + " 23:59:59"; // wrapper.between(TTask::getImplementTime, startTime, endTime); + + List<TTask> result = new ArrayList<>(); + if (userId != 1L) { // 查询点位类型 if(StringUtils.isNotEmpty(query.getLocationTypeId())){ @@ -645,6 +713,20 @@ } } + for (TTask task : list) { + TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); + if(Objects.nonNull(tLocation)) { + task.setLocationName(tLocation.getLocationName()); + } + } + + for (TEarlyWarning earlyWarning : earlyWarnings) { + List<TTask> tTasks = list.stream().filter(task -> earlyWarning.getTaskId().contains(task.getId())).collect(Collectors.toList()); + tTasks.forEach(task -> { + task.setWarningType(earlyWarning.getWarningType()); + }); + result.addAll(tTasks); + } // List<TTask> result = list.stream().filter(task -> task.getStatus() == 2).collect(Collectors.toList()); // List<TTask> tasks = list.stream().filter(task -> task.getStatus() == 1 || task.getStatus() == 2).collect(Collectors.toList()); // if(CollectionUtils.isEmpty(tasks)){ @@ -668,13 +750,7 @@ // } // } // } -// for (TTask task : result) { -// TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); -// if(Objects.nonNull(tLocation)) { -// task.setLocationName(tLocation.getLocationName()); -// } -// } - return R.ok(list); + return R.ok(result); }else { // 超级管理员 // 查询点位类型 @@ -689,8 +765,19 @@ } // 超级管理员 查询所有的任务列表 List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) - .between(TTask::getImplementTime, startTime, endTime)); + .in(TTask::getPatrolInspector, userId)); if(CollectionUtils.isEmpty(query.getProjectId())){ + // 查询点位类型 +// if(StringUtils.isNotEmpty(query.getLocationTypeId())){ +// // 查询点位 +// List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) +// .in(TLocation::getLocationType, query.getLocationTypeId())); +// if(!CollectionUtils.isEmpty(locationList)){ +// List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); +// taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) +// .in(TTask::getLocationId, locationIds).between(TTask::getImplementTime, startTime, endTime)); +// } +// } // 查询所有项目部的任务列表 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) .eq(TProjectDept::getStatus, 1)); @@ -734,6 +821,21 @@ } } + for (TTask task : list) { + TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); + if(Objects.nonNull(tLocation)) { + task.setLocationName(tLocation.getLocationName()); + } + } + + for (TEarlyWarning earlyWarning : earlyWarnings) { + List<TTask> tTasks = list.stream().filter(task -> earlyWarning.getTaskId().contains(task.getId())).collect(Collectors.toList()); + tTasks.forEach(task -> { + task.setWarningType(earlyWarning.getWarningType()); + }); + result.addAll(tTasks); + } + // List<TTask> result = list.stream().filter(task -> task.getStatus() == 2).collect(Collectors.toList()); // List<TTask> tasks = list.stream().filter(task -> task.getStatus() == 1 || task.getStatus() == 2).collect(Collectors.toList()); // if(CollectionUtils.isEmpty(tasks)){ @@ -763,7 +865,7 @@ // task.setLocationName(tLocation.getLocationName()); // } // } - return R.ok(list); + return R.ok(result); } } @@ -859,9 +961,20 @@ } } // 超级管理员 查询所有的任务列表 - List<TTask> taskList = new ArrayList<>(); + List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) + .in(TTask::getPatrolInspector, userId)); if(CollectionUtils.isEmpty(query.getProjectId())){ - taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)); + // 查询点位类型 +// if(StringUtils.isNotEmpty(query.getLocationTypeId())){ +// // 查询点位 +// List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) +// .in(TLocation::getLocationType, query.getLocationTypeId())); +// if(!CollectionUtils.isEmpty(locationList)){ +// List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); +// taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) +// .in(TTask::getLocationId, locationIds)); +// } +// } // 查询所有项目部的任务列表 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) .eq(TProjectDept::getStatus, 1)); @@ -1019,9 +1132,20 @@ } } // 超级管理员 查询所有的任务列表 - List<TTask> taskList = new ArrayList<>(); + List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) + .in(TTask::getPatrolInspector, userId)); if(CollectionUtils.isEmpty(query.getProjectId())){ - taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)); + // 查询点位类型 +// if(StringUtils.isNotEmpty(query.getLocationTypeId())){ +// // 查询点位 +// List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) +// .in(TLocation::getLocationType, query.getLocationTypeId())); +// if(!CollectionUtils.isEmpty(locationList)){ +// List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); +// taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) +// .in(TTask::getLocationId, locationIds)); +// } +// } // 查询所有项目部的任务列表 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) .eq(TProjectDept::getStatus, 1)); @@ -1167,6 +1291,15 @@ .eq(TTaskDetail::getClearStatus, 2) .eq(TTaskDetail::getHandleType,1) .orderByDesc(TTaskDetail::getCreateTime)); + taskDetails = new ArrayList<>(taskDetails.stream() + .collect(Collectors.groupingBy( + TTaskDetail::getTaskId, + Collectors.collectingAndThen( + Collectors.toList(), + listAll -> listAll.get(0) + ) + )) + .values()); List<TTaskDetail> taskDetailList = new ArrayList<>(); for (TTask task : list) { TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null); @@ -1187,6 +1320,7 @@ analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size()); analysisUnqualifiedCleaningDetailVOS.add(analysisUnqualifiedCleaningDetailVO); } + analysisUnqualifiedCleaningDetailVOS.sort(Comparator.comparingInt(AnalysisUnqualifiedCleaningDetailVO::getCount).reversed()); analysisUnqualifiedCleaningVO.setAnalysisUnqualifiedCleaningDetailVOS(analysisUnqualifiedCleaningDetailVOS); }else { // 超级管理员 @@ -1201,9 +1335,20 @@ } } // 超级管理员 查询所有的任务列表 - List<TTask> taskList = new ArrayList<>(); + List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) + .in(TTask::getPatrolInspector, userId)); if(CollectionUtils.isEmpty(query.getProjectId())){ - taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)); + // 查询点位类型 +// if(StringUtils.isNotEmpty(query.getLocationTypeId())){ +// // 查询点位 +// List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) +// .in(TLocation::getLocationType, query.getLocationTypeId())); +// if(!CollectionUtils.isEmpty(locationList)){ +// List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); +// taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) +// .in(TTask::getLocationId, locationIds)); +// } +// } // 查询所有项目部的任务列表 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) .eq(TProjectDept::getStatus, 1)); @@ -1241,6 +1386,15 @@ .eq(TTaskDetail::getHandleType,1) .eq(TTaskDetail::getClearStatus, 2) .orderByDesc(TTaskDetail::getCreateTime)); + taskDetails = new ArrayList<>(taskDetails.stream() + .collect(Collectors.groupingBy( + TTaskDetail::getTaskId, + Collectors.collectingAndThen( + Collectors.toList(), + listAll -> listAll.get(0) + ) + )) + .values()); List<TTaskDetail> taskDetailList = new ArrayList<>(); for (TTask task : list) { TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null); -- Gitblit v1.7.1