fix(pbom): 修复因child表物料分类编码与主物料的物料分类编码不一致导致导入到SAP的排序号错误的问题
This commit is contained in:
parent
81846b2cca
commit
32da594565
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue