From 67e576736d975aa37fa0154fb686c5ca7593289d Mon Sep 17 00:00:00 2001 From: thug0bin Date: Sat, 28 Feb 2026 13:22:26 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20KIMS=20API=EC=97=90=20DrugCode=20?= =?UTF-8?q?=EC=A7=81=EC=A0=91=20=EC=82=AC=EC=9A=A9=20(BASECODE=20=EC=A1=B0?= =?UTF-8?q?=EC=9D=B8=20=EC=A0=9C=EA=B1=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/backend/app.py b/backend/app.py index 670404d..31cc21a 100644 --- a/backend/app.py +++ b/backend/app.py @@ -4152,25 +4152,23 @@ def api_kims_interaction_check(): 'error': '상호작용 체크를 위해 최소 2개 이상의 약품이 필요합니다.' }), 400 - # 1. DrugCode → BASECODE(KIMS 9자리) 변환 - # CD_BARCODE.BASECODE가 KIMS KD코드 (9자리) + # 1. DrugCode = KIMS KD코드 (9자리) - 직접 사용 drug_session = db_manager.get_session('PM_DRUG') placeholders = ','.join([f"'{c}'" for c in drug_codes]) code_query = text(f""" - SELECT G.DrugCode, G.GoodsName, - (SELECT TOP 1 BASECODE FROM CD_BARCODE WHERE DrugCode = G.DrugCode AND BASECODE IS NOT NULL) as BASECODE - FROM CD_GOODS G - WHERE G.DrugCode IN ({placeholders}) + SELECT DrugCode, GoodsName + FROM CD_GOODS + WHERE DrugCode IN ({placeholders}) """) code_result = drug_session.execute(code_query).fetchall() - # KIMS 코드 매핑 + # DrugCode를 KIMS KD코드로 직접 사용 kd_codes = [] drugs_info = [] for row in code_result: - kd_code = row.BASECODE - if kd_code: + kd_code = row.DrugCode # DrugCode 자체가 KIMS 코드 + if kd_code and len(str(kd_code)) == 9: kd_codes.append(str(kd_code)) drugs_info.append({ 'drug_code': row.DrugCode,