fix(image-search): 成品库存回填误取 batch_number,导致以图搜图必 500

POST /api/v1/common/image-search 在回填 StockProduct 业务数据时读取
r.batch_number,但 stock_product 表没有该列(只有采购件、半成品有),
AttributeError 把整个检索打成 500 —— 即便 stock_buy / stock_semi 两路
已经查好也一起丢掉。

改为与 stock.py /stocktake/all-items 的既有约定一致,用 serial_number 兜底,
保持三个模块回填的字段形状不变。

实测: StockProduct 样例 hasattr(batch_number)=False,serial_number='205'。
This commit is contained in:
yueli
2026-09-11 11:44:31 +08:00
parent f7cae9d84e
commit f4d97b6c4f

View File

@ -240,7 +240,11 @@ def image_search():
'sku': r.sku,
'barcode': r.barcode,
'serial_number': r.serial_number,
'batch_number': r.batch_number,
# ★ stock_product 表没有 batch_number 列(只有采购件/半成品有),
# 直接取 r.batch_number 会 AttributeError 导致整个检索 500。
# 与 stock.py /stocktake/all-items 的既有约定一致,用 serial_number 兜底,
# 保持三个模块回填的字段形状一致。
'batch_number': r.serial_number,
'status': r.status,
'warehouse_location': r.warehouse_location,
'stock_quantity': r.stock_quantity,