def getProgramacionCompleta(self, datoConsulta): con = sqlConnection() cursorObj = con.cursor() # se seleccionan variables de la tabla programacion_vacunas y se unen los valores que coincidan con el método INNER JOIN cursorObj.execute( '''SELECT pc.noId, pc.nombre, pc.apellido, pc.direccion, pc.telefono, pc.correo, pgv.fechaProgramada, pgv.horaProgramada, lv.noLote, lv.fabricante FROM programacion_vacunas pgv INNER JOIN pacientes pc ON (pc.noid = pgv.noid) INNER JOIN lote_vacunas lv ON (lv.noLote = pgv.noLote) ORDER BY {}'''.format(datoConsulta)) citasProgramadas = cursorObj.fetchall() con.close() if len(citasProgramadas) != 0: listaDeCitas = [] for resultado in citasProgramadas: self.persona = model.Persona() self.persona.noId = resultado[0] self.persona.nombre = resultado[1] self.persona.apellido = resultado[2] self.persona.direccion = resultado[3] self.persona.telefono = resultado[4] self.persona.correo = resultado[5] self.programacion = model.ProgramacionDeVacunas() self.programacion.fechaProgramada = resultado[6] self.programacion.horaProgramada = resultado[7] self.lote = model.Lote() self.lote.noLote = resultado[8] self.lote.fabricante = resultado[9] listaDeCitas.append( [self.persona, self.programacion, self.lote]) return listaDeCitas else: return False
def getProgramacionIndividual(self, id): con = sqlConnection() cursorObj = con.cursor() # se seleccionan variables de la tabla programacion_vacunas y se unen los valores que coincidan con el método INNER JOIN cursorObj.execute( '''SELECT pc.noId, pc.nombre, pc.apellido, pc.direccion, pc.telefono, pc.correo, pgv.fechaProgramada, pgv.horaProgramada, lv.noLote, lv.fabricante FROM programacion_vacunas pgv INNER JOIN pacientes pc ON (pc.noid = pgv.noid) INNER JOIN lote_vacunas lv ON (lv.noLote = pgv.noLote) WHERE pgv.noId = {}'''.format(id)) resultado = cursorObj.fetchone() con.close() if resultado != None: self.persona = model.Persona() self.persona.noId = resultado[0] self.persona.nombre = resultado[1] self.persona.apellido = resultado[2] self.persona.direccion = resultado[3] self.persona.telefono = resultado[4] self.persona.correo = resultado[5] self.programacion = model.ProgramacionDeVacunas() self.programacion.fechaProgramada = resultado[6] self.programacion.horaProgramada = resultado[7] self.lote = model.Lote() self.lote.noLote = resultado[8] self.lote.fabricante = resultado[9] return self.persona, self.programacion, self.lote return False
def getCitasAProgramar(self): con = sqlConnection() cursorObj = con.cursor() cursorObj.execute( '''SELECT pgv.*, plv.fechaInicio, plv.fechaFinal, pc.correo, lv.fabricante FROM programacion_vacunas pgv INNER JOIN plan_vacunacion plv ON (plv.idPlan = pgv.idPlan) INNER JOIN pacientes pc ON (pc.noid = pgv.noid) INNER JOIN lote_vacunas lv ON (lv.noLote = pgv.noLote) WHERE fechaProgramada IS NULL''') citaAProgramar = cursorObj.fetchall() con.close() if len(citaAProgramar) != 0: listaDeCitas = [] for resultado in citaAProgramar: self.programacion = model.ProgramacionDeVacunas() self.programacion.idCita = resultado[0] self.programacion.noId = resultado[1] self.programacion.noLote = resultado[2] self.programacion.idPlan = resultado[3] self.programacion.ciudadVacunacion = resultado[4] self.programacion.fechaProgramada = resultado[5] self.programacion.horaProgramada = resultado[6] self.plan = model.PlanDeVacunacion() self.plan.fechaInicio = resultado[7] self.plan.fechaFinal = resultado[8] self.persona = model.Persona() self.persona.correo = resultado[9] self.lote = model.Lote() self.lote.fabricante = resultado[10] listaDeCitas.append( [self.programacion, self.plan, self.persona, self.lote]) return listaDeCitas else: return False return citaAProgramar
def __init__(self): super(mywindow, self).__init__() self.ui = Ui_crearUsuario() self.ui.setupUi(self) self.persona = model.Persona() self.logicaPersona = logic.Persona() self.ui.pushButton.clicked.connect(self.btnBuscarClicked) self.ui.pushButton_2.clicked.connect(self.btnGuardarClicked)
def abrir_consultarAfiliado(self): self.crearConsultarAfiliadoWindow = QtWidgets.QMainWindow() self.ui = Ui_ConsultarUsuario() self.ui.setupUi(self.crearConsultarAfiliadoWindow) self.crearConsultarAfiliadoWindow.show() self.persona = model.Persona() self.logicaPersona = logic.Persona() self.ui.BuscarNoIdConsultaUsuario.clicked.connect( self.BuscarNoIdConsultaUsuarioClicked)
def abrir_crearVacunado(self): self.crearVacunadoWindow = QtWidgets.QMainWindow() self.ui = Ui_MainWindow() self.ui.setupUi(self.crearVacunadoWindow) self.crearVacunadoWindow.show() self.persona = model.Persona() self.logicaPersona = logic.Persona() self.ui.pushButton.clicked.connect(self.btnBuscarClicked) self.ui.pushButton_2.clicked.connect(self.btnGuardarClicked)
def __init__(self): super(PropMainWindow, self).__init__() self.ui = Ui_PropMainWindow() self.ui.setupUi(self) self.persona = model.Persona() self.logicaPersona = logic.Persona() self.lote = model.Lote() self.logicaLote = logic.Lote() self.ui.actionCrear_5.triggered.connect(self.abrir_crearVacunado) self.ui.actionCrear.triggered.connect(self.abrir_crearLote) self.ui.actionConsultar_Afiliado.triggered.connect( self.abrir_consultarAfiliado) self.ui.DocumentacionUsuario.clicked.connect(self.ayudaUsuario)
def getPacientesAVacunar(self, edadMinima, edadMaxima): con = sqlConnection() cursorObj = con.cursor() # Se toman datos de la tabla paciente según un rango de edad tomado de los valores de (planVacunacion) cursorObj.execute( '''SELECT noId, ciudad, CAST((julianday("now") - julianday(fechaNacimiento))/365.25 as INTEGER) as Edad FROM pacientes WHERE (Edad >= {}) AND (Edad <= {}) AND vacunado = "N" AND fechaDesafiliacion is Null''' .format(edadMinima, edadMaxima)) resultados = cursorObj.fetchall() con.close() if len(resultados) != 0: listaDePacientes = [] for resultado in resultados: self.persona = model.Persona() self.persona.noId = resultado[0] self.persona.ciudad = resultado[1] self.persona.edad = resultado[2] listaDePacientes.append(self.persona) return listaDePacientes else: return False
def imprimirMenu(self): # Se genera un bucle que solo se detiene cunado (opcion) sea igual a 4 while True: opcion = input( 'Ingrese el número de la opcion que desea realizar:\n' + '1. Crear la programación de vacunas\n' + '2. Consultar la programación de vacunas\n' + '3. Consultar vacunación de un paciente\n' + '4. Atras\n') # Si la variable (opcion) no esta vacía se convertirá a un número entero if opcion != '': opcion = int(opcion) # Si (opcion) es igual a 1, se inicia la función programacionDeVacunacion() if opcion == 1: message = self.logicaProgramacion.crearProgramacion( self.pedirFechaInicio()) if message[0]: print('{}\n{}\n'.format(message[0], message[1])) else: print(message[1] + '\n') elif opcion == 2: # se inicia un bucle para obtener un dato de consulta según lo elija el usuario, este bucle solo se detendrá cuando (opcion) sea 11 while True: opcion = input( 'Por que campo desea organizar la consulta:\n' + '1. Número de Identificación\n' + '2. Nombre\n' + '3. Apellido\n' + '4. Dirección\n' + '5. Teléfono\n' + '6. Correo\n' + '7. Fecha Programada\n' + '8. Hora Programada\n' + '9. Número de lote\n' + '10. Fabricante\n' + '11. Salir de la consulta\n' + '') # Si la variable (opcion) no esta vacía se convertirá a un número entero if opcion != '': opcion = int(opcion) # Se realiza una selección para organizar la consulta según (opcion) digitada por el usuario if 1 <= opcion <= 10: datoConsulta = opcion - 1 elif opcion == 11: break else: continue else: continue # Se llama a la función consultarProgramacionCompleta() con la entrada (datoConsulta) citasProgramadas = self.logicaProgramacion.consultarProgramacionCompleta( datoConsulta) if citasProgramadas: for cita in citasProgramadas: persona = cita[0] programacion = cita[1] lote = cita[2] print("No. Identificación: ", persona.noId) print("Nombre: ", persona.nombre) print("Apellido: ", persona.apellido) print("Dirección: ", persona.direccion) print("Teléfono: ", persona.telefono) print("Correo: ", persona.correo) print("Fecha programada: ", programacion.fechaProgramada) print("Hora programada: ", programacion.horaProgramada) print("Número de lote de vacuna: ", lote.noLote) print("Fabricante de la vacuna: ", lote.fabricante) print('\n') # Si (opcion) es igual a 3, se inicia la función consultarProgramacionIndividual() elif opcion == 3: texto = 'Ingrese a continuación el documento de identidad de la persona cuya cita desea consultar:\n' self.persona = model.Persona() resultado = self.logicaProgramacion.consultarProgramacionIndividual( self.pedirDocumento(texto)) if resultado: persona = resultado[0] programacion = resultado[1] lote = resultado[2] print("No. Identificación: ", persona.noId) print("Nombre: ", persona.nombre) print("Apellido: ", persona.apellido) print("Dirección: ", persona.direccion) print("Teléfono: ", persona.telefono) print("Correo: ", persona.correo) print("Fecha programada: ", programacion.fechaProgramada) print("Hora programada: ", programacion.horaProgramada) print("Número de lote de vacuna: ", lote.noLote) print("Fabricante de la vacuna: ", lote.fabricante) print('\n') # se muestra mensaje si (resultado) esta vacío else: print('El paciente no tiene cita.\n') # el programa deja el bucle por medio de la función break elif opcion == 4: break else: continue
def __init__(self) -> None: self.persona = model.Persona() self.logicaPersona = logic.Persona()
def __init__(self) -> None: self.persona = model.Persona() self.metodosConexionPersona = connect.Persona()
def __init__(self) -> None: self.persona = model.Persona() self.id = None