陈昶聿
2 天以前 f2cc333b963cb0de81aebc5ae3a8c247e99243d8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -71,38 +71,38 @@
//        List<ServiceTask> list = serviceTaskService.selectServiceTaskList(serviceTask);
        List<ServiceTask> list = serviceTaskService.selectServiceTaskAndtaskDeptList(serviceTask);
        List<ServiceTaskVO> serviceTaskVOS = DtoConversionUtils.sourceToTarget(list, ServiceTaskVO.class);
        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
        serviceSubtaskEntity.setTaskIds(taskIds);
        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
        // 批量查询所有子任务
        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
                .selectServiceSubtaskList(serviceSubtaskEntity)
                .stream()
                .filter(subtask -> subtask.getTaskid() != null)  // 添加过滤
                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
//
//        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
//
//        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
//        serviceSubtaskEntity.setTaskIds(taskIds);
//        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
//        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
//        // 批量查询所有子任务
//        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
//                .selectServiceSubtaskList(serviceSubtaskEntity)
//                .stream()
//                .filter(subtask -> subtask.getTaskid() != null)  // 添加过滤
//                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
        if (CollectionUtils.isNotEmpty(serviceTaskVOS)) {
            for (ServiceTaskVO taskVO : serviceTaskVOS) {
                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
                if (CollectionUtils.isNotEmpty(subtasks)) {
                    //已发送(子任务中的 sendstate=1为被领取)
                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
                    //未发送
                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
                            s.getSendstate() == 2L).count();
                    taskVO.setYfs(yfs);
                    taskVO.setWfs(wfs);
                }
            }
//            for (ServiceTaskVO taskVO : serviceTaskVOS) {
//                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
//
//                if (CollectionUtils.isNotEmpty(subtasks)) {
//                    //已发送(子任务中的 sendstate=1为被领取)
//                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
//                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
//                    //未发送
//                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
//                            s.getSendstate() == 2L).count();
//                    taskVO.setYfs(yfs);
//                    taskVO.setWfs(wfs);
//
//                }
//
//            }
            //获取total
            long total = PageUtils.count(new ISelect() {
                @Override