feat(REQ-3300): 过滤空的关联单据

This commit is contained in:
chenwenjian 2025-02-26 16:52:18 +08:00
parent 808670c5ef
commit 5c69a5b55c

View File

@ -655,6 +655,13 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
private static List<VisaBillDto> buildVisaBillDto(VisaChangeTempCreateReq req, ChangeRecord changeRecord) {
return req.getRelationOrderMap().entrySet().stream()
.peek(os -> {
if (VisaBillTypeEnum.TASK.name().equals(os.getKey())) {
os.setValue(os.getValue().stream().filter(o -> StringUtils.hasText(o.getNo())).collect(Collectors.toList()));
} else {
os.setValue(os.getValue().stream().filter(o -> NumberUtil.isPositiveNumber(o.getId())).collect(Collectors.toList()));
}
})
.flatMap(os -> os.getValue().stream()
.map(o -> VisaBillDto.builder()
.visaId(changeRecord.getId())
@ -1919,53 +1926,59 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
queryOrderToBasicReq.setTaskNos(v.stream().map(ChangeRecordBill::getBillNo).collect(Collectors.toList()));
queryOrderToBasicReq.setPage(1);
queryOrderToBasicReq.setPageSize(v.size());
Map<String, TaskOrderToBasicRes> taskOrderMap = taskOrderApiGateway.pageOrderByForBasic(queryOrderToBasicReq).getData()
.stream()
.collect(Collectors.toMap(TaskOrderToBasicRes::getTaskNo, Function.identity()));
// 构建关联任务单
relationOrderMap.put(k, v.stream()
.map(item -> VisaChangeTempCreateReq.OrderSimpleModel.builder()
.id(item.getBillId())
.no(item.getBillNo())
.name(Optional.ofNullable(taskOrderMap.get(item.getBillNo()))
.map(TaskOrderToBasicRes::getTaskName)
.orElse(""))
.build())
.collect(Collectors.toList()));
List<TaskOrderToBasicRes> orderData = taskOrderApiGateway.pageOrderByForBasic(queryOrderToBasicReq).getData();
if (CollUtil.isNotEmpty(orderData)) {
Map<String, TaskOrderToBasicRes> taskOrderMap = orderData.stream()
.collect(Collectors.toMap(TaskOrderToBasicRes::getTaskNo, Function.identity()));
// 构建关联任务单
relationOrderMap.put(k, v.stream()
.map(item -> VisaChangeTempCreateReq.OrderSimpleModel.builder()
.id(item.getBillId())
.no(item.getBillNo())
.name(Optional.ofNullable(taskOrderMap.get(item.getBillNo()))
.map(TaskOrderToBasicRes::getTaskName)
.orElse(""))
.build())
.collect(Collectors.toList()));
}
} else if (VisaBillTypeEnum.RECTIFY.name().equals(k)) {
// 获取整改单数据
ListRectifyOrderReq rectifyOrderReq = ListRectifyOrderReq.builder()
.ids(v.stream().map(ChangeRecordBill::getBillId).collect(Collectors.toSet()))
.build();
Map<Long, RectifyOrderResp> rectifyOrderMap = rectifyApiGateway.listRectifyOrders(rectifyOrderReq)
.stream()
.collect(Collectors.toMap(RectifyOrderResp::getId, Function.identity(), (v1, v2) -> v1));
// 构建关联整改单
relationOrderMap.put(k, v.stream()
.map(item -> VisaChangeTempCreateReq.OrderSimpleModel.builder()
.id(item.getBillId())
.no(item.getBillNo())
.name(Optional.ofNullable(rectifyOrderMap.get(item.getBillId()))
.map(RectifyOrderResp::getBizName)
.orElse(""))
.build())
.collect(Collectors.toList()));
List<RectifyOrderResp> rectifyData = rectifyApiGateway.listRectifyOrders(rectifyOrderReq);
if (CollUtil.isNotEmpty(rectifyData)) {
Map<Long, RectifyOrderResp> rectifyOrderMap = rectifyData.stream()
.collect(Collectors.toMap(RectifyOrderResp::getId, Function.identity(), (v1, v2) -> v1));
// 构建关联整改单
relationOrderMap.put(k, v.stream()
.map(item -> VisaChangeTempCreateReq.OrderSimpleModel.builder()
.id(item.getBillId())
.no(item.getBillNo())
.name(Optional.ofNullable(rectifyOrderMap.get(item.getBillId()))
.map(RectifyOrderResp::getBizName)
.orElse(""))
.build())
.collect(Collectors.toList()));
}
} else if (VisaBillTypeEnum.DESIGN_VISA.name().equals(k)) {
// 获取设计单数据
Map<Long, ChangeRecord> changeRecordMap = listByIds(v.stream().map(ChangeRecordBill::getBillId).collect(Collectors.toSet()))
.stream()
List<ChangeRecord> visaDesignData = listByIds(v.stream().map(ChangeRecordBill::getBillId).collect(Collectors.toSet()));
Map<Long, ChangeRecord> changeRecordMap = visaDesignData.stream()
.collect(Collectors.toMap(ChangeRecord::getId, Function.identity(), (v1, v2) -> v1));
// 构建关联设计单
relationOrderMap.put(k, v.stream()
.map(item -> VisaChangeTempCreateReq.OrderSimpleModel.builder()
.id(item.getBillId())
.no(item.getBillNo())
.name(Optional.ofNullable(changeRecordMap.get(item.getBillId()))
.map(ChangeRecord::getTopic)
.orElse(""))
.build())
.collect(Collectors.toList())
);
if (CollUtil.isNotEmpty(visaDesignData)) {
// 构建关联设计单
relationOrderMap.put(k, v.stream()
.map(item -> VisaChangeTempCreateReq.OrderSimpleModel.builder()
.id(item.getBillId())
.no(item.getBillNo())
.name(Optional.ofNullable(changeRecordMap.get(item.getBillId()))
.map(ChangeRecord::getTopic)
.orElse(""))
.build())
.collect(Collectors.toList())
);
}
}
});
req.setRelationOrderMap(relationOrderMap);