#!/usr/bin/env python3
"""
월비탕에 사용되는 약재들의 성분 코드 확인
"""

import sqlite3

def check_herb_codes():
    """약재 성분 코드 확인"""

    # 월비탕에 사용되는 약재들
    herbs_to_check = [
        "마황",
        "석고",
        "감초",
        "진피",
        "복령",
        "갈근",
        "건지황",
        "창출"
    ]

    conn = sqlite3.connect('database/kdrug.db')
    cursor = conn.cursor()

    herb_codes = {}

    print("🌿 월비탕 약재 성분 코드 확인")
    print("="*50)

    for herb in herbs_to_check:
        # 정확한 이름으로 먼저 검색
        cursor.execute("""
            SELECT ingredient_code, herb_name, herb_name_hanja
            FROM herb_masters
            WHERE herb_name = ?
        """, (herb,))

        result = cursor.fetchone()

        # 정확한 이름이 없으면 포함된 이름으로 검색
        if not result:
            cursor.execute("""
                SELECT ingredient_code, herb_name, herb_name_hanja
                FROM herb_masters
                WHERE herb_name LIKE ?
                ORDER BY LENGTH(herb_name)
                LIMIT 1
            """, (f'%{herb}%',))
            result = cursor.fetchone()

        if result:
            herb_codes[herb] = result[0]
            print(f"✅ {herb}: {result[0]} ({result[1]}, {result[2]})")
        else:
            print(f"❌ {herb}: 찾을 수 없음")
            # 비슷한 이름 찾기
            cursor.execute("""
                SELECT herb_name
                FROM herb_masters
                WHERE herb_name LIKE ?
                LIMIT 5
            """, (f'%{herb[:2]}%',))
            similar = cursor.fetchall()
            if similar:
                print(f"   유사한 약재: {', '.join([s[0] for s in similar])}")

    conn.close()

    return herb_codes

if __name__ == "__main__":
    herb_codes = check_herb_codes()

    print("\n📊 약재 코드 매핑 결과:")
    print("-"*50)
    for herb, code in herb_codes.items():
        print(f'"{herb}": "{code}",')