fix:工作负载

This commit is contained in:
2025-12-10 16:59:35 +08:00
parent 1d0fac1cc0
commit b36343dedc
6 changed files with 53 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ import com.sdm.common.log.annotation.SysLog;
import com.sdm.project.model.bo.ModifyTaskNode;
import com.sdm.project.model.req.*;
import com.sdm.project.model.resp.TaskCountResp;
import com.sdm.project.model.resp.TaskWorkDaysResp;
import com.sdm.project.model.resp.UserWorkloadResp;
import com.sdm.project.service.ISimulationTaskService;
import com.sdm.project.service.ITaskService;
@@ -102,6 +103,12 @@ public class SimulationTaskController {
return taskService.listUserWorkloadsWithinTimeFrame(req);
}
@PostMapping("/listTaskWorkDays")
@Operation(summary = "工作负载-任务工时统计图表", description = "工作负载-任务工时统计图表")
public SdmResponse<List<TaskWorkDaysResp>> listTaskWorkDays(@RequestBody UserWorkloadReq req) {
return taskService.listTaskWorkDays(req);
}
@PostMapping("/exportTask")
@Operation(summary = "导出任务列表", description = "导出任务列表")
public SdmResponse exportTask(@RequestBody TaskExportExcelFormat taskExportExcelFormat , HttpServletResponse httpservletResponse) {

View File

@@ -12,6 +12,10 @@ public class UserWorkloadReq {
* 用户id列表
*/
List<String> userIds;
/**
* 任务uuid列表
*/
List<String> taskIds;
/**
* 起始时间

View File

@@ -0,0 +1,21 @@
package com.sdm.project.model.resp;
import lombok.Data;
@Data
public class TaskWorkDaysResp {
/**
* 任务uuid
*/
private String taskId;
/**
* 任务名称
*/
private String taskName;
/**
* 工时
*/
private Integer days;
}

View File

@@ -20,6 +20,10 @@ public class UserWorkloadResp {
* 任务数量
*/
private Integer taskNum;
/**
* 任务量(未开始和进行中的)
*/
private Integer workNum;
/**
* 工作饱和度 任务数量*工时
*/

View File

@@ -8,6 +8,7 @@ import com.sdm.project.model.req.*;
import com.sdm.project.model.req.YA.SyncCidTaskReq;
import com.sdm.project.model.resp.GetAllRunResultByTaskIdResp;
import com.sdm.project.model.resp.TaskCountResp;
import com.sdm.project.model.resp.TaskWorkDaysResp;
import com.sdm.project.model.resp.UserWorkloadResp;
import com.sdm.project.model.resp.YA.BosimSaveProjectTaskRsp;
import jakarta.servlet.http.HttpServletResponse;
@@ -41,6 +42,8 @@ public interface ITaskService {
SdmResponse<List<UserWorkloadResp>> listUserWorkloadsWithinTimeFrame(UserWorkloadReq req);
SdmResponse<List<TaskWorkDaysResp>> listTaskWorkDays(UserWorkloadReq req);
/**
* 导出任务列表
* @param taskExportExcelFormat

View File

@@ -1004,6 +1004,7 @@ public class TaskServiceImpl implements ITaskService {
req.setUserId(userResp.getUserId());
List<SimulationTask> taskList = mapper.getUserExecTaskWithinTimeFrame(req);
workloadResp.setTaskNum(taskList.size());
workloadResp.setWorkNum(taskList.stream().filter(i -> Arrays.asList(TaskExeStatusEnum.NO_STARTED.getCode(), TaskExeStatusEnum.IN_PROGRESS.getCode()).contains(i.getExeStatus())).toList().size());
workloadResp.setWorkload(taskList.stream().filter(i -> i.getDays() != null).mapToDouble(SimulationTask::getDays).sum());
workloadResp.setTaskList(taskList);
userWorkloadRespList.add(workloadResp);
@@ -1012,6 +1013,19 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse.success(userWorkloadRespList);
}
@Override
public SdmResponse<List<TaskWorkDaysResp>> listTaskWorkDays(UserWorkloadReq req) {
List<SimulationTask> taskList = simulationTaskService.lambdaQuery().in(SimulationTask::getUuid, req.getTaskIds()).list();
List<TaskWorkDaysResp> taskWorkDaysResps = taskList.stream().map(i -> {
TaskWorkDaysResp taskWorkDaysResp = new TaskWorkDaysResp();
taskWorkDaysResp.setTaskName(i.getTaskName());
taskWorkDaysResp.setTaskId(i.getUuid());
taskWorkDaysResp.setDays(i.getDays());
return taskWorkDaysResp;
}).toList();
return SdmResponse.success(taskWorkDaysResps);
}
@Override
public SdmResponse exportTask(TaskExportExcelFormat taskExportExcelFormat, HttpServletResponse httpServletResponse) {
SpdmTaskListReq req = new SpdmTaskListReq();