仓库领用成本统计接口测试说明.md
4.54 KB
仓库领用成本统计接口测试说明
📋 接口信息
- 接口路径:
POST /api/Extend/LqInventoryUsage/get-store-receive-cost-statistics - 服务类:
LqInventoryUsageService - 方法名:
GetStoreReceiveCostStatistics
⚠️ 测试前准备
- 确保后端服务已重启:接口代码修改后需要重新编译并重启服务
- 确认服务运行正常:访问
http://localhost:2011/api/test验证服务是否运行
🧪 测试用例
测试1: 按月份查询(202601)
curl -X POST "http://localhost:2011/api/Extend/LqInventoryUsage/get-store-receive-cost-statistics" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"statisticsMonth": "202601",
"currentPage": 1,
"pageSize": 20
}'
预期返回字段:
StatisticsMonth: 统计月份(如:202601)StoreId: 门店IDStoreName: 门店名称ReceiveCount: 领取数量(按批次去重)ProductVarietyCount: 领取品种数量AvgUnitPrice: 平均单价TotalCostAmount: 总价WarehouseCount: 涉及仓库数量UsageRecordCount: 领用记录数AvgReceiveAmount: 平均领用金额AvgRecordAmount: 平均单笔金额TotalUsageQuantity: 领用总数量MaxRecordAmount: 最大单笔金额MinRecordAmount: 最小单笔金额
测试2: 按时间范围查询
curl -X POST "http://localhost:2011/api/Extend/LqInventoryUsage/get-store-receive-cost-statistics" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"startMonth": "202512",
"endMonth": "202601",
"currentPage": 1,
"pageSize": 10
}'
测试3: 按门店查询
curl -X POST "http://localhost:2011/api/Extend/LqInventoryUsage/get-store-receive-cost-statistics" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"statisticsMonth": "202601",
"storeId": "1649328471923847193",
"currentPage": 1,
"pageSize": 20
}'
测试4: 按仓库筛选
curl -X POST "http://localhost:2011/api/Extend/LqInventoryUsage/get-store-receive-cost-statistics" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"statisticsMonth": "202601",
"warehouse": "福田仓库",
"currentPage": 1,
"pageSize": 20
}'
测试5: 排序测试
curl -X POST "http://localhost:2011/api/Extend/LqInventoryUsage/get-store-receive-cost-statistics" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"statisticsMonth": "202601",
"sidx": "TotalCostAmount",
"sort": "desc",
"currentPage": 1,
"pageSize": 5
}'
📝 使用测试脚本
运行测试脚本:
bash scripts/sh/test_store_receive_cost_statistics.sh
✅ 验证要点
- 接口返回码: 应为
200 - 数据结构: 返回的
list数组应包含统计记录 - 分页信息:
pagination应包含total、pageIndex、pageSize - 字段完整性: 每个记录应包含所有必需字段
- 数据准确性:
AvgUnitPrice=TotalCostAmount/ProductVarietyCountAvgReceiveAmount=TotalCostAmount/ReceiveCountAvgRecordAmount=TotalCostAmount/UsageRecordCount
🔍 数据验证SQL
可以通过以下SQL验证数据:
-- 验证202601月份的统计数据
SELECT
DATE_FORMAT(a.F_ReceiveTime, '%Y%m') as StatisticsMonth,
u.F_StoreId as StoreId,
store.dm as StoreName,
COUNT(DISTINCT a.F_UsageBatchId) as ReceiveCount,
COUNT(DISTINCT u.F_ProductId) as ProductVarietyCount,
COALESCE(SUM(u.F_TotalAmount), 0) as TotalCostAmount,
COUNT(DISTINCT p.F_Warehouse) as WarehouseCount
FROM lq_inventory_usage u
INNER JOIN lq_inventory_usage_application a ON u.F_UsageBatchId = a.F_UsageBatchId
INNER JOIN lq_product p ON u.F_ProductId = p.F_Id
LEFT JOIN lq_mdxx store ON u.F_StoreId = store.F_Id
WHERE u.F_IsEffective = 1
AND a.F_IsEffective = 1
AND a.F_ApprovalStatus = '已通过'
AND a.F_IsReceived = 1
AND a.F_ReceiveTime IS NOT NULL
AND DATE_FORMAT(a.F_ReceiveTime, '%Y%m') = '202601'
GROUP BY
DATE_FORMAT(a.F_ReceiveTime, '%Y%m'),
u.F_StoreId,
store.dm
ORDER BY TotalCostAmount DESC
LIMIT 10;
🐛 常见问题
- 404错误: 服务未重启,需要重新编译并重启后端服务
- 500错误: 检查SQL查询是否正确,查看服务日志
- 空数据: 确认指定月份是否有已领取的仓库使用记录
- Token过期: 重新获取Token