diff --git a/Shops/beauty_saloon/README.md b/Shops/beauty_saloon/README.md deleted file mode 100644 index cccd816..0000000 --- a/Shops/beauty_saloon/README.md +++ /dev/null @@ -1,23 +0,0 @@ -`list_services.json - список услуг салона` -`services_basket.json - список услуг в корзине` - -# Салон красоты - Armavir # -## Возможности меню: -1. Просмотр списка всех услуг -2. Переход к выбору услуг - - Определённые условия -3. Посмотреть список выбранных услуг и их общую стоимость -4. Удалить лишнюю услугу -5. Выход - -### Определённые условия: -1. Услуги нужно разделить на 2 блока: - - Услуги Лешмейкера (можно выбрать не больше 1 услуги, без повторений) - - Услуги Бровиста (можно выбрать не больше 1 услуги, без повторений) - - `Одновременно можно выбрать из 1 и из 2 блока` -2. Возможность записаться на определенную дату и время -3. Возможность отменить запись за 24 часа до процедуры. - -### Телеграмм: -1. Рассылка расписания 1 раз в месяц -2. Рассылка свободных мест по требованию **!Мастера!** diff --git a/Shops/beauty_saloon/app/main.py b/Shops/beauty_saloon/app/main.py deleted file mode 100644 index 9763cb2..0000000 --- a/Shops/beauty_saloon/app/main.py +++ /dev/null @@ -1,87 +0,0 @@ -"""Программа для салона красоты - Armovir. -Возможности: -- просмотреть все услуги -- добавить услугу в корзину -- посмотреть сумму выбранных услуг -""" - -import json - -def list_of_services(): - with open("app\list_services.json", encoding='utf-8') as file: - data = json.load(file) - return data["list_of_services"] - - -def edited_list_of_services(data): - result = '' - for service_info in data: - result += (f"{service_info['service_number']}. {service_info['name_of_services']} - {service_info['price_of_service']}р.\n") - return result - - -def basket_of_services(): - with open("app\services_basket.json", encoding='utf-8') as file: - data = json.load(file) - return data["list_of_services"] - - -def summa(data): - counter = 0 - for service_info in data: - counter += service_info['price_of_service'] - return f'Сумма всех услуг = {counter}р.' - - -def format_basket(data): - return edited_list_of_services(data) + summa(data) - - -def adding_service(): - print(edited_list_of_services(list_of_services())) - choice = int(input("Выберите услугу:")) - services = list_of_services() - basket = basket_of_services() - basket.append(services[choice -1 ]) - basket = {"list_of_services":basket} - with open("app\services_basket.json", "w") as file: - json.dump(basket, file) - return ("Услуга успешно добавлена") - - -def make_main_choice(choice): - result = "" - if choice == 1: - articles = list_of_services() - message = edited_list_of_services(articles) - result = message - elif choice == 2: - result = adding_service() - elif choice == 3: - articles = basket_of_services() - message = format_basket((articles)) - result = message - elif choice != 4: - result = 'Неверный выбор' - return result - - -def menu(): - message = """ - 1 - Посмотреть услуги - 2 - Выбор услуг - 3 - Посмотреть список и стоимость выбранных услуг - 4 - Выход - """ + "\n" - return message - - -def run() -> None: - choice = None - while choice != 4: - print(menu()) - choice = int(input("Введите пункт меню: ")) - message = make_main_choice(choice) - print(message) - -run() \ No newline at end of file diff --git a/Shops/beauty_saloon/hm_flask.py b/Shops/beauty_saloon/hm_flask.py new file mode 100644 index 0000000..8567f89 --- /dev/null +++ b/Shops/beauty_saloon/hm_flask.py @@ -0,0 +1,22 @@ +from flask import Flask + + +app = Flask(__name__) + +@app.route("/") +@app.route("/hello") +def index(): + return f"Hello world" + + +@app.route("/hello//age/") +def user(name: str, age: int): + return f"Hello {name.capitalize()}! Your age is {age}!" + +<<<<<<< HEAD + +app.run(port=5000, debug=True) +======= + +app.run(port=5000, debug=True) +>>>>>>> 9b79568823889bc36e819d31de8236786f5a6f05 diff --git a/Shops/beauty_saloon/hm_flask2.py b/Shops/beauty_saloon/hm_flask2.py new file mode 100644 index 0000000..4dd812c --- /dev/null +++ b/Shops/beauty_saloon/hm_flask2.py @@ -0,0 +1,21 @@ +import json +from flask import Flask +from flask import jsonify + + +app = Flask(__name__) + + +def get_cars(): + with open("2_task_storage.json") as file: + data = json.load(file) + return data + + +@app.route("/") +@app.route("/cars") +def get_cars_view(): + cars = get_cars() + return jsonify(cars) + +app.run(port=5000, debug=True) \ No newline at end of file diff --git a/Shops/beauty_saloon/homeworks/clinic_queries.sql b/Shops/beauty_saloon/homeworks/clinic_queries.sql deleted file mode 100644 index 38fb8d3..0000000 --- a/Shops/beauty_saloon/homeworks/clinic_queries.sql +++ /dev/null @@ -1,139 +0,0 @@ - --- подгружаем uuid -CREATE EXTENSION "uuid-ossp"; - --- создаем таблицу doctors(uuid, name, category, position) -CREATE TABLE doctors( - uuid uuid UNIQUE DEFAULT uuid_generate_v4(), - name CHARACTER VARYING(256), category VARCHAR(256), position TEXT); - --- cоздаем таблицу patients(uuid, name, birth_date, weight, height, sex) -CREATE TABLE patients( - uuid uuid UNIQUE DEFAULT uuid_generate_v4(), - name CHARACTER VARYING(256), - birth_date DATE, - weight INT NOT NULL CHECK (weight > 10 AND weight < 300), - height INT NOT NULL CHECK (height > 50 AND height < 220), - sex VARCHAR(7) -); - --- создаем таблицу anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -CREATE TABLE anamnesis( - patient_uuid uuid NOT NULL REFERENCES patients (uuid), - doctor_uuid uuid NOT NULL REFERENCES doctors (uuid), - diagnosis TEXT, - treatment TEXT -); - --- заполняем таблицу doctors -INSERT INTO doctors (name, category, position) -VALUES ('Bob', 'первая', 'дежурный врач'), ('Alice', 'вторая', 'глава отделения' ), ('Alex', 'высшая', 'главврач'); - --- заполняем таблицу patients -INSERT INTO patients (name, birth_date, weight, height, sex) -VALUES ('Robert', '1996-07-01', 85, 177, 'мужской' ), -('Den', '1988-10-15', 76, 180, 'мужской' ), -('Anna', '1969-12-26', 70, 164, 'женский'), -('Katerina', '1999-06-18', 56, 175, 'женский'); - --- заполняем таблицу anamnesis -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '4f14e356-7412-400f-bfaa-ed49954e06d5', 'ОРВИ', 'Теплое питьё' -FROM patients WHERE name='Robert'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '4f14e356-7412-400f-bfaa-ed49954e06d5', 'Радикулит', 'гимнастика для спины, умеренные физические нагрузки' -FROM patients WHERE name='Robert'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '54ff4ce0-0091-4b25-901c-ddad87495a60', 'Межпозвоночная грыжа', 'медикаментозные блокады, лечебная физкультура, физиотерапия' -FROM patients WHERE name='Robert'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '54ff4ce0-0091-4b25-901c-ddad87495a60', 'Перелом ноги', 'пункция, блокада места перелома' -FROM patients WHERE name='Den'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '54ff4ce0-0091-4b25-901c-ddad87495a60', 'Язва', 'снижение кислотности желудка, защита слизистой оболочки, коррекция состояния нервной системы и психической сферы.' -FROM patients WHERE name='Den'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '81aa9fe1-0edb-4dee-88ac-70b920818a43', 'Бронхит', 'антибиотики, муколитики, противокашлевые препараты' -FROM patients WHERE name='Anna'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '81aa9fe1-0edb-4dee-88ac-70b920818a43', 'Гастрит', 'Н2-гистаминоблокаторы, ингибиторы протонной помпы, антациды' -FROM patients WHERE name='Anna'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '81aa9fe1-0edb-4dee-88ac-70b920818a43', 'Гастрит', 'Н2-гистаминоблокаторы, ингибиторы протонной помпы, антациды' -FROM patients WHERE name='Katerina'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '4f14e356-7412-400f-bfaa-ed49954e06d5', 'ОРВИ', 'Теплое питьё' -FROM patients WHERE name='Katerina'; - -INSERT INTO anamnesis(patient_uuid, doctor_uuid, diagnosis, treatment) -SELECT uuid, '4f14e356-7412-400f-bfaa-ed49954e06d5', 'ОРВИ', 'Теплое питьё' -FROM patients WHERE name='Den'; - --- 1. name, category всех докторов -select name, category from doctors - --- 2. количество всех пациентов -SELECT COUNT(*) as patient FROM patients - --- 3. кол-во пациентов женского пола -SELECT COUNT(*) as patient FROM patients WHERE sex = 'женский' - --- 4. отсортировать всех пользователей по birth_date -SELECT name, birth_date, weight, height, sex FROM patients ORDER BY birth_date - --- 5. name пациента и name лечащего доктора -SELECT patients.name AS name_patients, doctors.name AS name_doctors FROM anamnesis -JOIN patients -ON patients.uuid = anamnesis.patient_uuid -JOIN doctors -ON doctors.uuid = anamnesis.doctor_uuid -ORDER BY name_patients - --- 6. name, диагноз пациентов с максимальным ростом (доп: сделать VIEW) -CREATE VIEW patients_diagnosis AS -SELECT name, diagnosis, height, weight, treatment -FROM anamnesis JOIN patients -ON anamnesis.patient_uuid = patients.uuid; - --- запрос к VIEW -SELECT name, diagnosis - FROM patients_diagnosis - WHERE height = (SELECT MAX(height) FROM patients_diagnosis) - - -- 7. вывести treatment, имт пользователя, - -- среднее имт по больнице для всех пользователей, - -- у которых имт выше среднего в больнице - -Select ROUND (weight / (height * 0.01 * height * 0.01),2) AS IMT, treatment, -(SELECT SUM(weight / (height * 0.01 * height * 0.01))FROM patients_diagnosis) / -(SELECT COUNT(treatment) - FROM patients_diagnosis) AS Среднее_IMT - FROM patients_diagnosis - WHERE (Select ROUND (weight / (height * 0.01 * height * 0.01),2)) > - (SELECT SUM(weight / (height * 0.01 * height * 0.01))FROM patients_diagnosis) / -(SELECT COUNT(treatment) - FROM patients_diagnosis) - - -- 8. сделайте представление, которое возвращает name пациента, name доктора, diagnosis, treatment -CREATE VIEW honey_card AS -SELECT patients.name AS name_patient, doctors.name AS name_doctors, diagnosis, treatment -FROM anamnesis -JOIN patients -ON anamnesis.patient_uuid = patients.uuid -JOIN doctors -ON anamnesis.doctor_uuid = doctors.uuid - -SELECT * FROM honey_card - --- 9. количество пациентов, name для каждого доктора -SELECT name, COUNT(DISTINCT patient_uuid) FROM doctors -JOIN anamnesis ON anamnesis.doctor_uuid = doctors.uuid -GROUP BY name \ No newline at end of file