无关风月
2 天以前 d8ad5605a031477c252e029149a4735a1a20ffbd
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java
@@ -221,6 +221,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
                // 查询点位数
                List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class)
@@ -236,6 +237,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
        }else {
            // 超级管理员
            // 查询点位类型
@@ -264,6 +266,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
                List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class)
                        .in(TLocation::getProjectId, query.getProjectId()));
@@ -278,6 +281,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
        }
        // 查询任务相关数据
@@ -289,7 +293,7 @@
        map.put("waitTaskNum", list.stream().filter(tTask -> tTask.getStatus() == 1).count());
        // 总计员工数
        Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),deptType);
        Integer totalEmployeeNum = sysUserService.selectUserCount(null,deptType);
        if (deptType != 1) {
            totalEmployeeNum = totalEmployeeNum + 1;
        }
@@ -387,6 +391,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -398,6 +403,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
        }else {
            // 超级管理员
            // 查询点位类型
@@ -426,6 +432,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -437,6 +444,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
        }
        // 任务总数
        taskSituationVO.setTotalTaskNum(list.size());
@@ -462,7 +470,7 @@
                }
            }
        }
        taskSituationVO.setPassRate(new BigDecimal(qualifiedWarn).divide(new BigDecimal(tasks.size()), 2, RoundingMode.HALF_UP));
        taskSituationVO.setPassRate(new BigDecimal(qualifiedWarn).divide(new BigDecimal(tasks.size()), 2, RoundingMode.HALF_DOWN));
        // 过滤每天的任务
        LocalDateTime start = DateUtils.stringToLocalDateTime(query.getStartTime());
@@ -500,7 +508,7 @@
            if(tTasks.isEmpty()){
                taskSituationDayVO.setCompleteRate(BigDecimal.ZERO);
            }else {
                taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP));
                taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_DOWN));
            }
            taskSituationDayVOList.add(taskSituationDayVO);
        }
@@ -570,6 +578,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -581,6 +590,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            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)){
@@ -639,6 +649,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -650,6 +661,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            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)){
@@ -741,6 +753,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -752,6 +765,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            List<TTask> result = list.stream().filter(task -> task.getStatus() == 3).collect(Collectors.toList());
            for (TTask task : result) {
                TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null);
@@ -787,6 +801,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -798,6 +813,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            List<TTask> result = list.stream().filter(task -> task.getStatus() == 3).collect(Collectors.toList());
            for (TTask task : result) {
                TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null);
@@ -864,6 +880,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -875,6 +892,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(tasks)){
                map.put("unqualifiedWarn", 0);
@@ -930,6 +948,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -941,6 +960,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(tasks)){
                map.put("unqualifiedWarn", 0);
@@ -1028,6 +1048,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -1039,7 +1060,7 @@
            if(!CollectionUtils.isEmpty(taskList)){
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(tasks)){
                return R.ok();
@@ -1048,8 +1069,17 @@
            List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class)
                    .in(TTaskDetail::getTaskId, taskIds)
                    .eq(TTaskDetail::getClearStatus, 2)
                            .eq(TTaskDetail::getHandleType,1)
                    .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);
@@ -1098,6 +1128,7 @@
            // 查询片区
            if(!CollectionUtils.isEmpty(query.getProjectId())){
                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                wrapper.in(TTask::getProjectId, query.getProjectId());
            }
@@ -1110,6 +1141,8 @@
                list.addAll(taskList);
            }
            list = list.stream().distinct().collect(Collectors.toList());
            List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(tasks)){
                return R.ok();
@@ -1117,8 +1150,18 @@
            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)
                    .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);
@@ -1139,6 +1182,8 @@
                analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size());
                analysisUnqualifiedCleaningDetailVOS.add(analysisUnqualifiedCleaningDetailVO);
            }
            // 按照数量倒序排序
            analysisUnqualifiedCleaningDetailVOS.sort(Comparator.comparingInt(AnalysisUnqualifiedCleaningDetailVO::getCount).reversed());
            analysisUnqualifiedCleaningVO.setAnalysisUnqualifiedCleaningDetailVOS(analysisUnqualifiedCleaningDetailVOS);
        }