fix(wms): 补提交收货/上架单已反审归档详情接口(此前遗漏未入库)

getInfo 增加 archive 重载(归档主单已软删用getById放行+校验已反审标记,明细放行软删行)+ getReverseAuditInfo 接口,补齐对接文档承诺的4个归档详情接口中缺失的收货/上架两个;随附上架默认库位注释微调
This commit is contained in:
rcx
2026-09-12 11:21:33 +08:00
parent 84ff45b43d
commit e60f22979c
6 changed files with 101 additions and 9 deletions
@@ -201,9 +201,22 @@ public class StockReceiptOrderApplicationService {
*/
public StockReceiptOrderPO getInfo(Long receiptOrderId)
{
StockReceiptOrderPO stockReceiptOrderPO = stockReceiptOrderDomainService.getInfo(receiptOrderId);
return getInfo(receiptOrderId, false);
}
/**
* 获取收货单详情
* @param archive true-查询【已反审】tab 归档数据(已软删+已反审标记,明细放行软删行)
*/
public StockReceiptOrderPO getInfo(Long receiptOrderId, boolean archive)
{
StockReceiptOrderPO stockReceiptOrderPO = stockReceiptOrderDomainService.getInfo(receiptOrderId, archive);
ReceiptMaterialDetailDO receiptMaterialDetailDO = new ReceiptMaterialDetailDO();
receiptMaterialDetailDO.setReceiptOrderNumber(stockReceiptOrderPO.getReceiptOrderNumber());
if (archive) {
//归档明细已随主单软删,放行软删行
receiptMaterialDetailDO.setDelFlag(2);
}
List<ReceiptMaterialDetailPO> receiptMaterialDetailPOList = receiptMaterialDetailDomainService.queryListChildren(receiptMaterialDetailDO);
// 性能优化:批量获取批次属性,避免N+1查询问题
@@ -306,6 +319,14 @@ public class StockReceiptOrderApplicationService {
totalNetWeight, totalGrossWeight, totalVolume, totalArea);
return stockReceiptOrderPO;
}
/**
* 查询收货单【已反审】tab 归档详情(已软删+已反审标记的数据,含软删明细)
*/
public StockReceiptOrderPO getReverseAuditInfo(Long receiptOrderId)
{
return getInfo(receiptOrderId, true);
}
/**
* 根据物料基础信息ID获取批次属性(更多属性),只返回isDisplay=1的属性
@@ -134,12 +134,12 @@ public class StockShelfOrderApplicationService {
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
/** 仅这些仓库的上架单在PC上传页默认填充上架库位(按仓库名匹配;需放开其他仓库时在此追加)。
* 生产环境维他奶仓(warehouseId=14,已对照线上库位树验证:库区id=20,库位id=33);测试环境为 青洲仓(warehouseId=13),需测试时切换 */
private static final Set<String> DEFAULT_STORAGE_LOCATION_WAREHOUSE_NAMES = new HashSet<>(Collections.singletonList("维他奶"));
/** 默认上架库位:指定库区名→库位名(精确匹配,须与基础资料名称完全一致,注意含繁体字)。
* 生产环境維他奶2层冷凍A區 → 2层冷凍A區A01;测试环境为 4楼A区 → 4A-01-01,需测试时切换 */
private static final String DEFAULT_SHELF_STORAGE_NAME = "維他奶2层冷凍A區";
private static final String DEFAULT_SHELF_STORAGE_LOCATION_NAME = "2层冷凍A區A01";
* 测试环境:青洲仓(warehouseId=13);生产环境维他奶仓(warehouseId=14,已对照线上库位树验证:库区id=20,库位id=33),发版前需切换 */
private static final Set<String> DEFAULT_STORAGE_LOCATION_WAREHOUSE_NAMES = new HashSet<>(Collections.singletonList("青洲"));
/** 默认上架库位:指定库区名→库位名(精确匹配,须与基础资料名称完全一致)。
* 测试环境:4楼A区 → 4A-01-01生产环境維他奶2层冷凍A區 → 2层冷凍A區A01(含繁体字),发版前需切换 */
private static final String DEFAULT_SHELF_STORAGE_NAME = "4楼A区";
private static final String DEFAULT_SHELF_STORAGE_LOCATION_NAME = "4A-01-01";
/** 仅这些组织的上架单在PC上传页默认填充上架库位(按组织id精确匹配;测试与生产均为 谷丰=2842,若不一致需按环境切换) */
private static final Set<Long> DEFAULT_STORAGE_LOCATION_ORGANIZATION_IDS = new HashSet<>(Collections.singletonList(2842L));
@@ -243,6 +243,13 @@ public class StockShelfOrderApplicationService {
return getInfo(shelfOrderId, false);
}
/**
* 查询上架单【已反审】tab 归档详情(已软删+已反审标记的数据,含软删明细)
*/
public StockShelfOrderPO getReverseAuditInfo(Long shelfOrderId) {
return stockShelfOrderDomainService.getInfo(shelfOrderId, true);
}
/**
* 获取上架单详细信息
*
@@ -261,7 +261,26 @@ public class StockReceiptOrderDomainService {
* 获取收货单详细信息
*/
public StockReceiptOrderPO getInfo(Long receiptOrderId) {
return stockReceiptOrderService.getInfo(receiptOrderId);
return getInfo(receiptOrderId, false);
}
/**
* 获取收货单详情
* @param archive true-查询【已反审】tab 归档数据(已软删+已反审标记)
*/
public StockReceiptOrderPO getInfo(Long receiptOrderId, boolean archive) {
if (!archive) {
return stockReceiptOrderService.getInfo(receiptOrderId);
}
//归档主单已软删,用 MP getById(不过滤 del_flag)并校验已反审标记
StockReceiptOrder order = stockReceiptOrderService.getById(receiptOrderId);
if (order == null || order.getDelFlag() == null || order.getDelFlag() != 2
|| !Integer.valueOf(1).equals(order.getReverseAuditStatus())) {
throw new ServiceException("收货单非已反审归档数据,无法查看归档详情");
}
StockReceiptOrderPO po = new StockReceiptOrderPO();
org.springframework.beans.BeanUtils.copyProperties(order, po);
return po;
}
/**
@@ -243,9 +243,34 @@ public class StockShelfOrderDomainService {
*/
public StockShelfOrderPO getInfo(Long shelfOrderId)
{
StockShelfOrderPO stockShelfOrderPO = stockShelfOrderService.getInfo(shelfOrderId);
return getInfo(shelfOrderId, false);
}
/**
* 获取上架单详情
* @param archive true-查询已反审tab 归档数据已软删+已反审标记明细放行软删行
*/
public StockShelfOrderPO getInfo(Long shelfOrderId, boolean archive)
{
StockShelfOrderPO stockShelfOrderPO;
if (archive) {
//归档主单已软删 MP getById不过滤 del_flag并校验已反审标记
StockShelfOrder order = stockShelfOrderService.getById(shelfOrderId);
if (order == null || order.getDelFlag() == null || order.getDelFlag() != 2
|| !Integer.valueOf(1).equals(order.getReverseAuditStatus())) {
throw new ServiceException("上架单非已反审归档数据,无法查看归档详情");
}
stockShelfOrderPO = new StockShelfOrderPO();
org.springframework.beans.BeanUtils.copyProperties(order, stockShelfOrderPO);
} else {
stockShelfOrderPO = stockShelfOrderService.getInfo(shelfOrderId);
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
shelfMaterialDetailDO.setShelfOrderNumber(stockShelfOrderPO.getShelfOrderNumber());
if (archive) {
//归档明细已随主单软删放行软删行
shelfMaterialDetailDO.setDelFlag(2);
}
List<ShelfMaterialDetailPO> inMaterialDetailPOList = shelfMaterialDetailService.queryListChildren(shelfMaterialDetailDO);
stockShelfOrderPO.setMaterialDetailList(inMaterialDetailPOList);
return stockShelfOrderPO;
@@ -64,6 +64,16 @@ public class StockReceiptOrderApi extends BaseController {
return AjaxResult.success(stockReceiptOrderApplicationService.getInfo(receiptOrderId));
}
/**
* 查询收货单已反审tab 归档详情已软删+已反审标记的数据含软删明细
*/
@ApiOperation("查询收货单已反审归档详情")
@GetMapping(value = "/getReverseAuditInfo/{receiptOrderId}")
public AjaxResult getReverseAuditInfo(@PathVariable("receiptOrderId") Long receiptOrderId)
{
return AjaxResult.success(stockReceiptOrderApplicationService.getReverseAuditInfo(receiptOrderId));
}
@ApiOperation("分配月台")
@PostMapping("/allocationPlatform")
public AjaxResult allocationPlatform(@RequestBody StockReceiptOrderDTO stockReceiptOrderDTO) {
@@ -64,6 +64,16 @@ public class StockShelfOrderApi extends BaseController {
return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId, false));
}
/**
* 查询上架单已反审tab 归档详情已软删+已反审标记的数据含软删明细
*/
@ApiOperation("查询上架单已反审归档详情")
@GetMapping(value = "/getReverseAuditInfo/{shelfOrderId}")
public AjaxResult getReverseAuditInfo(@PathVariable("shelfOrderId") Long shelfOrderId)
{
return AjaxResult.success(stockShelfOrderApplicationService.getReverseAuditInfo(shelfOrderId));
}
@ApiOperation("任务下发")
@PostMapping("/taskDistribution")
public AjaxResult taskDistribution(@RequestBody StockShelfOrderDTO stockShelfOrderDTO) {