forked from toolchaintechnologycenter/spdm-backend
fix:工作负载
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -12,6 +12,10 @@ public class UserWorkloadReq {
|
||||
* 用户id列表
|
||||
*/
|
||||
List<String> userIds;
|
||||
/**
|
||||
* 任务uuid列表
|
||||
*/
|
||||
List<String> taskIds;
|
||||
|
||||
/**
|
||||
* 起始时间
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -20,6 +20,10 @@ public class UserWorkloadResp {
|
||||
* 任务数量
|
||||
*/
|
||||
private Integer taskNum;
|
||||
/**
|
||||
* 任务量(未开始和进行中的)
|
||||
*/
|
||||
private Integer workNum;
|
||||
/**
|
||||
* 工作饱和度 任务数量*工时
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user