无关风月
6 小时以前 5e2d78f61bf7d1513d5d5c8cd55442133a6e898e
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
@@ -229,8 +229,20 @@
            }
            // 超级管理员 查询所有任务列表
            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));
@@ -459,18 +471,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);
            }
@@ -487,9 +504,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.isEmpty(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 +542,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);
            }
@@ -656,9 +689,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));
@@ -952,8 +996,20 @@
            }
            // 超级管理员 查询所有的任务列表
            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)
@@ -1195,10 +1251,21 @@
                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)
                        .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 +1326,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,9 +1436,26 @@
        List<TTask> tasks = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
                .in(TTask::getLocationId, locationIds));
        // 查询片区负责人
        List<SysUser> users = sysUserService.selectUserByNickName("片区负责人");
        for (TLocation tLocation : locationList) {
            long count = tasks.stream().filter(task -> task.getLocationId().equals(tLocation.getId())).count();
            tLocation.setTaskNum(count);
            if(!CollectionUtils.isEmpty(users)){
                List<Long> userIds = users.stream().map(SysUser::getUserId).collect(Collectors.toList());
                List<TTask> taskList = taskCleanService.lambdaQuery().notIn(TTask::getPatrolInspector, userIds).list();
                if(!CollectionUtils.isEmpty(taskList)){
                    List<String> collect = taskList.stream().map(TTask::getId).collect(Collectors.toList());
                    long count = taskList.stream().filter(task -> task.getLocationId().equals(tLocation.getId())
                        && collect.contains(task.getId())).count();
                    tLocation.setTaskNum(count);
                }else {
                    long count = tasks.stream().filter(task -> task.getLocationId().equals(tLocation.getId())).count();
                    tLocation.setTaskNum(count);
                }
            }else {
                long count = tasks.stream().filter(task -> task.getLocationId().equals(tLocation.getId())).count();
                tLocation.setTaskNum(count);
            }
        }
        return R.ok(locationList);
    }