收货修改

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);
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
shelfMaterialDetailDO.setShelfOrderNumber(stockShelfOrderPO.getShelfOrderNumber());
List<ShelfMaterialDetailPO> shelfMaterialDetailPOList = shelfMaterialDetailDomainService.queryListChildren(shelfMaterialDetailDO);
// 主项无子项时添加 parent_copy 到 children,供详情页展示(详情页从 children 读取数据)
// PDA主项无子项时添加 parent_copy 到 children,供详情页展示(详情页从 children 读取数据);PC:不添加,避免收货无子项时上架显示虚拟子项
if (addParentCopyWhenNoChildren) {
for (ShelfMaterialDetailPO parent : shelfMaterialDetailPOList) {
if (CollectionUtils.isEmpty(parent.getChildren())) {
ShelfMaterialDetailPO parentCopy = new ShelfMaterialDetailPO();
@@ -208,6 +217,7 @@ public class StockShelfOrderApplicationService {
parent.setChildren(children);
}
}
}
// 性能优化:批量获取批次属性,避免N+1查询问题
// 1. 收集所有唯一的materialBaseInfoId
@@ -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));
}