Merge remote-tracking branch 'origin/feature/rakor-bug-sap-1111'

This commit is contained in:
10001392 2024-11-12 09:23:29 +08:00
commit c0d736e365
1 changed files with 17 additions and 13 deletions

View File

@ -370,22 +370,26 @@ public class BomNewPbomExportToSAPImpl implements IBomNewPbomExportToSAP {
private List<BomNewPbomChildEntity> syncMaterial(List<BomNewPbomChildEntity> children) { private List<BomNewPbomChildEntity> syncMaterial(List<BomNewPbomChildEntity> children) {
if (CollUtil.isNotEmpty(children)) { if (CollUtil.isNotEmpty(children)) {
List<BaseMaterialVO> materialVOS = materialMainService.getMaterialBaseInfo(children.stream() List<String> materialNos = children.stream()
.filter(f -> !StrUtil.equalsIgnoreCase(BomConstant.PROJECT_TYPE_TEMPORARY, f.getProjectType()) .filter(f -> !StrUtil.equalsIgnoreCase(BomConstant.PROJECT_TYPE_TEMPORARY, f.getProjectType())
&& StrUtil.isNotEmpty(f.getMaterialNo())) && StrUtil.isNotEmpty(f.getMaterialNo()))
.map(BomNewPbomChildEntity::getMaterialNo).collect(Collectors.toList())); .map(BomNewPbomChildEntity::getMaterialNo).collect(Collectors.toList());
children.forEach(c -> { if (CollUtil.isNotEmpty(materialNos)) {
if (!StrUtil.equalsIgnoreCase(BomConstant.PROJECT_TYPE_TEMPORARY, c.getProjectType()) List<BaseMaterialVO> materialVOS = materialMainService.getMaterialBaseInfo(materialNos);
&& StrUtil.isNotEmpty(c.getMaterialNo())) { children.forEach(c -> {
BaseMaterialVO materialVO = materialVOS.stream() if (!StrUtil.equalsIgnoreCase(BomConstant.PROJECT_TYPE_TEMPORARY, c.getProjectType())
.filter(m -> StrUtil.equals(m.getMaterialNo(), c.getMaterialNo())) && StrUtil.isNotEmpty(c.getMaterialNo())) {
.findFirst() BaseMaterialVO materialVO = materialVOS.stream()
.orElse(null); .filter(f -> !StrUtil.equalsIgnoreCase(BomConstant.PROJECT_TYPE_TEMPORARY, f.getProjectType())
if (Objects.nonNull(materialVO)) { && StrUtil.equals(f.getMaterialNo(), c.getMaterialNo()))
c.setMaterialCategoryCode(materialVO.getMaterialCategoryCode()); .findFirst()
.orElse(null);
if (Objects.nonNull(materialVO)) {
c.setMaterialCategoryCode(materialVO.getMaterialCategoryCode());
}
} }
} });
}); }
} }
return children; return children;
} }