From 1b78704ca65a974193e877c35a112196fe5fe2f3 Mon Sep 17 00:00:00 2001 From: thug0bin Date: Fri, 27 Feb 2026 12:35:34 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=84=B8=ED=8A=B8=EC=83=81=ED=92=88=20?= =?UTF-8?q?=EB=B0=94=EC=BD=94=EB=93=9C=20=EC=A1=B0=ED=9A=8C=20-=20CD=5FITE?= =?UTF-8?q?M=5FUNIT=5FMEMBER=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EC=97=B0?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CD_GOODS.BARCODE 없으면 CD_ITEM_UNIT_MEMBER.CD_CD_BARCODE 사용 - 알리미팜 세트상품/자체등록 바코드 지원 - 바코드 매핑률 89.8% → 99.8% 개선 --- backend/app.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/app.py b/backend/app.py index d239d09..86f0f69 100644 --- a/backend/app.py +++ b/backend/app.py @@ -2482,19 +2482,25 @@ def api_sales_detail(): drug_session = db_manager.get_session('PM_DRUG') # 판매 내역 조회 (최근 N일) + # CD_GOODS.BARCODE가 없으면 CD_ITEM_UNIT_MEMBER.CD_CD_BARCODE 사용 (세트상품/자체등록 바코드) sales_query = text(""" SELECT S.SL_DT_appl as sale_date, S.SL_NO_order as item_order, S.DrugCode as drug_code, ISNULL(G.GoodsName, '알 수 없음') as product_name, - ISNULL(G.BARCODE, '') as barcode, + COALESCE(NULLIF(G.BARCODE, ''), U.CD_CD_BARCODE, '') as barcode, ISNULL(G.SplName, '') as supplier, ISNULL(S.QUAN, 1) as quantity, ISNULL(S.SL_TOTAL_PRICE, 0) as total_price_db, ISNULL(G.Saleprice, 0) as unit_price FROM SALE_SUB S LEFT JOIN PM_DRUG.dbo.CD_GOODS G ON S.DrugCode = G.DrugCode + OUTER APPLY ( + SELECT TOP 1 CD_CD_BARCODE + FROM PM_DRUG.dbo.CD_ITEM_UNIT_MEMBER + WHERE DRUGCODE = S.DrugCode AND CD_CD_BARCODE IS NOT NULL AND CD_CD_BARCODE != '' + ) U WHERE S.SL_DT_appl >= CONVERT(VARCHAR(8), DATEADD(DAY, -:days, GETDATE()), 112) ORDER BY S.SL_DT_appl DESC, S.SL_NO_order DESC """)