fix:报告模板/工作负载/需求下任务查询

This commit is contained in:
2026-01-07 13:37:49 +08:00
parent 26a5eb5c05
commit 27acd90780
5 changed files with 52 additions and 18 deletions

View File

@@ -1,12 +1,10 @@
package com.sdm.capability.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -75,6 +73,10 @@ public class SimulationReportTemplate implements Serializable {
@TableField("creator")
private Long creator;
@Schema(description= "创建者名称,列表展示使用")
@TableField(value = "creatorName", insertStrategy = FieldStrategy.NEVER,select = false,updateStrategy = FieldStrategy.NEVER)
private String creatorName;
@ApiModelProperty(value = "模版创建时间")
@TableField("createTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

View File

@@ -87,15 +87,17 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl<SimulationR
@Override
public SdmResponse updateReportTemplate(ReportTemplateDto templateDto) {
UpdateScriptAndReportReq req = new UpdateScriptAndReportReq();
req.setUpdateFile(templateDto.getFile());
req.setUpdateFileId(templateDto.getFileId());
req.setFileName(templateDto.getFile().getOriginalFilename());
SdmResponse<Long> response = dataFeignClient.updateReportTemplateFile(req);
if (!response.isSuccess()) {
return response;
if (templateDto.getFile() != null) {
UpdateScriptAndReportReq req = new UpdateScriptAndReportReq();
req.setUpdateFile(templateDto.getFile());
req.setUpdateFileId(templateDto.getFileId());
req.setFileName(templateDto.getFile().getOriginalFilename());
SdmResponse<Long> response = dataFeignClient.updateReportTemplateFile(req);
if (!response.isSuccess()) {
return response;
}
templateDto.setFileId(response.getData());
}
templateDto.setFileId(response.getData());
SimulationReportTemplate reportTemplate = new SimulationReportTemplate();
BeanUtils.copyProperties(templateDto, reportTemplate);
this.updateById(reportTemplate);

View File

@@ -121,13 +121,13 @@ public class SpdmTaskDetailVo extends BaseEntity {
* 仿真负责人
*/
@JsonProperty(value = "pMemberList")
private String pMemberList;
private List<CIDUserResp> pMemberList;
/**
* 仿真执行人
*/
@JsonProperty(value = "eMemberList")
private String eMemberList;
private List<CIDUserResp> eMemberList;
/**
* 拓展属性集合
@@ -151,5 +151,8 @@ public class SpdmTaskDetailVo extends BaseEntity {
private String englishName;
private String description;
private String projectName;
private String phaseName;
}

View File

@@ -17,11 +17,13 @@ import com.sdm.common.entity.req.data.QueryFileReq;
import com.sdm.common.entity.req.data.UpdatePermissionReq;
import com.sdm.common.entity.req.project.SimulationPerformance;
import com.sdm.common.entity.req.system.SendMsgReq;
import com.sdm.common.entity.req.system.UserListReq;
import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
import com.sdm.common.entity.req.task.TaskExportExcelParam;
import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat;
import com.sdm.common.entity.req.task.TaskTreeExportExcelParam;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.capability.FlowTemplateResp;
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
import com.sdm.common.entity.resp.system.CIDUserResp;
@@ -1154,6 +1156,18 @@ public class TaskServiceImpl implements ITaskService {
@Override
public SdmResponse<List<UserWorkloadResp>> listUserWorkloadsWithinTimeFrame(UserWorkloadReq req) {
List<UserWorkloadResp> userWorkloadRespList = new ArrayList<>();
if (CollectionUtils.isEmpty(req.getUserIds())) {
UserListReq userListReq = new UserListReq();
userListReq.setTenantId(ThreadLocalContext.getTenantId());
userListReq.setCurrent(1);
userListReq.setSize(9999);
SdmResponse<PageDataResp<List<CIDUserResp>>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq);
if (!pageDataRespSdmResponse.isSuccess()) {
return SdmResponse.success();
}
List<Long> userIds = pageDataRespSdmResponse.getData().getData().stream().map(CIDUserResp::getUserId).toList();
req.setUserIds(userIds.stream().map(String::valueOf).toList());
}
if (CollectionUtils.isNotEmpty(req.getUserIds())) {
SdmResponse<List<CIDUserResp>> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(req.getUserIds().stream().map(Long::valueOf).toList()).build());
List<CIDUserResp> userList = cidUserResp.getData();
@@ -1911,6 +1925,16 @@ public class TaskServiceImpl implements ITaskService {
jsonObject.put("data", new ArrayList<>());
return SdmResponse.success(jsonObject);
}
taskVoList.forEach(task -> {
SpdmNodeVo phaseNode = nodeMapper.getNodeById(task.getTag2());
if (phaseNode != null) {
task.setPhaseName(phaseNode.getNodeName());
}
SpdmNodeVo projectNode = nodeMapper.getNodeById(task.getTag1());
if (projectNode != null) {
task.setProjectName(projectNode.getNodeName());
}
});
List<String> taskIdList = taskVoList.stream().map(SpdmNewTaskVo::getUuid).toList();
List<SpdmTaskMemberVo> memberList = mapper.getMemberList(taskIdList, null);
List<SpdmTaskDetailVo> spdmTaskDetailVoList = new ArrayList<>();
@@ -1949,10 +1973,10 @@ public class TaskServiceImpl implements ITaskService {
}
}
if (CollectionUtils.isNotEmpty(spdmPUserVoList)) {
spdmTaskDetailVo.setPMemberList(spdmPUserVoList.stream().map(CIDUserResp::getNickname).collect(Collectors.joining(",")));
spdmTaskDetailVo.setPMemberList(spdmPUserVoList);
}
if (CollectionUtils.isNotEmpty(spdmEUserVoList)) {
spdmTaskDetailVo.setEMemberList(spdmEUserVoList.stream().map(CIDUserResp::getNickname).collect(Collectors.joining(",")));
spdmTaskDetailVo.setEMemberList(spdmEUserVoList);
}
spdmTaskDetailVoList.add(spdmTaskDetailVo);
}
@@ -1964,7 +1988,10 @@ public class TaskServiceImpl implements ITaskService {
spdmTaskDetailVoList.add(spdmTaskDetailVo);
}
}
jsonObject.put("data", spdmTaskDetailVoList);
jsonObject.put("data", dataObj);
jsonObject.put("total", dataObj.get("total"));
jsonObject.put("pageSize", dataObj.get("pageSize"));
jsonObject.put("currentPage", dataObj.get("currentPage"));
return SdmResponse.success(jsonObject);
}

View File

@@ -188,7 +188,7 @@
<select id="getUserExecTaskWithinTimeFrame" resultType="com.sdm.project.model.entity.SimulationTask">
select
*
distinct st.*
from
simulation_task st
inner join simulation_task_member stm on st.uuid = stm.task_id