#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
门诊配置文件
定义所有门诊的基本信息和映射关系
"""

# 门诊映射配置 (基于实际数据分析结果)
CLINIC_MAPPING = {
    '学前街门诊': {
        'clinic_id': 'clinic_xuexian',
        'clinic_name': '学前街门诊',
        'json_file': '诊所患者json/学前街门诊.json',   
        'folder_name': 'clinic_xuexian',
        'description': '通善学前街门诊',
        'expected_patients': 765
    },
    '大丰门诊': {
        'clinic_id': 'clinic_dafeng',
        'clinic_name': '大丰门诊', 
        'json_file': '诊所患者json/大丰门诊.json',
        'folder_name': 'clinic_dafeng',
        'description': '通善大丰门诊',
        'expected_patients': 598
    },
    '东亭门诊': {
        'clinic_id': 'clinic_dongting',
        'clinic_name': '东亭门诊',
        'json_file': '诊所患者json/东亭门诊.json', 
        'folder_name': 'clinic_dongting',
        'description': '通善东亭门诊',
        'expected_patients': 479
    },
    '河埒门诊': {
        'clinic_id': 'clinic_helai',
        'clinic_name': '河埒门诊',
        'json_file': '诊所患者json/河埒门诊.json',
        'folder_name': 'clinic_helai',
        'description': '通善河埒门诊',
        'expected_patients': 108
    },
    '红豆门诊': {
        'clinic_id': 'clinic_hongdou', 
        'clinic_name': '红豆门诊',
        'json_file': '诊所患者json/红豆门诊.json',
        'folder_name': 'clinic_hongdou',
        'description': '通善红豆门诊',
        'expected_patients': 500
    },
    '惠山门诊': {
        'clinic_id': 'clinic_huishan',
        'clinic_name': '惠山门诊',
        'json_file': '诊所患者json/惠山门诊.json',
        'folder_name': 'clinic_huishan',
        'description': '通善惠山门诊',
        'expected_patients': 323
    },
    '马山门诊': {
        'clinic_id': 'clinic_mashan',
        'clinic_name': '马山门诊', 
        'json_file': '诊所患者json/马山门诊.json',
        'folder_name': 'clinic_mashan',
        'description': '通善马山门诊',
        'expected_patients': 527
    },
    '通善口腔医院': {
        'clinic_id': 'clinic_hospital',
        'clinic_name': '通善口腔医院',
        'json_file': '诊所患者json/通善口腔医院.json',
        'folder_name': 'clinic_hospital',
        'description': '通善口腔医院总院',
        'expected_patients': 536
    },
    '新吴门诊': {
        'clinic_id': 'clinic_xinwu',
        'clinic_name': '新吴门诊',
        'json_file': '诊所患者json/新吴门诊.json', 
        'folder_name': 'clinic_xinwu',
        'description': '通善新吴门诊',
        'expected_patients': 297
    }
}

# 快速访问映射
CLINIC_ID_TO_NAME = {info['clinic_id']: info['clinic_name'] for info in CLINIC_MAPPING.values()}
CLINIC_ID_TO_JSON = {info['clinic_id']: info['json_file'] for info in CLINIC_MAPPING.values()}
CLINIC_ID_TO_FOLDER = {info['clinic_id']: info['folder_name'] for info in CLINIC_MAPPING.values()}


# 默认用户配置 (基于实际门诊用户)
DEFAULT_USERS = [
    # 学前街门诊 (3名用户)
    {
        'username': 'jinqin',
        'password': 'jinqin123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_xuexian',
        'real_name': '金沁',
        'clinic_name': '学前街门诊'
    },
    {
        'username': 'renshanshan',
        'password': 'renshanshan123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_xuexian',
        'real_name': '任姗姗',
        'clinic_name': '学前街门诊'
    },
    {
        'username': 'shaojun',
        'password': 'shaojun123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_xuexian',
        'real_name': '邵军',
        'clinic_name': '学前街门诊'
    },
    
    # 新吴门诊 (1名用户)
    {
        'username': 'litingting',
        'password': 'litingting123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_xinwu',
        'real_name': '李婷婷',
        'clinic_name': '新吴门诊'
    },
    
    # 红豆门诊 (2名用户)
    {
        'username': 'maqiuyi',
        'password': 'maqiuyi123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_hongdou',
        'real_name': '马秋怡',
        'clinic_name': '红豆门诊'
    },
    {
        'username': 'tangqimin',
        'password': 'tangqimin123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_hongdou',
        'real_name': '汤其敏',
        'clinic_name': '红豆门诊'
    },
    
    # 东亭门诊 (1名用户)
    {
        'username': 'yueling',
        'password': 'yueling123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_dongting',
        'real_name': '岳玲',
        'clinic_name': '东亭门诊'
    },
    
    # 马山门诊 (2名用户)
    {
        'username': 'jijunlin',
        'password': 'jijunlin123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_mashan',
        'real_name': '季军林',
        'clinic_name': '马山门诊'
    },
    {
        'username': 'zhouliping',
        'password': 'zhouliping123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_mashan',
        'real_name': '周丽萍',
        'clinic_name': '马山门诊'
    },
    
    # 通善口腔医院总院 (2名用户)
    {
        'username': 'feimiaomiao',
        'password': 'feimiaomiao123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_hospital',
        'real_name': '费苗苗',
        'clinic_name': '通善口腔医院'
    },
    {
        'username': 'chenxinyu',
        'password': 'chenxinyu123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_helai',
        'real_name': '陈心语',
        'clinic_name': '河埒门诊'
    },
    
    # 惠山门诊 (2名用户)
    {
        'username': 'yanghong',
        'password': 'yanghong123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_huishan',
        'real_name': '杨红',
        'clinic_name': '惠山门诊'
    },
    {
        'username': 'panjinli',
        'password': 'panjinli123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_huishan',
        'real_name': '潘金丽',
        'clinic_name': '惠山门诊'
    },
    
    # 大丰门诊 (1名用户)
    {
        'username': 'chenlin',
        'password': 'chenlin123',
        'role': 'clinic_user',
        'clinic_id': 'clinic_dafeng',
        'real_name': '陈琳',
        'clinic_name': '大丰门诊'
    },
    
    # 总部管理员 (最高权限)
    {
        'username': 'admin',
        'password': 'admin123',
        'role': 'admin',
        'clinic_id': None,
        'real_name': '系统管理员',
        'clinic_name': '总部管理'
    }
]

# 系统配置
SYSTEM_CONFIG = {
    'total_clinics': len(CLINIC_MAPPING),
    'total_expected_patients': sum(info['expected_patients'] for info in CLINIC_MAPPING.values()),

    'base_url': '/patient_profiles',
    'shared_resources_path': '/shared',
    'admin_path': '/admin'
}

def get_clinic_info(clinic_id):
    """根据clinic_id获取门诊信息"""
    for info in CLINIC_MAPPING.values():
        if info['clinic_id'] == clinic_id:
            return info
    return None

def get_clinic_by_name(clinic_name):
    """根据门诊名称获取门诊信息"""
    return CLINIC_MAPPING.get(clinic_name)

def get_all_clinic_ids():
    """获取所有门诊ID列表"""
    return [info['clinic_id'] for info in CLINIC_MAPPING.values()]

def get_user_by_username(username):
    """根据用户名获取用户信息"""
    for user in DEFAULT_USERS:
        if user['username'] == username:
            return user
    return None

if __name__ == "__main__":
    print("🏥 门诊配置信息:")
    print(f"门诊总数: {SYSTEM_CONFIG['total_clinics']}")
    print(f"预期患者总数: {SYSTEM_CONFIG['total_expected_patients']}")
    print(f"用户总数: {len(DEFAULT_USERS)}")
    
    print("\n📋 门诊列表:")
    for clinic_id in get_all_clinic_ids():
        info = get_clinic_info(clinic_id)
        print(f"  {info['clinic_name']} ({clinic_id}) - {info['expected_patients']} 人")
        
    print("\n👥 用户列表:")
    for user in DEFAULT_USERS:
        clinic_name = user.get('clinic_name', '总部')
        print(f"  {user['username']} ({user['real_name']}) - {user['role']} - {clinic_name}") 