fix(api): globally replace invalid material_base/material_name attributes with correct base relationship

This commit is contained in:
DXC
2026-03-26 17:14:26 +08:00
parent d58b002340
commit c8810891d8
3 changed files with 10 additions and 10 deletions

View File

@ -169,8 +169,8 @@ def get_stock_list():
if keyword:
q = q.filter(
db.or_(
StockBuy.material_name.ilike(f'%{keyword}%'),
StockBuy.spec_model.ilike(f'%{keyword}%'),
StockBuy.base.has(MaterialBase.name.ilike(f'%{keyword}%')),
StockBuy.base.has(MaterialBase.spec_model.ilike(f'%{keyword}%')),
StockBuy.sku.ilike(f'%{keyword}%')
)
)
@ -192,8 +192,8 @@ def get_stock_list():
if keyword:
q = q.filter(
db.or_(
StockSemi.material_name.ilike(f'%{keyword}%'),
StockSemi.spec_model.ilike(f'%{keyword}%'),
StockSemi.base.has(MaterialBase.name.ilike(f'%{keyword}%')),
StockSemi.base.has(MaterialBase.spec_model.ilike(f'%{keyword}%')),
StockSemi.sku.ilike(f'%{keyword}%')
)
)

View File

@ -184,10 +184,10 @@ class ScrapService:
'id': item.id,
'sku': item.sku,
'barcode': item.barcode,
'name': item.material_base.name if item.material_base else '',
'spec': item.material_base.spec_model if item.material_base else '',
'category': item.material_base.category if item.material_base else '',
'material_type': item.material_base.material_type if item.material_base else '',
'name': item.base.name if item.base else '',
'spec': item.base.spec_model if item.base else '',
'category': item.base.category if item.base else '',
'material_type': item.base.material_type if item.base else '',
'warehouse_loc': item.warehouse_loc or '',
'stock_quantity': stock_qty,
'available_quantity': avail_qty,

View File

@ -101,8 +101,8 @@ class OutboundService:
except Exception:
pass
if not base_name and hasattr(item, 'material_name'):
base_name = item.material_name
if not base_name and hasattr(item, 'base') and item.base:
base_name = item.base.name
stock_qty = float(item.stock_quantity) if item.stock_quantity else 0
avail_qty = float(item.available_quantity) if item.available_quantity else 0