Файл с партнёрами: Partners_import.xlsx Файл с типами продукции: Product_type_import.xlsx Файл с продуктами: Products_import.xlsx Файл с продажами: Partner_products_import.xlsx def check_database(): """ Проверяет количество записей в основных таблицах базы данных. Функция подключается к SQLite базе данных 'partners.db' и выводит количество записей в таблицах: PartnerType, Partner, ProductType, Product, Sale. Входные параметры: Нет Выходные параметры: Нет Действия: - Выводит в консоль количество записей каждой таблицы - Автоматически закрывает соединение с базой данных """ def load_data_from_files(): """ Загружает данные из Excel файлов в базу данных. Функция выполняет загрузку данных из Excel файлов в соответствующие таблицы базы данных SQLite. Подключается к БД, создает курсор для выполнения запросов и осуществляет импорт данных. Входные параметры: Нет Выходные параметры: Нет Действия: - Устанавливает соединение с базой данных 'partners.db' - Создает курсор для выполнения SQL-запросов - Загружает данные из Excel файлов в таблицы БД - Фиксирует изменения в базе данных - Закрывает соединение с БД """ def get_partners(db_path='partners.db', sort_by='rating', ascending=False): """ Получает список партнеров из базы данных с агрегированной информацией о продажах. Функция выполняет запрос к базе данных для получения информации о партнерах, включая данные об их типе, рейтинге и общем количестве проданных товаров. Результаты могут быть отсортированы по различным полям. Входные параметры: db_path (str): Путь к файлу базы данных. По умолчанию 'partners.db' sort_by (str): Поле для сортировки результатов. По умолчанию 'rating' ascending (bool): Направление сортировки. True - по возрастанию, False - по убыванию. По умолчанию False (по убыванию) Выходные параметры: list: Список кортежей с данными о партнерах или None в случае ошибки Возвращаемые данные включают: - Тип партнера - Наименование партнера - Директор - Электронная почта - Телефон - Юридический адрес - ИНН - Рейтинг - Дата создания - Общее количество проданных товаров Исключения: Обрабатывает исключения базы данных и возвращает None в случае ошибки """ def create_tables(db_connection): """ Создает все необходимые таблицы в базе данных. Функция выполняет создание таблиц в базе данных согласно предопределенной схеме. Использует переданное соединение с БД для выполнения SQL-запросов создания таблиц. Входные параметры: db_connection (sqlite3.Connection): Объект соединения с базой данных Выходные параметры: None Действия: - Создает курсор для выполнения SQL-запросов - Выполняет SQL-запросы на создание таблиц - Фиксирует изменения в базе данных - Не закрывает соединение с БД (оставляя это вызывающей стороне) """ def calculate_discount(total_quantity): """ Рассчитывает размер скидки на основе общего количества проданных товаров. Функция определяет процент скидки в зависимости от объема продаж по заданной градации. Входные параметры: total_quantity (int): Общее количество проданных товаров Выходные параметры: tuple: Кортеж содержащий: - discount_percent (int): Процент скидки (0-15) - discount_description (str): Текстовое описание скидки Примеры возвращаемых значений: (15, '15% (более 300000 ед.)') (10, '10% (50000-300000 ед.)') (5, '5% (10000-50000 ед.)') (0, '0% (до 10000 ед.)') """ def get_sales_history(db_path='partners.db', limit=50, sort_by='date_desc'): """ Получает историю реализации продукции с разными вариантами сортировки. Функция выполняет запрос к базе данных для получения детальной истории продаж, включая информацию о партнерах, продукции и финансовых показателях. Поддерживает различные варианты сортировки результатов. Входные параметры: db_path (str): Путь к файлу базы данных. По умолчанию 'partners.db' limit (int): Ограничение количества возвращаемых записей. По умолчанию 50 sort_by (str): Критерий сортировки результатов. Доступные варианты: 'date_desc' - по дате продажи (убывание) 'date_asc' - по дате продажи (возрастание) 'quantity_desc' - по количеству (убывание) 'amount_desc' - по общей сумме (убывание) По умолчанию 'date_desc' Выходные параметры: list: Список кортежей с данными о продажах или None в случае ошибки Возвращаемые данные включают: - Дата продажи - Наименование партнера - Наименование продукции - Артикул продукции - Количество проданных единиц - Цена за единицу - Общая сумма продажи - Тип продукции Исключения: Обрабатывает исключения базы данных и возвращает None в случае ошибки """ def simple_choice(options): """ Выводит меню выбора опций и запрашивает ввод пользователя. Функция отображает пронумерованный список доступных опций в формате меню и возвращает выбранный пользователем номер опции. Входные параметры: options (list): Список строк с названиями опций для выбора Выходные параметры: int: Номер выбранной опции (от 1 до количества опций) Действия: - Выводит заголовок меню - Отображает все опции с нумерацией - Запрашивает ввод пользователя - Возвращает выбранный номер """