from faker import Faker
import random

fake = Faker('ru_RU')

purposes = ["Консультация", "Осмотр", "Лечение", "Анализы", "Профосмотр", "Вакцинация"]
used_tickets = set()

with open("insert_priemy.sql", "w", encoding="utf-8") as f:
    for i in range(1, 101):  # 100 приёмов
        # Уникальный номер талона
        while True:
            ticket = f"T{random.randint(1000, 9999)}"
            if ticket not in used_tickets:
                used_tickets.add(ticket)
                break

        date = fake.date_between(start_date='-1y', end_date='today')
        purpose = random.choice(purposes)
        cost = round(random.uniform(500, 5000), 2)
        doctor_id = random.randint(1, 20)
        patient_id = i  # Пациенты с ID от 1 до 100
        diagnosis_id = random.randint(1, 20)

        f.write(
            f"INSERT INTO приемы (номер_талона, дата_визита, цель_посещения, стоимость, врач_id, пациент_id, диагноз_id) "
            f"VALUES ('{ticket}', '{date}', '{purpose}', {cost}, {doctor_id}, {patient_id}, {diagnosis_id});\n"
        )
