无关风月
6 小时以前 5e2d78f61bf7d1513d5d5c8cd55442133a6e898e
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);