diff --git a/backend/app.py b/backend/app.py index c43e9cd..44e189b 100644 --- a/backend/app.py +++ b/backend/app.py @@ -5102,15 +5102,15 @@ def api_rx_usage(): rx_query = text(""" SELECT P.DrugCode as drug_code, - ISNULL(G.GoodsName, '알 수 없음') as product_name, - ISNULL(G.SplName, '') as supplier, + MAX(ISNULL(G.GoodsName, '알 수 없음')) as product_name, + MAX(ISNULL(G.SplName, '')) as supplier, SUM(ISNULL(P.QUAN, 1)) as total_qty, SUM(ISNULL(P.INV_QUAN, 0)) as total_dose, -- 총 투약량 (1회복용량 x 복용횟수 x 일수) SUM(ISNULL(P.DRUPRICE, 0)) as total_amount, -- DRUPRICE 합계 COUNT(DISTINCT P.PreSerial) as prescription_count, - COALESCE(NULLIF(G.BARCODE, ''), '') as barcode, - ISNULL(IT.IM_QT_sale_debit, 0) as current_stock, - ISNULL(POS.CD_NM_sale, '') as location + MAX(COALESCE(NULLIF(G.BARCODE, ''), '')) as barcode, + MAX(ISNULL(IT.IM_QT_sale_debit, 0)) as current_stock, + MAX(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 @@ -5118,8 +5118,8 @@ def api_rx_usage(): WHERE P.Indate >= :start_date AND P.Indate <= :end_date AND (P.PS_Type IS NULL OR P.PS_Type != '9') - 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 + GROUP BY P.DrugCode + ORDER BY SUM(ISNULL(P.INV_QUAN, 0)) DESC -- 투약량 기준 정렬 """) rows = mssql_session.execute(rx_query, {