收货修改

This commit is contained in:
秦鸿展
2026-03-15 16:46:35 +08:00
parent 187a716175
commit 02bd2275a8
2 changed files with 27 additions and 17 deletions
@@ -186,15 +186,24 @@ 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_copytrue-PDA 详情页从 children 读取数据需要;false-PC 端收货无子项时上架不显示虚拟子项
*/
public StockShelfOrderPO getInfo(Long shelfOrderId, boolean addParentCopyWhenNoChildren) {
StockShelfOrderPO stockShelfOrderPO = stockShelfOrderDomainService.getInfo(shelfOrderId); StockShelfOrderPO stockShelfOrderPO = stockShelfOrderDomainService.getInfo(shelfOrderId);
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO(); ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
shelfMaterialDetailDO.setShelfOrderNumber(stockShelfOrderPO.getShelfOrderNumber()); shelfMaterialDetailDO.setShelfOrderNumber(stockShelfOrderPO.getShelfOrderNumber());
List<ShelfMaterialDetailPO> shelfMaterialDetailPOList = shelfMaterialDetailDomainService.queryListChildren(shelfMaterialDetailDO); List<ShelfMaterialDetailPO> shelfMaterialDetailPOList = shelfMaterialDetailDomainService.queryListChildren(shelfMaterialDetailDO);
// 主项无子项时添加 parent_copy 到 children,供详情页展示(详情页从 children 读取数据) // PDA主项无子项时添加 parent_copy 到 children,供详情页展示(详情页从 children 读取数据);PC:不添加,避免收货无子项时上架显示虚拟子项
if (addParentCopyWhenNoChildren) {
for (ShelfMaterialDetailPO parent : shelfMaterialDetailPOList) { for (ShelfMaterialDetailPO parent : shelfMaterialDetailPOList) {
if (CollectionUtils.isEmpty(parent.getChildren())) { if (CollectionUtils.isEmpty(parent.getChildren())) {
ShelfMaterialDetailPO parentCopy = new ShelfMaterialDetailPO(); ShelfMaterialDetailPO parentCopy = new ShelfMaterialDetailPO();
@@ -208,6 +217,7 @@ public class StockShelfOrderApplicationService {
parent.setChildren(children); parent.setChildren(children);
} }
} }
}
// 性能优化:批量获取批次属性,避免N+1查询问题 // 性能优化:批量获取批次属性,避免N+1查询问题
// 1. 收集所有唯一的materialBaseInfoId // 1. 收集所有唯一的materialBaseInfoId
@@ -47,13 +47,13 @@ public class StockShelfOrderAppApi extends BaseController {
} }
/** /**
* 获取上架单详细信息 * 获取上架单详细信息(PDA:主项无子项时添加 parent_copy,供详情页从 children 读取数据)
*/ */
@ApiOperation("获取上架单") @ApiOperation("获取上架单")
@GetMapping(value = "/getInfo") @GetMapping(value = "/getInfo")
public AjaxResult getInfo(Long shelfOrderId) public AjaxResult getInfo(Long shelfOrderId)
{ {
return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId)); return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId, true));
} }