Файл с партнерами: Partners_import.xlsx Файл с типами продукции: Product_type_import.xlsx Файл с продуктами: Products_import.xlsx Файл с продажами: Partner_products_import.xlsx def create_tables(db_connection): """Создает все необходимые таблицы в базе данных""" # Добавляем сортировку if sort_by == 'discount': query += " ORDER BY total_quantity" elif sort_by == 'rating'.... # Добавляем колонки со скидкой if not df.empty: df['Скидка'] = df['total_quantity'].apply(lambda x: calculate_discount(x)[0]) df['Текст_скидки'] = df['total_quantity'].apply(lambda x: calculate_discount(x)[1]) def get_sales_history(db_path='partners.db', limit=50, sort_by='date_desc'): """Получает историю реализации продукции с разными вариантами сортировки""" # Добавляем сортировку по дате if sort_by == 'date_desc': query += " ORDER BY s.sale_date DESC, s.created_at DESC" elif sort_by == 'date_asc': query += " ORDER BY s.sale_date ASC, s.created_at ASC" def print_partner_cards(partners_df): """Выводит карточки партнеров в красивом формате""" def print_sales_cards(sales_df): """Выводит карточки истории реализации в виде таблицы""" # Заголовок таблицы headers = ["Дата", "Партнер", "Продукция", "Артикул", "Кол-во", "Цена", "Сумма"] print("║ {:<12} {:<18} {:<59} {:<3} {:>9} {:>8} {:>13} ║ # Данные таблицы for index, row in sales_df.iterrows(): date = str(row['Дата продажи'])[:10] partner = row['Партнер'] product = row['Продукция'] # Итоги total_quantity = sales_df['Количество'].sum() total_amount = sales_df['Общая сумма'].sum() def simple_choice(options): """Упрощенная функция выбора""" def check_database(): """Проверяет загруженные данные в базе""" def load_data_from_files(): """Загружает данные из Excel файлов в базу данных""" # Запрос имен файлов print("\n📁 Введите имена файлов:") partners_file = input("Файл с партнерами: ") product_type_file = input("Файл с типами продукции: ") products_file = input("Файл с продуктами: ") sales_file = input("Файл с продажами: ") # 1. Загрузка типов партнеров print("\n1. 📊 Загрузка типов партнеров...") ниже идут 2, 3, 4, 5 for _, row in sales_df.iterrows(): # Находим ID продукта # Находим ID партнера cursor.execute("SELECT id FROM Partner WHERE name = ?", (row['Наименование партнера'],)) partner_result = cursor.fetchone() # Получаем цену продажи cursor.execute("SELECT min_partner_price FROM Product WHERE id = ?", (product_id,)) min_price_result = cursor.fetchone() # Преобразуем дату sale_date = pd.to_datetime(row['Дата продажи']).strftime('%Y-%m-%d') # Вставляем продажу cursor.execute("""INSERT INTO Sale (product_id, partner_id, quantity, sale_date, sale_price) VALUES (?, ?, ?, ?, ?)""", def display_menu(): """Главное меню программы"""