liusheng
昨天 459aa78c84cf552ebea6ef056d978c2531d71ac8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -14,6 +14,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.service.IServiceSubtaskService;
import com.smartor.service.IServiceTaskService;
import io.swagger.annotations.Api;
@@ -29,6 +30,7 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -72,20 +74,21 @@
        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
        serviceSubtaskVO.setTaskIds(taskIds);
        serviceSubtaskVO.setStartOutHospTime(serviceTask.getStartOutHospTime());
        serviceSubtaskVO.setEndOutHospTime(serviceTask.getEndOutHospTime());
        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
        serviceSubtaskEntity.setTaskIds(taskIds);
        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
        // 批量查询所有子任务
        Map<Long, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
                .selectServiceSubtaskList(serviceSubtaskVO)
        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
                .selectServiceSubtaskList(serviceSubtaskEntity)
                .stream()
                .collect(Collectors.groupingBy(ServiceSubtask::getTaskid));
                .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(), Collections.emptyList());
                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
                if (CollectionUtils.isNotEmpty(subtasks)) {
                    //已发送(子任务中的 sendstate=1为被领取)