转PBOM-物料名称问题

This commit is contained in:
luolm 2024-10-16 15:27:32 +08:00
parent e45c795e51
commit 9f45527909
2 changed files with 27 additions and 0 deletions

View File

@ -998,6 +998,9 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
parent.setUserRootIs(1);
bomTree.add(parent);
//物料名称,描述使用主数据的
materialMainService.initMaterialNameAndDesc(bomTree);
EBomToPbomBase eBomToPBom =parent.getMaterialNo().startsWith("31")? new EBomToPBomFor31(parent, bomTree, paramDto.getFacCodes(), 0L,EnumUtils.getValueEnum(ConvertToPBomModelEnum.class,paramDto.getConvertMode())):new EBomToPBom(parent, bomTree, paramDto.getFacCodes(), 0L,EnumUtils.getValueEnum(ConvertToPBomModelEnum.class,paramDto.getConvertMode()));
eBomToPBom.convert();
//电控系统 发货包优化 删除 直发制作下的物料 by 10002327 240914
@ -1189,6 +1192,9 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
parent.setParentRowId(0L);
parent.setUserRootIs(1);
bomTree.add(parent);
//物料名称,描述使用主数据的
materialMainService.initMaterialNameAndDesc(bomTree);
FormalEBomToPbomBase eBomToPBom =parent.getMaterialNo().startsWith("31")? new EBomToPBomForFormal31New(parent, bomTree, paramDto.getFacCodes(), 0L,EnumUtils.getValueEnum(ConvertToPBomModelEnum.class,paramDto.getConvertMode())):new EBomToPBomForFormalNew(parent, bomTree, paramDto.getFacCodes(), 0L,EnumUtils.getValueEnum(ConvertToPBomModelEnum.class,paramDto.getConvertMode()));
eBomToPBom.convert();
// if(CollUtil.isNotEmpty(eBomToPBom.getDelParentRowIds())){

View File

@ -332,6 +332,27 @@ public class MaterialMainService extends ServiceImpl<MaterialMainMapper, Materia
}
/**
* 初始化物料名称and 描述
* @param list
* @param <T>
*/
public <T extends BaseMaterialVO> void initMaterialNameAndDesc(List<T> list) {
List<String> materialNos = list.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(u ->u.getMaterialNo()).collect(Collectors.toList());
if (CollUtil.isNotEmpty(materialNos)) {
List<BaseMaterialVO> materialBaseInfos = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos);
Map<String, BaseMaterialVO> materialMp = ListCommonUtil.listToMap(materialBaseInfos, BaseMaterialVO::getMaterialNo);
for (T t : list) {
if (StrUtil.isNotBlank(t.getMaterialNo()) && materialMp.containsKey(t.getMaterialNo())) {
t.setMaterialName(materialMp.get(t.getMaterialNo()).getMaterialName());
t.setMaterialDesc(materialMp.get(t.getMaterialNo()).getMaterialDesc());
}
}
}
}