PDA上架查询修改

This commit is contained in:
秦鸿展
2026-03-16 11:36:09 +08:00
parent 90c14938bf
commit f01bf43c8b
2 changed files with 13 additions and 4 deletions
@@ -87,9 +87,18 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
shelfMaterialDetailPO.setMaterialMoreDetailList(materialMoreDetailList);
});
// 获取查询的层级
// 获取查询的层级level 1 为顶级;level 2 且 parent_unique_id 为 null/0 的为孤儿项;
// level 2 且 parent_unique_id 在上架明细中无对应父项的也为孤儿(如 PDA 只上架子项、父项未生成),均作为顶级展示
java.util.Set<Long> shelfParentIds = shelfMaterialDetailPOList.stream()
.filter(po -> po.getUniqueId() != null)
.map(ShelfMaterialDetailPO::getUniqueId)
.collect(Collectors.toSet());
List<ShelfMaterialDetailPO> receiptMaterialDetailPOParentList = shelfMaterialDetailPOList
.stream().filter(e -> 1 == e.getLevel()).collect(Collectors.toList());
.stream().filter(e -> e.getLevel() != null && (
1 == e.getLevel()
|| (2 == e.getLevel() && (e.getParentUniqueId() == null || Long.valueOf(0).equals(e.getParentUniqueId())))
|| (2 == e.getLevel() && e.getParentUniqueId() != null && !shelfParentIds.contains(e.getParentUniqueId()))
)).collect(Collectors.toList());
// 递归查询子集
for(ShelfMaterialDetailPO materialDetailPO : receiptMaterialDetailPOParentList){
List<ShelfMaterialDetailPO> children = getChildren(materialDetailPO.getUniqueId(), shelfMaterialDetailPOList, 2);