def medicoExiste(dni): sqlmedicoExiste = (f"SELECT COUNT(*) FROM medico WHERE Medico_DNI = {dni}") cursor = mydb.cursor() cursor.execute(sqlmedicoExiste) #Guarda el resultado resultado = cursor.fetchone() return resultado
def obtenerPacientes(): cursor = mydb.cursor() consulta = " SELECT paciente_DNI, nombre, apellido, telefono from paciente;" cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado
def existe_usuario(usuario): cursor = mydb.cursor() consulta = (f'select count(*) from usuario where userName="******";') cursor.execute(consulta) resultado = cursor.fetchone() cursor.close() return resultado[0]
def insertarPaciente(dni, nombre, apellido, telefono): sqlInsertarPaciente = 'insert into paciente(Paciente_DNI,Nombre,Apellido,Telefono)value(%s,%s,%s,%s)' cursor = mydb.cursor() cursor.execute(sqlInsertarPaciente, (dni, nombre, apellido, telefono)) # Guarda los valores ingresado en la tabla mydb.commit() # IMPORTANTE: Se quito esto porque cerraba la conexion y no me permitia guardar mas de un paciente a la vez. cursor.close()
def existe(dni): cursor = mydb.cursor() consulta = ( f"select count(*) from personal where personal_DNI={dni} and rol_ID=3") cursor.execute(consulta) resultado = cursor.fetchone() cursor.close() return resultado[0]
def insertar_usuario(user_name, password): cursor = mydb.cursor() consulta = "insert into usuario(userName, password) value(%s,%s);" cursor.execute(consulta, (user_name, password)) mydb.commit() resultado_usuarioID = select_IDuser(user_name) cursor.close() return resultado_usuarioID
def select_IDuser(user_name): cursor = mydb.cursor() consulta = ( f'select usuario_ID from usuario where userName = "******";') cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado[0][0]
def agregar_turno(medico_ID, secretario_ID, fecha_Hora, paciente_DNI, estado): sqlconsulta = "insert into turno (medico_ID,secretario_ID,fecha_Hora,paciente_DNI,estado) values (%s,%s,%s,%s,%s)" cursor = mydb.cursor() cursor.execute( sqlconsulta, (medico_ID, secretario_ID, fecha_Hora, paciente_DNI, estado)) mydb.commit() cursor.close()
def pacienteExiste(dni): sqlPacienteExiste = ( f"SELECT COUNT(*) FROM paciente WHERE Paciente_DNI = {dni}") cursor = mydb.cursor() cursor.execute(sqlPacienteExiste) #Guarda el resultado resultado = cursor.fetchone() return resultado
def existe_turno(medico_ID, fecha_Hora): consultaTurno = ( f"select count(*) from turno where medico_ID={medico_ID} and fecha_Hora='{fecha_Hora}';" ) cursor = mydb.cursor() cursor.execute(consultaTurno) resultado = cursor.fetchone() cursor.close() return resultado[0]
def logIn(userName, password): cursor = mydb.cursor() consulta = ( f'SELECT u.usuario_id, u.username, p.personal_dni, r.rol_id, r.nombre_rol, p.nombre, p.apellido FROM usuario u inner join personal p on u.Usuario_ID = p.Usuario_ID inner join rol r on p.Rol_ID = r.Rol_ID WHERE u.userName = "******" AND u.password = "******" AND u.Usuario_ID in (SELECT distinct (Usuario_ID) FROM personal );' ) cursor.execute(consulta) resultado = cursor.fetchone() cursor.close() return resultado
def cargar_turnos(): cursor = mydb.cursor() consulta = """SELECT T.turno_ID, T.fecha_hora, concat(P.nombre,', ', P.apellido) as 'nombreMedico', concat(PS.nombre,', ', PS.apellido) as 'nombrePaciente' from turno T inner join personal P on T.medico_ID = P.personal_DNI inner join paciente PS on T.paciente_DNI = PS.paciente_DNI where T.estado = true order by T.fecha_hora""" cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado
def obtenerMedicos(): cursor = mydb.cursor() consulta = """SELECT p.personal_dni, p.nombre, p.apellido, p.telefono FROM personal AS p INNER JOIN usuario AS u ON p.usuario_id = u.usuario_id INNER JOIN rol AS r ON p.rol_id = r.rol_id WHERE r.rol_id = 3;""" cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado
def filtrar_por_medico(nombre_medico): cursor = mydb.cursor() consulta = ( f"""SELECT T.turno_ID, T.fecha_hora, concat(P.nombre,', ', P.apellido) as 'nombreMedico', concat(PS.nombre,', ', PS.apellido) as 'nombrePaciente' from turno T inner join personal P on T.medico_ID = P.personal_DNI inner join paciente PS on T.paciente_DNI = PS.paciente_DNI where T.estado = true and concat(P.nombre,', ', P.apellido) like "%{nombre_medico}%" and T.fecha_hora >= "{fechaActual}" order by concat(P.nombre,', ', P.apellido), T.fecha_hora ASC""") cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado
def filtrar_por_fechaHora(fechaHora): cursor = mydb.cursor() consulta = (f""" SELECT T.turno_ID, T.fecha_hora, concat(P.nombre,', ', P.apellido) as 'nombreMedico', concat(PS.nombre,', ', PS.apellido) as 'nombrePaciente' from turno T inner join personal P on T.medico_ID = P.personal_DNI inner join paciente PS on T.paciente_DNI = PS.paciente_DNI where fecha_Hora between '{fechaHora}' AND '{fechaHora}' + interval 59 minute order by T.fecha_hora ASC""") cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado
def filtrar_para_medico(dniMedico): cursor = mydb.cursor() consulta = ( f"""SELECT T.turno_ID, T.fecha_hora, concat(PS.nombre,', ', PS.apellido), PS.paciente_DNI from turno T inner join personal P on T.medico_ID = P.personal_DNI inner join paciente PS on T.paciente_DNI = PS.paciente_DNI where T.estado = true and P.personal_DNI = {dniMedico} and T.fecha_hora >= "{fechaActual}" order by T.fecha_hora ASC """) cursor.execute(consulta) resultado = cursor.fetchall() cursor.close() return resultado
def select_pacientes(): try: if mydb.is_connected(): print(mydb) cursor = mydb.cursor() consulta = 'SELECT personal_DNI,nombre, apellido, telefono FROM personal WHERE rol_id = 3;' cursor.execute(consulta) resultado = cursor.fetchall() return resultado except Error as e: print("Error while connecting to MySQL", e) finally: #closing database connection. if (mydb.is_connected()): cursor.close()
def obtenerTurnos(desde, hasta): try: if mydb.is_connected(): cursor = mydb.cursor() consulta = ( f"""SELECT CAST(fecha_Hora as date) AS 'Dia', HOUR(CAST(fecha_Hora as time)) AS 'Hora', count(*) 'Total' FROM turno WHERE fecha_Hora BETWEEN '{desde}' AND '{hasta}' AND estado = true GROUP BY CAST(fecha_Hora as date), HOUR(CAST(fecha_Hora as time)) ORDER BY CAST(fecha_Hora as date), HOUR(CAST(fecha_Hora as time)); """) cursor.execute(consulta) resultado = cursor.fetchall() return resultado except Error as e: print("Error while connecting to MySQL", e) finally: #closing database connection. if (mydb.is_connected()): cursor.close()
def insert_personal(dni, usuario, rol, nombre, apellido, telefono): cursor = mydb.cursor() consulta = "INSERT into personal(Personal_DNI, Usuario_ID, Rol_ID, Nombre, Apellido, Telefono)values(%s,%s,%s,%s,%s,%s)" cursor.execute(consulta, (dni, usuario, rol, nombre, apellido, telefono)) mydb.commit() cursor.close()