예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
 def getLotes(self):
     con = sqlConnection()
     cursorObj = con.cursor()
     cursorObj.execute('SELECT * FROM lote_vacunas')
     # Se trae el valor individual de la tabla lote_vacunas que concuerda con (noLote)
     resultados = cursorObj.fetchall()
     con.close()
     if len(resultados) != 0:
         listaDeLotes = []
         for resultado in resultados:
             self.lote = model.Lote()
             self.lote.noLote = resultado[0]
             self.lote.fabricante = resultado[1]
             self.lote.tipoVacuna = resultado[2]
             self.lote.cantidadRecibida = resultado[3]
             self.lote.cantidadAsignada = resultado[4]
             self.lote.cantidadUsada = resultado[5]
             self.lote.dosisNecesaria = resultado[6]
             self.lote.temperatura = resultado[7]
             self.lote.efectividad = resultado[8]
             self.lote.tiempoProteccion = resultado[9]
             self.lote.fechaVencimiento = resultado[10]
             listaDeLotes.append(self.lote)
         return listaDeLotes
     else:
         return False
예제 #5
0
 def getVacunaDisponible(self):
     con = sqlConnection()
     cursorObj = con.cursor()
     cursorObj.execute(
         'SELECT noLote FROM lote_vacunas WHERE cantidadAsignada<cantidadRecibida'
     )
     resultado = cursorObj.fetchone()
     con.close()
     if resultado != None:
         self.lote = model.Lote()
         self.lote.noLote = resultado[0]
         return self.lote
     return False
예제 #6
0
 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)
예제 #7
0
 def __init__(self) -> None:
     self.lote = model.Lote()
     self.logicaLote = logic.Lote()
예제 #8
0
 def __init__(self) -> None:
     self.lote = model.Lote()
     self.metodosConexionLote = connect.Lote()
예제 #9
0
 def __init__(self) -> None:
     self.lote = model.Lote()
     self.id = None