diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java index c422f27c6..d04eaebd0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java @@ -511,7 +511,14 @@ public class StockOutOrderDomainService { && stockOutOrder.getStatus() != null && (stockOutOrder.getStatus() == 7 || stockOutOrder.getStatus() == 8)) { StockOutOrderDO stockOutOrderDO = new StockOutOrderDO(); stockOutOrderDO.setOutOrderNumber(stockOutOrder.getOutOrderNumber()); - return getCheckInfo(stockOutOrderDO); + StockOutOrderPO stockOutOrderPO = getCheckInfo(stockOutOrderDO); + // PDA端需扁平化树形结构,与PC端展开后的展示条数一致(父项+子项全部展开为独立行) + List flattenedList = flattenMaterialDetailTree(stockOutOrderPO.getMaterialDetailList()); + stockOutOrderPO.setMaterialDetailList(flattenedList); + if (stockOutOrderPO.getOutMaterialCheckPO() != null) { + stockOutOrderPO.getOutMaterialCheckPO().setCount(flattenedList.size()); + } + return stockOutOrderPO; } // 非复核场景:保持原有逻辑 StockOutOrderPO stockOutOrderPO = stockOutOrderService.getInfo(outOrderId); @@ -862,6 +869,26 @@ public class StockOutOrderDomainService { } + /** + * 将物料明细树形结构扁平化,PDA端展示与PC端条数一致(父项+子项全部展开为独立行) + */ + private List flattenMaterialDetailTree(List treeList) { + if (CollectionUtils.isEmpty(treeList)) { + return new ArrayList<>(); + } + List result = new ArrayList<>(); + for (OutMaterialDetailPO item : treeList) { + result.add(item); + List children = item.getChildren(); + if (!CollectionUtils.isEmpty(children)) { + List flattenedChildren = flattenMaterialDetailTree(children); + result.addAll(flattenedChildren); + item.setChildren(null); + } + } + return result; + } + /** * 为物料库存设置更多属性(从库存表中获取值) * @param materialDetailList 物料库存列表