fix:工作负载点击任务详情展示列表

This commit is contained in:
2026-03-27 10:58:31 +08:00
parent ef1a2014d7
commit 366231c8fd
5 changed files with 37 additions and 4 deletions

View File

@@ -158,6 +158,7 @@ public class SpdmTaskListReq {
private List<String> disciplineList;
private String taskId;
private List<String> taskIds;
/**
* 标签请求参数 设置tag1-tag10 ,taskId, runId记录文件所属节点信息

View File

@@ -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<TaskNodeTag> idMap;
}

View File

@@ -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<SpdmTaskVo> taskList;
private List<SpdmNewTaskVo> taskList;
}

View File

@@ -2839,6 +2839,24 @@ public class TaskServiceImpl implements ITaskService {
));
req.setUserIdList(userIds);
List<SpdmTaskVo> 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<String, SpdmNewTaskVo> taskVoMap = new HashMap<>();
if (response.isSuccess()) {
JSONObject dataObj = (JSONObject) response.getData();
List<SpdmNewTaskVo> taskVoList = (List<SpdmNewTaskVo>) 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<String, List<SpdmTaskVo>> 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<String, SpdmNewTaskVo> finalTaskVoMap = taskVoMap;
workloadResp.setTaskList(userTaskList.stream()
.map(t -> finalTaskVoMap.get(t.getUuid()))
.filter(java.util.Objects::nonNull)
.toList());
userWorkloadRespList.add(workloadResp);
}
}

View File

@@ -838,6 +838,13 @@
<if test="req.taskId != null and req.taskId != ''">
and st.uuid = #{req.taskId}
</if>
<if test="req.taskIds != null and req.taskIds.size > 0">
and st.uuid in (
<foreach collection='req.taskIds' item='taskId' index='index' separator=','>
#{taskId}
</foreach>
)
</if>
<if test="req.taskName != null and req.taskName != ''">
<bind name="searchKey1" value="'%' + req.taskName + '%'"/>
and task_name like #{searchKey1}