Beispiel #1
0
class viewPaciente(QtWidgets.QMainWindow, Ui_Paciente):
    def __init__(self,interfaz):
        QtWidgets.QMainWindow.__init__(self)
        Ui_Paciente.__init__(self) 
        self.setupUi(self)
        self.Paciente = Paciente()
        self.RellenarTabla()
        self.listaEmpleados.setSelectionBehavior(QtWidgets.QTableWidget.SelectRows) # seleccionar solo filas
        self.listaEmpleados.setSelectionMode(QtWidgets.QTableWidget.SingleSelection)
        self.interfaz = interfaz
        self.listaEmpleados.itemDoubleClicked.connect(self.EditPaciente)
        self.btnEliminar.clicked.connect(self.dropPaciente)
        self.btnBuscar.clicked.connect(self.Filtrar)


    def RellenarTabla(self):
        self.listaEmpleados.clear()
        self.listaEmpleados.setColumnCount(23)
        self.listaEmpleados.setHorizontalHeaderLabels(['Id', 'Cédula', 'Nombres', 'Apellidos', 'Fecha Nacimiento','Edad', '# Aportaciones', 'Dirección 1', 'Dirección 2', 'Teléfono 1', 'Teléfono 2', 'Email', 'Sueldo', 'Dias Laborales','Género', '   Nivel Académico', '# Cuenta', 'Discapacidad', 'Nombre Recomendado', 'Teléfono Recomendado', 'Celular Recomendado', 'Ciudad', 'Foto'])
        datos = self.Paciente.obtenerPacientes()
        self.listaEmpleados.setRowCount(len(datos))
        for i,row in enumerate(datos):
            for j,val in enumerate(row):
                self.listaEmpleados.setItem(i,j,QtWidgets.QTableWidgetItem(str(val)))

    def EditPaciente(self,clicked):
        #fila = clicked.row()
        self.interfaz.nuevoPaciente()
        datos = self.listaEmpleados.selectedItems()
        self.interfaz.viewFormulario.borrarCampos()
        self.interfaz.viewFormulario.txtID.setText(datos[0].text())
        self.interfaz.viewFormulario.txtCedula.setText(datos[1].text())
        self.interfaz.viewFormulario.txtNombres.setText(datos[2].text())
        self.interfaz.viewFormulario.txtApellidos.setText(datos[3].text())
        self.interfaz.viewFormulario.txtFecha.setDate(datetime.datetime.strptime(datos[4].text(), "%d/%m/%Y"))
        self.interfaz.viewFormulario.txtEdad.setValue(int(datos[5].text()))
        self.interfaz.viewFormulario.txtAport.setValue(int(datos[6].text()))
        self.interfaz.viewFormulario.txtDireccion1.setText(datos[7].text())
        self.interfaz.viewFormulario.txtDireccion2.setText(datos[8].text())
        self.interfaz.viewFormulario.txtTelefono1.setText(datos[9].text())
        self.interfaz.viewFormulario.txtTelefono2.setText(datos[10].text())
        self.interfaz.viewFormulario.txtCorreo.setText(datos[11].text())
        self.interfaz.viewFormulario.txtSueldo.setValue(float(datos[12].text()))
        self.interfaz.viewFormulario.txtDias.setValue(int(datos[13].text()))
        index1 = self.interfaz.viewFormulario.cbxSexo.findText(datos[14].text(), QtCore.Qt.MatchFixedString)
        if index1 >= 0:
            self.interfaz.viewFormulario.cbxSexo.setCurrentIndex(index1)
        index2 = self.interfaz.viewFormulario.cbxNivel.findText(datos[15].text(), QtCore.Qt.MatchFixedString)
        if index2 >= 0:
            self.interfaz.viewFormulario.cbxNivel.setCurrentIndex(index2)
        self.interfaz.viewFormulario.txtCuenta.setText(datos[16].text())
        index3 = self.interfaz.viewFormulario.cbxDiscapacidad.findText(datos[17].text(), QtCore.Qt.MatchFixedString)
        if index3 >= 0:
            self.interfaz.viewFormulario.cbxDiscapacidad.setCurrentIndex(index3)
        self.interfaz.viewFormulario.txtNombreRecom.setText(datos[18].text())
        self.interfaz.viewFormulario.txtTelefonoRecom.setText(datos[19].text())
        self.interfaz.viewFormulario.txtCelularRecom.setText(datos[20].text())
        self.interfaz.viewFormulario.txtCiudad.setText(datos[21].text())
        self.interfaz.viewFormulario.verImagen.setPixmap(QtGui.QPixmap(str(datos[22].text())))
        self.interfaz.viewFormulario.btnGuardar.setText("Modificar")
        self.interfaz.viewFormulario.fotoActual = str(datos[22].text())
        self.interfaz.viewFormulario.btnLimpiar.setEnabled(False)

    def dropPaciente(self):
        datos = self.listaEmpleados.selectedItems()
        if len(datos) <= 0:
            QtWidgets.QMessageBox.information(self, 'Información', 'Seleccione el usuario que desea eliminar', QtWidgets.QMessageBox.Ok)
        else:
            confirmar = QtWidgets.QMessageBox.question(self, "Información", "¿Seguro que desea eliminar los datos de este Paciente?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)
            if confirmar == QtWidgets.QMessageBox.Yes:
                QtWidgets.QMessageBox.information(self, 'Información', self.Paciente.dropPaciente(datos[0].text()), QtWidgets.QMessageBox.Ok)
                self.RellenarTabla()

    def Filtrar(self):
        item = self.cbxBusq.currentText()
        self.dato = self.txtBusq.text()
        self.listaEmpleados.clear()
        self.listaEmpleados.setColumnCount(23)
        self.listaEmpleados.setHorizontalHeaderLabels(['Id', 'Cédula', 'Nombres', 'Apellidos', 'Fecha Nacimiento','Edad', '# Aportaciones', 'Dirección 1', 'Dirección 2', 'Teléfono 1', 'Teléfono 2', 'Email', 'Sueldo', 'Dias Laborales','Género', '   Nivel Académico', '# Cuenta', 'Discapacidad', 'Nombre Recomendado', 'Teléfono Recomendado', 'Celular Recomendado', 'Ciudad', 'Foto'])
        if self.dato != '':
            if item == 'Cédula':
                datos = self.Paciente.buscarPacientePorCedula(self.dato)
            elif item == 'Apellidos':
                datos = self.Paciente.buscarPacientePorApellidos(self.dato)
            elif item == 'Nombres':
                datos = self.Paciente.buscarPacientePorNombres(self.dato)
            elif item == 'Ciudad':
                datos = self.Paciente.buscarPacientePorCiudad(self.dato)
        else:
            datos = self.Paciente.obtenerPacientes()
        self.listaEmpleados.setRowCount(len(datos))
        for i,row in enumerate(datos):
            for j,val in enumerate(row):
                self.listaEmpleados.setItem(i,j,QtWidgets.QTableWidgetItem(str(val)))