1、优化项目列表导出

This commit is contained in:
2026-01-15 09:43:00 +08:00
parent 436e3b31b3
commit f32d5805ac

View File

@@ -71,6 +71,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static java.util.Collections.emptyList;
@@ -372,6 +373,17 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
}
}
}
List<Long> userIdList = nodeList.stream().filter(node -> ObjectUtils.isNotEmpty(node.getCreator())).map(SpdmNodeVo::getCreator)
.toList();
Map<Long, CIDUserResp> userMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(userIdList)) {
SdmResponse<List<CIDUserResp>> listSdmResponse = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(userIdList.stream().distinct().toList()).build());
if (listSdmResponse.isSuccess() && CollectionUtils.isNotEmpty(listSdmResponse.getData())) {
userMap = listSdmResponse.getData().stream().collect(Collectors.toMap(CIDUserResp::getUserId, Function.identity()));
}
}
for (SpdmNodeVo spdmNodeVo : nodeList) {
// TODO 转换项目进度状态
progressStatus = spdmNodeVo.getProgress();
@@ -414,10 +426,11 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
}
Long creator = spdmNodeVo.getCreator();
if (ObjectUtils.isNotEmpty(creator)) {
SdmResponse<CIDUserResp> cidUserRespSdmResponse = sysUserFeignClient.queryUserDetail(UserQueryReq.builder().userId(creator).build());
if (cidUserRespSdmResponse.isSuccess()) {
spdmNodeVo.setCreatorObj(cidUserRespSdmResponse.getData());
}
// SdmResponse<CIDUserResp> cidUserRespSdmResponse = sysUserFeignClient.queryUserDetail(UserQueryReq.builder().userId(creator).build());
// if (cidUserRespSdmResponse.isSuccess()) {
// spdmNodeVo.setCreatorObj(cidUserRespSdmResponse.getData());
// }
spdmNodeVo.setCreatorObj(userMap.get(creator));
}
}
JSONObject jsonObject = new JSONObject();
@@ -1780,6 +1793,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
}
req.setCurrent(1);
req.setSize(10000);
req.setNodeType(NodeTypeEnum.PROJECT.getValue());
List<ExportExcelFormat> exportExcelFormats = projectExportExcelFormat.getExcelHeaders();
SdmResponse taskRespond = list(req);
if(taskRespond.isSuccess()) {
@@ -1798,7 +1812,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
userMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUserId,CIDUserResp::getNickname));
}
}
List<SpdmExportNodeVo> exportNodeVoList = new ArrayList<>();
List<SpdmNewExportNodeVo> exportNodeVoList = new ArrayList<>();
List<CIDUserResp> memberList;
String memberName = "";
for (SpdmNodeVo spdmNodeVo : taskVoList) {
@@ -1806,11 +1820,11 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
if (CollectionUtils.isNotEmpty(memberList)) {
memberName = memberList.stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","));
}
SpdmExportNodeVo spdmExportNodeVo = new SpdmExportNodeVo();
BeanUtils.copyProperties(spdmNodeVo,spdmExportNodeVo);
spdmExportNodeVo.setMemberList(memberName);
spdmExportNodeVo.setCreatorName(userMap.get(spdmNodeVo.getCreator()));
exportNodeVoList.add(spdmExportNodeVo);
SpdmNewExportNodeVo spdmNewExportNodeVo = new SpdmNewExportNodeVo();
BeanUtils.copyProperties(spdmNodeVo,spdmNewExportNodeVo);
spdmNewExportNodeVo.setMemberList(memberName);
spdmNewExportNodeVo.setCreator(userMap.get(spdmNodeVo.getCreator()));
exportNodeVoList.add(spdmNewExportNodeVo);
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(exportNodeVoList),exportExcelFormats,httpServletResponse);
} else {