ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
@@ -228,9 +228,20 @@ } } // 超级管理员 查询所有任务列表 List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) .between(TTask::getImplementTime, startTime, endTime)); List<TTask> taskList = new ArrayList<>(); 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)); @@ -459,18 +470,23 @@ list.addAll(taskList); } list = list.stream().distinct().collect(Collectors.toList()); map.put("timeoutWarn", list.stream().filter(task -> task.getStatus() == 2).count()); int timeoutWarn = 0; int unqualifiedWarn = 0; List<TEarlyWarning> earlyWarnings = earlyWarningService.list(Wrappers.lambdaQuery(TEarlyWarning.class)); if(CollectionUtils.isEmpty(earlyWarnings)){ map.put("unqualifiedWarn", unqualifiedWarn); }else { // 将earlyWarnings列表的taskId用逗号拼接 String taskIds = earlyWarnings.stream().map(TEarlyWarning::getTaskId).collect(Collectors.joining(",")); for (TTask task : list) { if(taskIds.contains(task.getId())){ unqualifiedWarn++; } List<TEarlyWarning> timeoutWarnList = earlyWarnings.stream().filter(e -> e.getWarningType() == 1).collect(Collectors.toList()); for (TEarlyWarning earlyWarning : timeoutWarnList) { List<TTask> timeoutWarnTasks = list.stream().filter(task -> earlyWarning.getTaskId().contains(task.getId())).collect(Collectors.toList()); timeoutWarn = timeoutWarn + timeoutWarnTasks.size(); } map.put("timeoutWarn", timeoutWarn); List<TEarlyWarning> unqualifiedWarnList = earlyWarnings.stream().filter(e -> e.getWarningType() == 2).collect(Collectors.toList()); for (TEarlyWarning earlyWarning : unqualifiedWarnList) { List<TTask> unqualifiedWarnTasks = list.stream().filter(task -> earlyWarning.getTaskId().contains(task.getId())).collect(Collectors.toList()); unqualifiedWarn = unqualifiedWarn + unqualifiedWarnTasks.size(); } map.put("unqualifiedWarn", unqualifiedWarn); } @@ -489,7 +505,17 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); @@ -514,18 +540,23 @@ list.addAll(taskList); } list = list.stream().distinct().collect(Collectors.toList()); map.put("timeoutWarn", list.stream().filter(task -> task.getStatus() == 2).count()); int timeoutWarn = 0; int unqualifiedWarn = 0; List<TEarlyWarning> earlyWarnings = earlyWarningService.list(Wrappers.lambdaQuery(TEarlyWarning.class)); if(CollectionUtils.isEmpty(earlyWarnings)){ map.put("unqualifiedWarn", unqualifiedWarn); }else { // 将earlyWarnings列表的taskId用逗号拼接 String taskIds = earlyWarnings.stream().map(TEarlyWarning::getTaskId).collect(Collectors.joining(",")); for (TTask task : list) { if(taskIds.contains(task.getId())){ unqualifiedWarn++; } List<TEarlyWarning> timeoutWarnList = earlyWarnings.stream().filter(e -> e.getWarningType() == 1).collect(Collectors.toList()); for (TEarlyWarning earlyWarning : timeoutWarnList) { List<TTask> timeoutWarnTasks = list.stream().filter(task -> earlyWarning.getTaskId().contains(task.getId())).collect(Collectors.toList()); timeoutWarn = timeoutWarn + timeoutWarnTasks.size(); } map.put("timeoutWarn", timeoutWarn); List<TEarlyWarning> unqualifiedWarnList = earlyWarnings.stream().filter(e -> e.getWarningType() == 2).collect(Collectors.toList()); for (TEarlyWarning earlyWarning : unqualifiedWarnList) { List<TTask> unqualifiedWarnTasks = list.stream().filter(task -> earlyWarning.getTaskId().contains(task.getId())).collect(Collectors.toList()); unqualifiedWarn = unqualifiedWarn + unqualifiedWarnTasks.size(); } map.put("unqualifiedWarn", unqualifiedWarn); } @@ -658,7 +689,17 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); @@ -951,9 +992,20 @@ sysUsers = sysUserService.selectListByDeptId(deptId); } // 超级管理员 查询所有的任务列表 List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) .between(TTask::getImplementTime, startTime, endTime)); List<TTask> taskList = new ArrayList<>(); 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) @@ -1197,8 +1249,18 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); if(CollectionUtils.isEmpty(query.getProjectId())){ taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) .between(TTask::getImplementTime, startTime, endTime)); // 查询点位类型 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)); @@ -1259,7 +1321,17 @@ 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); @@ -1359,7 +1431,13 @@ List<TTask> tasks = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) .in(TTask::getLocationId, locationIds)); // 查询片区负责人 // List<SysUser> users = sysUserService.selectUserByNickName("片区负责人"); for (TLocation tLocation : locationList) { // if(!CollectionUtils.isEmpty(users)){ // // } long count = tasks.stream().filter(task -> task.getLocationId().equals(tLocation.getId())).count(); tLocation.setTaskNum(count); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
@@ -654,25 +654,25 @@ entityList.add(excelExportEntity1); } ExcelExportEntity excelExportEntity8 = new ExcelExportEntity("整改完成任务", "total", 15); ExcelExportEntity excelExportEntity8 = new ExcelExportEntity("整改完成任务", "num7", 15); excelExportEntity8.setGroupName("任务情况汇总"); entityList.add(excelExportEntity8); ExcelExportEntity excelExportEntity7 = new ExcelExportEntity("超时未执行任务", "total", 15); ExcelExportEntity excelExportEntity7 = new ExcelExportEntity("超时未执行任务", "num6", 15); excelExportEntity7.setGroupName("任务情况汇总"); entityList.add(excelExportEntity7); ExcelExportEntity excelExportEntity6 = new ExcelExportEntity("审核通过任务", "total", 15); ExcelExportEntity excelExportEntity6 = new ExcelExportEntity("审核通过任务", "num5", 15); excelExportEntity6.setGroupName("任务情况汇总"); entityList.add(excelExportEntity6); ExcelExportEntity excelExportEntity5 = new ExcelExportEntity("待整改任务", "total", 15); ExcelExportEntity excelExportEntity5 = new ExcelExportEntity("待整改任务", "num4", 15); excelExportEntity5.setGroupName("任务情况汇总"); entityList.add(excelExportEntity5); ExcelExportEntity excelExportEntity4 = new ExcelExportEntity("未执行任务", "total", 15); ExcelExportEntity excelExportEntity4 = new ExcelExportEntity("未执行任务", "num3", 15); excelExportEntity4.setGroupName("任务情况汇总"); entityList.add(excelExportEntity4); ExcelExportEntity excelExportEntity3 = new ExcelExportEntity("清洁不合格", "total", 15); ExcelExportEntity excelExportEntity3 = new ExcelExportEntity("清洁不合格", "num2", 15); excelExportEntity3.setGroupName("任务情况汇总"); entityList.add(excelExportEntity3); ExcelExportEntity excelExportEntity2 = new ExcelExportEntity("清洁合格", "total", 15); ExcelExportEntity excelExportEntity2 = new ExcelExportEntity("清洁合格", "num1", 15); excelExportEntity2.setGroupName("任务情况汇总"); entityList.add(excelExportEntity2); ExcelExportEntity excelExportEntity1 = new ExcelExportEntity("总数", "total", 15); @@ -704,6 +704,7 @@ map.put("num6", row.getNum6()); map.put("num7", row.getNum7()); mapList.add(map); break; } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java
@@ -262,7 +262,17 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); @@ -463,8 +473,18 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); @@ -537,7 +557,17 @@ 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); @@ -596,6 +626,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())){ @@ -678,6 +711,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)){ @@ -701,13 +748,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 { // 超级管理员 // 查询点位类型 @@ -721,9 +762,19 @@ } } // 超级管理员 查询所有的任务列表 List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) .between(TTask::getImplementTime, startTime, endTime)); List<TTask> taskList = new ArrayList<>(); 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)); @@ -767,6 +818,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)){ @@ -796,7 +862,7 @@ // task.setLocationName(tLocation.getLocationName()); // } // } return R.ok(list); return R.ok(result); } } @@ -894,7 +960,17 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); @@ -1054,7 +1130,17 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); @@ -1229,6 +1315,7 @@ analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size()); analysisUnqualifiedCleaningDetailVOS.add(analysisUnqualifiedCleaningDetailVO); } analysisUnqualifiedCleaningDetailVOS.sort(Comparator.comparingInt(AnalysisUnqualifiedCleaningDetailVO::getCount).reversed()); analysisUnqualifiedCleaningVO.setAnalysisUnqualifiedCleaningDetailVOS(analysisUnqualifiedCleaningDetailVOS); }else { // 超级管理员 @@ -1245,7 +1332,17 @@ // 超级管理员 查询所有的任务列表 List<TTask> taskList = new ArrayList<>(); 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)); ruoyi-system/src/main/java/com/ruoyi/system/model/TTask.java
@@ -87,4 +87,7 @@ @ApiModelProperty(value = "点位名称") @TableField(exist = false) private String locationName; @ApiModelProperty(value = "预警类型 1超时预警 2点位不合格预警") @TableField(exist = false) private Integer warningType; }