feat: 제품 검색에 위치 컬럼 추가

- CD_item_position.CD_NM_sale 조회 (person-lookup-web-local 참고)
- 3개 쿼리 모두 LEFT JOIN CD_item_position 추가
- 위치 뱃지 스타일 (노란색 배경)
This commit is contained in:
thug0bin
2026-03-04 14:28:41 +09:00
parent 01f0df9294
commit e7096f7bed
2 changed files with 161 additions and 142 deletions

View File

@@ -3345,9 +3345,11 @@ def api_products():
ISNULL(G.SplName, '') as supplier,
0 as is_set,
G.POS_BOON as pos_boon,
IT.IM_QT_sale_debit as stock
IT.IM_QT_sale_debit as stock,
ISNULL(POS.CD_NM_sale, '') as location
FROM CD_GOODS G
INNER JOIN IM_total IT ON G.DrugCode = IT.DrugCode AND IT.IM_QT_sale_debit > 0
LEFT JOIN CD_item_position POS ON G.DrugCode = POS.DrugCode
WHERE 1=1
{animal_condition}
{search_condition}
@@ -3367,9 +3369,11 @@ def api_products():
ISNULL(G.SplName, '') as supplier,
0 as is_set,
G.POS_BOON as pos_boon,
ISNULL(IT.IM_QT_sale_debit, 0) as stock
ISNULL(IT.IM_QT_sale_debit, 0) as stock,
ISNULL(POS.CD_NM_sale, '') as location
FROM CD_GOODS G
LEFT JOIN IM_total IT ON G.DrugCode = IT.DrugCode
LEFT JOIN CD_item_position POS ON G.DrugCode = POS.DrugCode
WHERE G.POS_BOON = '010103'
{search_condition}
ORDER BY G.GoodsName
@@ -3389,9 +3393,11 @@ def api_products():
END as supplier,
CASE WHEN SET_CHK.is_set = 1 THEN 1 ELSE 0 END as is_set,
G.POS_BOON as pos_boon,
ISNULL(IT.IM_QT_sale_debit, 0) as stock
ISNULL(IT.IM_QT_sale_debit, 0) as stock,
ISNULL(POS.CD_NM_sale, '') as location
FROM CD_GOODS G
LEFT JOIN IM_total IT ON G.DrugCode = IT.DrugCode
LEFT JOIN CD_item_position POS ON G.DrugCode = POS.DrugCode
OUTER APPLY (
SELECT TOP 1 CD_CD_BARCODE
FROM CD_ITEM_UNIT_MEMBER
@@ -3445,6 +3451,7 @@ def api_products():
'is_set': bool(row.is_set),
'is_animal_drug': is_animal,
'stock': int(row.stock) if row.stock else 0,
'location': row.location or '', # 위치
'apc': apc,
'category': None, # PostgreSQL에서 lazy fetch
'wholesaler_stock': None,