optimize(ebom): 优化查询物料信息接口

This commit is contained in:
曹鹏飞 2024-05-28 09:38:02 +08:00
parent d08f0accfd
commit 7717cecc5a
1 changed files with 21 additions and 16 deletions

View File

@ -2386,23 +2386,28 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
if (CollUtil.isNotEmpty(keys)) {
datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys));
}
List<QueryMaterialsVO> vos = Convert.toList(QueryMaterialsVO.class, datas);
query.forEach(it -> {
if (Objects.nonNull(it.getUnitWeight()) || StrUtil.isNotBlank(it.getProjectType())) {
QueryMaterialsVO vo = vos.stream().filter(m -> StrUtil.equals(m.getMaterialNo(), it.getMaterialNo())
|| StrUtil.equals(m.getDrawingNo(), it.getDrawingNo()))
.findFirst().orElse(null);
if (Objects.nonNull(vo)) {
if (Objects.nonNull(it.getUnitWeight())) {
vo.setUnitWeight(it.getUnitWeight());
}
if (StrUtil.isNotBlank(it.getProjectType())) {
vo.setProjectType(it.getProjectType());
}
}
return datas.stream().map(d -> {
QueryMaterialsVO vo = new QueryMaterialsVO();
vo.setMaterialNo(d.getMaterialNo());
vo.setMaterialName(d.getMaterialName());
vo.setMaterialDesc(d.getMaterialDesc());
vo.setUnitWeight(d.getMaterialWeight());
vo.setMaterialCategoryCode(d.getMaterialCategoryCode());
vo.setMaterialState(d.getMaterialState());
vo.setDrawingNo(d.getDrawingNo());
vo.setMaterialTexture(d.getMaterialTexture());
vo.setMaterialUnit(d.getMaterialUnit());
vo.setCategoryName(d.getCategoryName());
QueryMaterialsQuery q = query.stream()
.filter(f -> StrUtil.equals(f.getMaterialNo(), vo.getMaterialNo()) || StrUtil.equals(f.getDrawingNo(), vo.getDrawingNo()))
.findFirst()
.orElse(null);
if (Objects.nonNull(q)) {
vo.setUnitWeight(q.getUnitWeight());
vo.setProjectType(q.getProjectType());
}
});
return vos;
return vo;
}).collect(Collectors.toList());
}
public Integer getSapErrorNum() {