diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java index 7a3ac5d9..fd6604fa 100644 --- a/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java +++ b/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java @@ -158,6 +158,7 @@ public class SpdmTaskListReq { private List disciplineList; private String taskId; + private List taskIds; /** * 标签请求参数 设置tag1-tag10 ,taskId, runId记录文件所属节点信息 diff --git a/project/src/main/java/com/sdm/project/model/req/UserWorkloadReq.java b/project/src/main/java/com/sdm/project/model/req/UserWorkloadReq.java index a8878089..dda3a64b 100644 --- a/project/src/main/java/com/sdm/project/model/req/UserWorkloadReq.java +++ b/project/src/main/java/com/sdm/project/model/req/UserWorkloadReq.java @@ -1,6 +1,7 @@ package com.sdm.project.model.req; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.sdm.project.model.bo.TaskNodeTag; import lombok.Data; import java.util.List; @@ -35,4 +36,6 @@ public class UserWorkloadReq { */ private String userGroupId; + private List idMap; + } diff --git a/project/src/main/java/com/sdm/project/model/resp/UserWorkloadResp.java b/project/src/main/java/com/sdm/project/model/resp/UserWorkloadResp.java index 66720a22..14b26f6a 100644 --- a/project/src/main/java/com/sdm/project/model/resp/UserWorkloadResp.java +++ b/project/src/main/java/com/sdm/project/model/resp/UserWorkloadResp.java @@ -1,7 +1,6 @@ package com.sdm.project.model.resp; -import com.sdm.common.entity.resp.project.SpdmTaskVo; -import com.sdm.project.model.entity.SimulationTask; +import com.sdm.project.model.vo.SpdmNewTaskVo; import lombok.Data; import java.util.List; @@ -32,6 +31,6 @@ public class UserWorkloadResp { /** * 任务列表 */ - private List taskList; + private List taskList; } diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java index 0da758bd..cc12f2b0 100644 --- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java @@ -2839,6 +2839,24 @@ public class TaskServiceImpl implements ITaskService { )); req.setUserIdList(userIds); List taskList = mapper.getUserExecTaskWithinTimeFrame(req, tenantId); + + SpdmTaskListReq taskListReq = new SpdmTaskListReq(); + taskListReq.setTaskIds(taskList.stream().map(SpdmTaskVo::getUuid).toList()); + taskListReq.setType(TaskQryTypeEnum.ALL.getCode()); + taskListReq.setIdMap(req.getIdMap()); + taskListReq.setCurrent(1); + taskListReq.setSize(9999); + SdmResponse response = list(taskListReq); + // 将taskVoList按uuid建立映射 + Map taskVoMap = new HashMap<>(); + if (response.isSuccess()) { + JSONObject dataObj = (JSONObject) response.getData(); + List taskVoList = (List) dataObj.get("data"); + if (CollectionUtils.isNotEmpty(taskVoList)) { + taskVoMap = taskVoList.stream().collect(Collectors.toMap(SpdmNewTaskVo::getUuid, v -> v, (v1, v2) -> v1)); + } + } + if (CollectionUtils.isNotEmpty(taskList)) { Map> userTaskMap = taskList.stream().collect(Collectors.groupingBy(SpdmTaskVo::getEUserId)); for (String eUserId : userTaskMap.keySet()) { @@ -2850,7 +2868,12 @@ public class TaskServiceImpl implements ITaskService { workloadResp.setTaskNum(userTaskList.size()); workloadResp.setWorkNum(userTaskList.stream().filter(i -> Arrays.asList(TaskExeStatusEnum.NO_STARTED.getCode(), TaskExeStatusEnum.IN_PROGRESS.getCode()).contains(i.getExeStatus())).toList().size()); workloadResp.setWorkload(userTaskList.stream().filter(i -> i.getDays() != null).mapToDouble(SpdmTaskVo::getDays).sum()); - workloadResp.setTaskList(userTaskList); + // 根据uuid从taskVoMap获取对应的SpdmNewTaskVo + Map finalTaskVoMap = taskVoMap; + workloadResp.setTaskList(userTaskList.stream() + .map(t -> finalTaskVoMap.get(t.getUuid())) + .filter(java.util.Objects::nonNull) + .toList()); userWorkloadRespList.add(workloadResp); } } diff --git a/project/src/main/resources/mapper/SimulationTaskMapper.xml b/project/src/main/resources/mapper/SimulationTaskMapper.xml index 51b22e17..62f15b20 100644 --- a/project/src/main/resources/mapper/SimulationTaskMapper.xml +++ b/project/src/main/resources/mapper/SimulationTaskMapper.xml @@ -838,6 +838,13 @@ and st.uuid = #{req.taskId} + + and st.uuid in ( + + #{taskId} + + ) + and task_name like #{searchKey1}