This commit is contained in:
user_3d 2025-11-06 11:35:13 +05:00
parent 7b12d4431a
commit 93f1dc97c1
2 changed files with 15 additions and 15 deletions

24
main.py
View file

@ -9,7 +9,7 @@ import openpyxl
def create_tables(db_connection):
"""Создает все необходимые таблицы в базе данных"""
# Функция создает структуру таблиц в базе данных
cursor = db_connection.cursor()
cursor.executescript('''
@ -37,7 +37,7 @@ def create_tables(db_connection):
coefficient DECIMAL(5,2) NOT NULL DEFAULT 1.0
);
CREATE TABLE IF NOT EXISTS Product (
CREATE TABLE IF NOT EXISTS Product (df = pd.read_sql_query(query, conn, params=(limit,))
id INTEGER PRIMARY KEY AUTOINCREMENT,
product_type_id INTEGER REFERENCES ProductType(id),
product_name VARCHAR(255) NOT NULL,
@ -46,7 +46,7 @@ def create_tables(db_connection):
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS Sale (
CREATE TABLE IF NOT EXISTS Sale (df = pd.read_sql_query(query, conn, params=(limit,))
id INTEGER PRIMARY KEY AUTOINCREMENT,
product_id INTEGER REFERENCES Product(id),
partner_id INTEGER REFERENCES Partner(id),
@ -70,7 +70,7 @@ def create_tables(db_connection):
def calculate_discount(total_quantity):
"""Рассчитывает скидку на основе общего количества проданной продукции"""
# Функция рассчитывает скидку на основе объема продаж
if total_quantity >= 300000:
return 15, '15% (более 300000 ед.)'
elif total_quantity >= 50000:
@ -82,7 +82,7 @@ def calculate_discount(total_quantity):
def get_partners(db_path='partners.db', sort_by='rating', ascending=False):
"""Получает данные о партнерах с возможностью сортировки"""
# Функция получает данные о партнерах из базы данных
try:
conn = sqlite3.connect(db_path)
query = """
@ -136,7 +136,7 @@ def get_partners(db_path='partners.db', sort_by='rating', ascending=False):
def get_sales_history(db_path='partners.db', limit=50, sort_by='date_desc'):
"""Получает историю реализации продукции с разными вариантами сортировки"""
# Функция получает историю продаж
try:
conn = sqlite3.connect(db_path)
query = """
@ -177,7 +177,7 @@ def get_sales_history(db_path='partners.db', limit=50, sort_by='date_desc'):
return None
def print_partner_cards(partners_df):
"""Выводит карточки партнеров в красивом формате"""
# Функция выводит информацию о партнерах в красивой форме
if partners_df is None or partners_df.empty:
print("📭 Нет данных о партнерах")
return
@ -219,7 +219,7 @@ def print_partner_cards(partners_df):
def print_sales_cards(sales_df):
"""Выводит карточки истории реализации в виде таблицы"""
# Функция выводит историю продаж в табличном представлении
if sales_df is None or sales_df.empty:
print("📭 Нет данных о продажах")
return
@ -254,7 +254,7 @@ def print_sales_cards(sales_df):
total_amount = sales_df['Общая сумма'].sum()
print(f"📊 ИТОГО: {len(sales_df)} продаж, {total_quantity:,} единиц, общая сумма: {total_amount:,.2f} руб.")
def simple_choice(options):
"""Упрощенная функция выбора"""
# Простая функция выбора пункта меню
print("\n" + "=" * 50)
print("ВЫБЕРИТЕ ОПЦИЮ:")
print("=" * 50)
@ -277,7 +277,7 @@ def simple_choice(options):
def check_database():
"""Проверяет загруженные данные в базе"""
# Проверяет наличие данных в базе
conn = sqlite3.connect('partners.db')
try:
cursor = conn.cursor()
@ -292,7 +292,7 @@ def check_database():
def load_data_from_files():
"""Загружает данные из Excel файлов в базу данных"""
# Загружает данные из Excel-файлов в базу данных
conn = sqlite3.connect('partners.db')
cursor = conn.cursor()
@ -397,7 +397,7 @@ def load_data_from_files():
def display_menu():
"""Главное меню программы"""
# Основное меню программы
menu_options = [
'КАРТОЧКИ ПАРТНЕРОВ (сортировка по рейтингу)',
'КАРТОЧКИ ПАРТНЕРОВ (сортировка по скидкам)',

View file

@ -1,7 +1,7 @@
Файл с партнерами: Partners_import.xlsx
Файл с типами продукции: Product_type_import.xlsx
Файл с продуктами: Products_import.xlsx
Файл с продажами: Partner_products_import.xlsx
Файл с продажами: Partner_products_import.xlsx ""
# Импортируем библиотеку SQLite3 для взаимодействия с базами данных SQLite
@ -20,11 +20,11 @@ import sqlite3
import pandas as pd
import os
import sys
import openpyxl
import openpyxl """Создает все необходимые таблицы в базе данных"""
# Функция создает структуру таблиц в базе данных
def create_tables(db_connection):
"""Создает все необходимые таблицы в базе данных."""
"Создает все необходимые таблицы в базе данных."""
cursor = db_connection.cursor()
# Создание таблиц и индексов