feat: 처방 사용량 페이지에 약품 위치 표시
- rx-usage API에 CD_item_position.CD_NM_sale 조인 추가
- 제품코드 옆에 위치 배지 표시 (📍A-1 형태)
- 인디고 색상 작은 배지로 UI 해치지 않게
This commit is contained in:
@@ -4085,7 +4085,7 @@ def api_rx_usage():
|
||||
|
||||
mssql_session = db_manager.get_session('PM_PRES')
|
||||
|
||||
# 전문의약품 품목별 사용량 집계 쿼리 (현재고: IM_total.IM_QT_sale_debit)
|
||||
# 전문의약품 품목별 사용량 집계 쿼리 (현재고: IM_total.IM_QT_sale_debit, 위치: CD_item_position.CD_NM_sale)
|
||||
rx_query = text("""
|
||||
SELECT
|
||||
P.DrugCode as drug_code,
|
||||
@@ -4096,13 +4096,15 @@ def api_rx_usage():
|
||||
SUM(ISNULL(P.DRUPRICE, 0) * ISNULL(P.QUAN, 1) * ISNULL(P.Days, 1)) as total_amount,
|
||||
COUNT(DISTINCT P.PreSerial) as prescription_count,
|
||||
COALESCE(NULLIF(G.BARCODE, ''), '') as barcode,
|
||||
ISNULL(IT.IM_QT_sale_debit, 0) as current_stock
|
||||
ISNULL(IT.IM_QT_sale_debit, 0) as current_stock,
|
||||
ISNULL(POS.CD_NM_sale, '') as location
|
||||
FROM PS_sub_pharm P
|
||||
LEFT JOIN PM_DRUG.dbo.CD_GOODS G ON P.DrugCode = G.DrugCode
|
||||
LEFT JOIN PM_DRUG.dbo.IM_total IT ON P.DrugCode = IT.DrugCode
|
||||
LEFT JOIN PM_DRUG.dbo.CD_item_position POS ON P.DrugCode = POS.DrugCode
|
||||
WHERE P.Indate >= :start_date
|
||||
AND P.Indate <= :end_date
|
||||
GROUP BY P.DrugCode, G.GoodsName, G.SplName, G.BARCODE, IT.IM_QT_sale_debit
|
||||
GROUP BY P.DrugCode, G.GoodsName, G.SplName, G.BARCODE, IT.IM_QT_sale_debit, POS.CD_NM_sale
|
||||
ORDER BY SUM(ISNULL(P.QUAN, 1) * ISNULL(P.Days, 1)) DESC
|
||||
""")
|
||||
|
||||
@@ -4143,6 +4145,7 @@ def api_rx_usage():
|
||||
'total_amount': int(amount),
|
||||
'prescription_count': rx_count,
|
||||
'current_stock': int(row.current_stock or 0), # 현재고
|
||||
'location': row.location or '', # 약국 내 위치
|
||||
'thumbnail': None
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user