PDA上架查询修改
This commit is contained in:
+11
-2
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user