Escolar Documentos
Profissional Documentos
Cultura Documentos
import mysql.connector
from datetime import time
import datetime
from random import randrange
if a == 1:
login() #chamar a função login
if a == 2:
print('''Fim do programa!''')
if tipo == 1: # Utente
user = int(input("Utilizador:")) #nº de utente
sql = """SELECT nomeutente FROM utente WHERE idutente = %s"""
#seleciona o nome do utente que tem o idutente indicado no user
var = (user,) # variavel user que será substituido em %s
mycursor.execute(sql, var) #executar o codigo sql com a
variavel
myresult = mycursor.fetchall() #guardar os resultados numa
variavel
for x in myresult:
print("Bem-Vindo senhor(a): " + str(x[0]))
if tipo == 2: # medico
medico = int(input("Medico:")) # nº de medico
sql = """SELECT nomemedico FROM medico WHERE idmedico = %s"""
var = (medico,)
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
for x in myresult:
print("Bem-Vindo senhor(a): " + str(x[0]))
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
medico = []
for x in myresult:
medico.append(x)
cont = 0
if len(medico) == 0:
print("Nao ha medicos disponiveis !")
else:
frozen = 0
while frozen == 0:
consultas = []
print("Médicos Disponiveis:")
j = 0
while j < 1 or j > len(medico):
for i in range(len(medico)): # Nº de medicos para
a especialidade indicada
print(str(j + 1) + " - " + str(medico[i][1]))
j = j + 1
j = 0
j = int(input("Escolha o seu medico:"))
j = j - 1
sql = "SELECT * FROM consulta WHERE idmedico = %s AND
DATE(dataconsulta) = %s"
var = (int(medico[j][0]), data)
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
for x in myresult:
consultas.append(x) #adicionar nas consultas
mycursor.execute(sql,var)
myresult = mycursor.fetchall()
if len(myresult) == 0:
print("ERRO! Medico nao tem mancha horaria
criada!")
else:
horacomeca = myresult[0][0]
horas = str(horacomeca)
horas = horas.split(":") #dividir a hora dos
minutos e segundos
b = datetime.datetime(ano, mes, dia,
int(horas[0]), int(horas[1]), 00)
print("Consulta Marcada!")
frozen = 1
else:
novaconsulta = """INSERT INTO consulta
(idconsulta,idutente,idmedico,dataconsulta) VALUES (%s, %s, %s, %s)"""
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
cont = 0
for h in myresult:
horainicio = h[1]
horafim = h[0]
contador = len(consultas)
ultima = consultas[contador - 1] #ultima
consulta
data_ultima_consulta = str(ultima[3]) #hora da
ultima consulta
data_split = data_ultima_consulta.split(" ")
#dividir hora e data
tempo = str(data_split[1]) #selecionar a hora
tempo1 = tempo.split(":") #dividiu a hora em
hora e minutos
hora = int(tempo1[0]) #hora da ultima consulta
minuto = int(tempo1[1]) #minuto da ultima
consulta
if len(myresult) == 2:
fimmanha = str(myresult[1][0])
fimmanha = fimmanha.split(":")
hfimmanha = fimmanha[0]
mfimmanha = fimmanha[1]
horainicio = str(horainicio)
horainicio = horainicio.split(":")
if int(hora) == int(hfimmanha):
if int(minuto) == int(mfimmanha):
cont = 2
else:
cont = 1
else:
cont = 1
elif len(myresult) == 1:
cont = 1
print(cont)
if cont == 1:
if minuto == 0: # Consulta de 30 minutos
minuto = 30
elif cont == 2:
horainicio = str(horainicio)
horainicio = horainicio.split(":")
horafim = str(horafim)
horafim = horafim.split(":") # dividir a hora
horaf = horafim[0]
minutof = horafim[1]
mycursor.execute(novaconsulta, val)
mydb.commit()
print("Consulta Marcada!")
frozen = 1
break
mycursor.execute(novaconsulta,
val)
mydb.commit()
print("Consulta Marcada!")
frozen = 1
break
else:
if cont == 1:
print("Horario de manha cheio
! A verificar horario de tarde ...")
elif cont == 2:
print("Consulta nao foi
possivel 1")
medico.remove(medico[j])
if len(medico) == 0:
print("Nao ha mais medicos
disponiveis por favor marque noutro dia !")
frozen = 1
main()
else:
frozen = 0
else:
if cont == 1:
print("Horario de manha cheio ! A
verificar horario de tarde ...")
elif cont == 2:
print("Consulta nao foi possivel 2")
medico.remove(medico[j])
print(medico)
if len(medico) == 0:
print("Nao ha mais medicos
disponiveis por favor marque noutro dia !")
frozen = 1
main()
else:
frozen = 0
if frozen == 0:
break
menu_utente(user)
if b == 2:
sql = "SELECT * FROM consulta WHERE idutente = %s"
#selecionar todas as consultas do utente indicado
var = (user,)
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
i = 0
for x in myresult:
print("------------------------------")
i = i + 1
print(str(i) + " - Consulta:") #selecionar a consulta que
quer cancelar
id_consulta = x[0] #id consulta
sel_consulta = int()
while sel_consulta < 1 or sel_consulta > i:
sel_consulta = int(input("Selecione a consulta a cancelar:
"))
mycursor.execute(sql, adr)
mydb.commit()
for x in myresult:
sql = "SELECT nomemedico FROM medico WHERE idmedico = %s"
var = (x[2],)
mycursor.execute(sql, var)
resultadonome = mycursor.fetchall()
for y in resultadonome:
print("------------------------------")
print("nºde consulta: " + str(x[0]))
print("Medico:" + str(y[0]))
print("DATA/HORA: " + str(x[3]))
menu_utente(user)
if c == 1:
mycursor.execute(sql,var)
myresult = mycursor.fetchall()
for x in myresult:
print('Limite: Hora de inicio do trabalho: ' +
str(x[0]))
print('Limite: Hora de fim do trabalho: '+ str(x[1]))
y = 0
if y == 1:
hora = int(input("Hora de inicio:"))
minuto = int(input("Minuto de inicio:"))
horarioinicio = datetime.time(hora, minuto, 00)
horarioinicio = str(horarioinicio)
thorarioinicio =
datetime.datetime.strptime(horarioinicio, '%H:%M:%S')
deltainicio =
datetime.timedelta(hours=thorarioinicio.hour,
minutes=thorarioinicio.minute,
seconds=thorarioinicio.second)
thorariofim =
datetime.datetime.strptime(horariofim, '%H:%M:%S')
deltafim =
datetime.timedelta(hours=thorariofim.hour, minutes=thorariofim.minute,
seconds=thorariofim.second)
mycursor.execute(sql,var)
myresult = mycursor.fetchall()
if len(myresult) == 2:
print("ERRO CHEIO")
elif len(myresult) == 1:
for varios in myresult:
datafim = varios[3]
datainicio = varios[2]
if datafim <=
datetime.timedelta(hours=12):
print("ERRO ! Horario da manha ja
registrado !")
else:
print("HORARIO DA MANHA")
mycursor.execute(sql, val)
mydb.commit()
print("Sucesso ! Horario da manha
inserido !")
else:
print("HORARIO DA MANHA")
mycursor.execute(sql, val)
mydb.commit()
print("Sucesso ! Horario da manha
inserido !")
elif y == 2:
hora = int(input("Hora de inicio:"))
minuto = int(input("Minuto de inicio:"))
horarioinicio = datetime.time(hora, minuto, 00)
horarioinicio = str(horarioinicio)
thorarioinicio =
datetime.datetime.strptime(horarioinicio, '%H:%M:%S')
deltainicio =
datetime.timedelta(hours=thorarioinicio.hour,
minutes=thorarioinicio.minute,
seconds=thorarioinicio.second)
thorariofim =
datetime.datetime.strptime(horariofim, '%H:%M:%S')
deltafim =
datetime.timedelta(hours=thorariofim.hour, minutes=thorariofim.minute,
seconds=thorariofim.second)
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
if len(myresult) == 2:
print("ERRO: CHEIO")
elif len(myresult) == 1:
for varios in myresult:
datafim = varios[3]
datainicio = varios[2]
if datainicio >
datetime.timedelta(hours=13):
print("ERRO ! Horario da tarde ja
registrado !")
else:
print("HORARIO DA TARDE")
mycursor.execute(sql, val)
mydb.commit()
print("Sucesso ! Horario da tarde
inserido !")
else:
print("HORARIO DA TARDE")
sql = """INSERT INTO horario
(idmedico,horainicio,horafim) VALUES (%s,%s,%s) """
val = (medico, horarioinicio,
horariofim)
mycursor.execute(sql, val)
mydb.commit()
print("Sucesso ! Horario da tarde
inserido !")
else:
print("ERRO: OPCAO INSERIDA INVALIDA")
else:
print("ERRO: OPCAO INSERIDA INVALIDA")
else:
print("ERRO: OPCAO INSERIDA INVALIDA")
menu_medico(medico)
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
for x in myresult:
print('Limite: De hora que inicia o trabalho: '
+str(x[0]))
print('Limite: De hora que termina o trabalho: ' +
str(x[1]))
y = 0
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
for x in myresult:
print('---------------------------------------
----------------')
if datetime.timedelta(hours=8, minutes=0,
seconds=0) < x[2] < datetime.timedelta(hours=12, minutes=0,
seconds=0):
print('Horario inicio da manhã: ' +
str(x[2]))
print('Horario fim da manhã: ' +
str(x[3]))
if len(myresult) == 0:
print("ERRO ! Crie primeiro uma mancha horaria
!")
break
else:
cont = 0
for z in myresult:
cont = cont + 1 # Aparecer as opções
print(str(cont) + " - " + str(z))
y = int(input("Selecione um horario:"))
if y == 1:
sql = "SELECT * FROM horario WHERE idmedico = %s"
var = (medico,)
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
horarioescolhido = myresult[y-1]
if horarioescolhido[3] <=
datetime.timedelta(hours=12):
hora = 0
minuto = 1
hora2 = 0
minuto2 = 1
while hora < 8 or hora > 12:
hora = int(input("Hora de inicio:"))
while minuto != 0 and minuto != 30:
minuto = int(input("Minuto de inicio:"))
thorarioinicio =
datetime.datetime.strptime(horarioinicio, '%H:%M:%S')
deltainicio =
datetime.timedelta(hours=thorarioinicio.hour,
minutes=thorarioinicio.minute,
seconds=thorarioinicio.second)
thorariofim =
datetime.datetime.strptime(horariofim, '%H:%M:%S')
deltafim =
datetime.timedelta(hours=thorariofim.hour, minutes=thorariofim.minute,
seconds=thorariofim.second)
mycursor.execute(sql, val)
mydb.commit()
mycursor.execute(sql, var)
myresult = mycursor.fetchall()
for z in myresult:
print(z)
horarioescolhido = z
if horarioescolhido[2] >=
datetime.timedelta(hours=13):
hora = 0
minuto = 1
hora2 = 0
minuto2 = 1
while hora < 13 or hora > 20:
hora = int(input("Hora de inicio:"))
while minuto != 0 and minuto != 30:
minuto = int(input("Minuto de inicio:"))
print(minuto)
thorarioinicio =
datetime.datetime.strptime(horarioinicio, '%H:%M:%S')
deltainicio =
datetime.timedelta(hours=thorarioinicio.hour,
minutes=thorarioinicio.minute,
seconds=thorarioinicio.second)
thorariofim =
datetime.datetime.strptime(horariofim, '%H:%M:%S')
deltafim =
datetime.timedelta(hours=thorariofim.hour, minutes=thorariofim.minute,
seconds=thorariofim.second)
mycursor.execute(sql, val)
mydb.commit()
mycursor.execute(sql)
myresult = mycursor.fetchall()
for z in myresult:
print(z)
else:
print("ERRO")
else:
print("ERRO")
else:
print("ERRO 1")
menu_medico(medico)
if c == 3:
#Listar os utentes com consulta marcada numa determinada
data e mancha horária
hora = int(input("Hora de inicio:"))
minuto = int(input("Minuto de inicio:"))
horarioinicio = time(hora, minuto, 00)
hora2 = int(input("Hora de fim:"))
minuto2 = int(input("Minuto de fim:"))
horariofim = time(hora2, minuto2, 00)
dia = int(input('Dia:'))
mes = int(input('Mês:'))
ano = int(input('Ano:'))
data = datetime.date(ano, mes, dia)
for x in myresult:
sql = "SELECT nomeutente FROM utente WHERE idutente =
%s"
var = (x[1],)
mycursor.execute(sql, var)
resultadonome = mycursor.fetchall()
for y in resultadonome:
print('---------------------------------')
print("nºde consulta: " + str(x[0]))
print("Utente:" + str(y[0]))
print("DATA/HORA: " + str(x[3]))
if len(myresult)==0:
print("Não existem consultas nesta data no horario
indicado!")
if rtipo == 1: #utente
nome = input("Nome:")
apelido = input("Apelido:")
nif = input("NIF:")
morada = input("Morada:")
idade = input("Idade:")
id = None
sql = """INSERT INTO utente
(idutente,nomeutente,apelidoutente,nifutente,moradautente,idadeutente)
VALUES (%s, %s, %s, %s, %s, %s)"""
val = (id, nome, apelido, nif, morada, idade)
mycursor.execute(sql, val)
mydb.commit()
for x in myresult:
print("id: " + str(x[0]))
if rtipo == 2: #medico
nome = input("Nome:")
apelido = input("Apelido:")
nif = input("NIF:")
morada = input("Morada:")
idade = input("Idade:")
id = None
esp = int()
while esp < 1 or esp > 6:
esp = int(input(
"1 - Ginecologia/Obstetricia\n2 -
Oftamologia\n3 - Otorrinolaringologia\n4-Urologia\n5-Pediatria\n6-
Cardiologia\nInsira a sua especialidade:"))
hora = int(input("Hora de inicio:"))
minuto = int(input("Minuto de inicio:"))
horarioinicio = time(hora, minuto, 00)
hora2 = int(input("Hora de fim:"))
minuto2 = int(input("Minuto de fim:"))
horariofim = time(hora2, minuto2, 00)
mycursor.execute(sql, val)
mydb.commit()
for x in myresult:
print("id: " + str(x[0]))
if ca == 2: #Atualizar utente ou medico
rtipo = int()
while rtipo < 1 or rtipo > 2:
rtipo = int(input("1 - Utente \n2 - Medico\nTipo de
User:"))
if rtipo == 1: #utente
sql = "SELECT * FROM utente"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print('ID:'+ str(x[0]))
print('Nome:'+ str(x[1]))
print('Apelido: '+ str(x[2]))
print('Nif: '+ str(x[3]))
print('Morada' + str(x[4]))
print('Idade: ' + str(x[5]))
print("------------------------------")
user = int()
while user < 1 or user > len(myresult):
user = int(input("Escolha o seu user:"))
nome = input("Nome:")
apelido = input("Apelido:")
nif = input("NIF:")
morada = input("Morada:")
idade = input("Idade:")
id = user
sql = """UPDATE utente SET nomeutente =
%s,apelidoutente = %s,nifutente = %s,moradautente = %s,idadeutente =
%s WHERE idutente = %s"""
val = (nome, apelido, nif, morada, idade, id)
mycursor.execute(sql, val)
mydb.commit()
if rtipo == 2: #medico
for x in myresult:
print('ID:' + str(x[0]))
print('Nome:' + str(x[1]))
print('Apelido: ' + str(x[2]))
print('Nif: ' + str(x[3]))
print('Idade: ' + str(x[4]))
print('Morada: ' + str(x[5]))
medico = int()
while medico < 1 or medico > len(myresult):
medico = int(input("Escolha o seu medico:"))
nome = input("Nome:")
apelido = input("Apelido:")
nif = input("NIF:")
morada = input("Morada:")
idade = input("Idade:")
id = None
esp = int()
while esp < 1 or esp > 6:
esp = int(input(
"1 - Ginecologia/Obstetricia\n2 -
Oftamologia\n3 - Otorrinolaringologia\n4-Urologia\n5-Pediatria\n6-
Cardiologia\nInsira a sua especialidade:"))
hora = int(input("Hora de inicio:"))
minuto = int(input("Minuto de inicio:"))
horarioinicio = time(hora, minuto, 00)
hora2 = int(input("Hora de fim:"))
minuto2 = int(input("Minuto de fim:"))
horariofim = time(hora2, minuto2, 00)
mycursor.execute(sql, val)
mydb.commit()
esp = int(input(
"1 - Ginecologia/Obstetricia\n2 - Oftamologia\n3 -
Otorrinolaringologia\n4-Urologia\n5-Pediatria\n6-Cardiologia\nInsira a
sua especialidade:"))
sql = "SELECT * FROM medico WHERE idespecialidade = %s"
val2 = (esp,)
mycursor.execute(sql, val2)
myresult = mycursor.fetchall()
for x in myresult:
sql = "SELECT * FROM consulta WHERE idmedico = %s AND
DATE(dataconsulta) <= %s" # consultas marcadas na proxima semana
val2 = (x[0], today)
mycursor.execute(sql, val2)
myresult2 = mycursor.fetchall()
for y in myresult2:
print('----------------------------------')
print("nºde consulta: " + str(y[0]))
print("DATA/HORA: " + str(y[3]))
if resultado2[1] >= 2:
sql = "SELECT nomeutente FROM utente WHERE idutente =
%s"
var = (resultado2[0],)
mycursor.execute(sql, var)
res = mycursor.fetchall()
for x in res:
print(x[0])
main()
if d == 5:
main()
main()
mycursor.close() #fechar conexao ao sql
mydb.close()