From f4d97b6c4f762cd08faf1ab342e11bf8221ad983 Mon Sep 17 00:00:00 2001 From: yueli Date: Fri, 11 Sep 2026 11:44:31 +0800 Subject: [PATCH] =?UTF-8?q?fix(image-search):=20=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=9B=9E=E5=A1=AB=E8=AF=AF=E5=8F=96=20batch?= =?UTF-8?q?=5Fnumber=EF=BC=8C=E5=AF=BC=E8=87=B4=E4=BB=A5=E5=9B=BE=E6=90=9C?= =?UTF-8?q?=E5=9B=BE=E5=BF=85=20500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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'。 --- inventory-backend/app/api/v1/common/image_search.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/inventory-backend/app/api/v1/common/image_search.py b/inventory-backend/app/api/v1/common/image_search.py index 568849c..28011d2 100644 --- a/inventory-backend/app/api/v1/common/image_search.py +++ b/inventory-backend/app/api/v1/common/image_search.py @@ -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,