3dnikita/read.txt
2025-10-25 09:13:14 +05:00

88 lines
3.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Файл с партнерами: 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():
"""Главное меню программы"""