fix: count distinct SKU codes across shared pallet inbounds

This commit is contained in:
2026-09-16 10:18:56 +08:00
parent c099b19176
commit a4c659f4c6
3 changed files with 23 additions and 2 deletions
@@ -231,7 +231,8 @@ public class DropshipPalletizationService {
values.stream().map(v->v.carton().getBoxCode()).toList());}).toList();
int discrepancies=(int)cartons.stream().filter(c->"ACCEPTED_VARIANCE".equals(c.getDiscrepancyStatus())).count();
PalletMetrics metrics=mapper.metrics(row.getId());
return new Pallet(row.getId(),row.getPalletNo(),row.getPalletStatus(),cartons.size(),items.size(),discrepancies,
int skuCount=(int)items.stream().map(SkuItem::skuCode).distinct().count();
return new Pallet(row.getId(),row.getPalletNo(),row.getPalletStatus(),cartons.size(),skuCount,discrepancies,
metrics==null?BigDecimal.ZERO:metrics.weightKg(),metrics==null?BigDecimal.ZERO:metrics.volumeCbm(),row.getVersion(),items,
cartons.stream().map(c->cartonView(c,c.getInboundCode(),false,null)).toList(),row.getCompletedAt());
}
@@ -163,7 +163,7 @@ components:
palletNo: {$ref: '#/components/schemas/PalletNo'}
status: {type: string, enum: [OPEN, SEALED]}
cartonCount: {type: integer, minimum: 0}
skuCount: {type: integer, minimum: 0}
skuCount: {type: integer, minimum: 0, description: '整托按 SKU 编码去重的种类数,包含合托全部入仓码,不是商品件数或入仓明细数'}
discrepancyCartons: {type: integer, minimum: 0}
weightKg: {type: number, minimum: 0}
volumeCbm: {type: number, minimum: 0}