diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index 6354c87f5..054cbb62f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -186,26 +186,36 @@ public class StockShelfOrderApplicationService { } /** - * 获取上架单详细信息 + * 获取上架单详细信息(PC端:不添加 parent_copy,收货无子项时上架也不显示子项) */ - public StockShelfOrderPO getInfo(Long shelfOrderId) - { + public StockShelfOrderPO getInfo(Long shelfOrderId) { + return getInfo(shelfOrderId, false); + } + + /** + * 获取上架单详细信息 + * @param shelfOrderId 上架单ID + * @param addParentCopyWhenNoChildren 主项无子项时是否添加 parent_copy:true-PDA 详情页从 children 读取数据需要;false-PC 端收货无子项时上架不显示虚拟子项 + */ + public StockShelfOrderPO getInfo(Long shelfOrderId, boolean addParentCopyWhenNoChildren) { StockShelfOrderPO stockShelfOrderPO = stockShelfOrderDomainService.getInfo(shelfOrderId); ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO(); shelfMaterialDetailDO.setShelfOrderNumber(stockShelfOrderPO.getShelfOrderNumber()); List shelfMaterialDetailPOList = shelfMaterialDetailDomainService.queryListChildren(shelfMaterialDetailDO); - // 主项无子项时:添加 parent_copy 到 children,供详情页展示(详情页从 children 读取数据) - for (ShelfMaterialDetailPO parent : shelfMaterialDetailPOList) { - if (CollectionUtils.isEmpty(parent.getChildren())) { - ShelfMaterialDetailPO parentCopy = new ShelfMaterialDetailPO(); - BeanUtils.copyProperties(parent, parentCopy, "children"); - parentCopy.setLevel(2); - parentCopy.setParentUniqueId(parent.getUniqueId()); - parentCopy.setQuantity(null); - parentCopy.setChildren(new ArrayList<>()); - List children = new ArrayList<>(); - children.add(parentCopy); - parent.setChildren(children); + // PDA:主项无子项时添加 parent_copy 到 children,供详情页展示(详情页从 children 读取数据);PC:不添加,避免收货无子项时上架显示虚拟子项 + if (addParentCopyWhenNoChildren) { + for (ShelfMaterialDetailPO parent : shelfMaterialDetailPOList) { + if (CollectionUtils.isEmpty(parent.getChildren())) { + ShelfMaterialDetailPO parentCopy = new ShelfMaterialDetailPO(); + BeanUtils.copyProperties(parent, parentCopy, "children"); + parentCopy.setLevel(2); + parentCopy.setParentUniqueId(parent.getUniqueId()); + parentCopy.setQuantity(null); + parentCopy.setChildren(new ArrayList<>()); + List children = new ArrayList<>(); + children.add(parentCopy); + parent.setChildren(children); + } } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockShelfOrder/StockShelfOrderAppApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockShelfOrder/StockShelfOrderAppApi.java index 9099cd451..4f82c804c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockShelfOrder/StockShelfOrderAppApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockShelfOrder/StockShelfOrderAppApi.java @@ -47,13 +47,13 @@ public class StockShelfOrderAppApi extends BaseController { } /** - * 获取上架单详细信息 + * 获取上架单详细信息(PDA:主项无子项时添加 parent_copy,供详情页从 children 读取数据) */ @ApiOperation("获取上架单") @GetMapping(value = "/getInfo") public AjaxResult getInfo(Long shelfOrderId) { - return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId)); + return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId, true)); }