예제 #1
0
 def crear(self):
     """
     Da de alta un medicamento nuevo y lo almacena en la base de datos.
     :return:
     """
     if self.monodroga == None:
         QtGui.QMessageBox.warning(self, 'Atención', 'No se ha seleccionado ninguna Monodroga de la tabla.',
                                   'Aceptar')
     else:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             medicamento = MedicamentoModel(str(self.lineNombre_Med.text()), self.monodroga,
                                            str(self.spinCantidad.value()))
             if medicamento.guardar(self.sesion):
                 QtGui.QMessageBox.information(self, 'Info', 'El Medicamento fue dado de alta.', 'Aceptar')
                 self.limpiarCampos()
                 self.objectCreated.emit()
             else:
                 medicamento = MedicamentoModel.buscar(MedicamentoModel.nombre_comercial, self.sesion,
                                                   str(self.lineNombre_Med.text())).first()
                 if medicamento.getBaja():
                     medicamento.setBaja(False)
                     medicamento.modificar(self.sesion)
                     QtGui.QMessageBox.information(self, 'Info', 'El Medicamento fue dado de alta.',
                                               'Aceptar')
                     self.limpiarCampos()
                     self.objectCreated.emit()
                 else:
                     QtGui.QMessageBox.critical(self, 'Error', 'El Medicamento ya existe.', 'Aceptar')
         else:
             QtGui.QMessageBox.warning(self, 'Atención', 'Hay datos obligatorios que no fueron completados.',
                                       'Aceptar')
예제 #2
0
 def cargarMedicamentos(self):
     """
     Carga la tabla de los medicamentos con los datos de todos los medicamentos disponibles.
     :return:
     """
     self.cargarObjetos(self.tablaMedicamento,
         MedicamentoModel.buscarTodos("nombre_comercial", self.sesion).all(),
         ("nombre_comercial", "id_monodroga", "cantidad_monodroga")
     )
예제 #3
0
 def cargarMedicamentos(self):
     """
     Carga los datos de los medicamentos en las tablas de la ventana.
     :return:
     """
     self.cargarObjetos(self.tablaMedicamento,
         MedicamentoModel.buscarTodos("nombre_comercial", self.sesion).all(),
         ("nombre_comercial", "id_monodroga", "cantidad_monodroga")
     )
예제 #4
0
 def cargarMedicamentos(self):
     """
     Carga la tabla de los medicamentos con los datos de todos los medicamentos disponibles.
     :return:
     """
     self.cargarObjetos(
         self.tablaMedicamento,
         MedicamentoModel.buscarTodos("nombre_comercial",
                                      self.sesion).all(),
         ("nombre_comercial", "id_monodroga", "cantidad_monodroga"))
예제 #5
0
 def buscarMedicamento(self):
     """
     Busca y carga en la tabla los datos de un medicamento para un nombre ingresado.
     :return:
     """
     self.limpiarTabla(self.tablaMedicamento)
     self.cargarObjetos(self.tablaMedicamento,
         MedicamentoModel.buscarLike(MedicamentoModel.nombre_comercial, self.sesion,
                                     str(self.lineNombre_Med.text())).all(),
         ("nombre_comercial", "id_monodroga", "cantidad_monodroga")
     )
예제 #6
0
 def buscarMedicamento(self):
     """
     Busca y carga en la tabla los datos de un medicamento para un nombre comercial ingresado.
     :return:
     """
     self.limpiarTabla(self.tablaMedicamento)
     self.cargarObjetos(
         self.tablaMedicamento,
         MedicamentoModel.buscarLike(MedicamentoModel.nombre_comercial,
                                     self.sesion,
                                     str(self.lineNomb_Med.text())).all(),
         ("nombre_comercial", "id_monodroga", "cantidad_monodroga"))
예제 #7
0
 def modificar(self):
     """
     Modifica los datos del medicamento seleccionado.
     :return:
     """
     itemActual = self.tablaMedicamento.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             row = itemActual.row()
             nombre_comercial = str(self.tablaMedicamento.item(row, 0).text())
             self.medicamento = MedicamentoModel.buscarAlta(MedicamentoModel.nombre_comercial,
                                                 self.sesion, nombre_comercial).first()
             self.medicamento.setCantidadMonodroga(str(self.spinCantidad.value()))
             self.medicamento.setIdMonodroga(self.monodroga)
             self.medicamento.modificar(self.sesion)
             self.showMsjEstado("El Medicamento fue modificado")
             self.objectModified.emit()
             self.actualizar()
         else:
             self.showMsjEstado("Hay datos obligatorios que no fueron completados.")
     else:
         self.showMsjEstado("No se ha seleccionado un Medicamento de la tabla")
예제 #8
0
 def eliminar(self):
     """
     Da de baja el medicamento seleccionado
     :return:
     """
     itemActual = self.tablaMedicamento.currentItem()
     if itemActual == None:
         self.showMsjEstado("No se ha seleccionado ningun Medicamento de la tabla")
     else:
         row = itemActual.row()
         nombre_comercial = str(self.tablaMedicamento.item(row, 0).text())
         if self.bajaValida(ProductoModel, ProductoModel.id_medicamento, nombre_comercial):
             self.medicamento = MedicamentoModel.buscarAlta(MedicamentoModel.nombre_comercial,
                                                            self.sesion, nombre_comercial).first()
             self.medicamento.borrar(self.sesion)
             self.showMsjEstado("El Medicamento ha sido dado de baja.")
             self.tablaMedicamento.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.critical(self, 'Error', 'El Medicamento no puede ser dado de baja, '
                                                       'esta asignado a 1 ó más productos', 'Aceptar')
예제 #9
0
 def modificar(self):
     """
     Modifica los datos del medicamento seleccionado.
     :return:
     """
     itemActual = self.tablaMedicamento.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             row = itemActual.row()
             nombre_comercial = str(self.tablaMedicamento.item(row, 0).text())
             self.medicamento = MedicamentoModel.buscarAlta(MedicamentoModel.nombre_comercial,
                                                 self.sesion, nombre_comercial).first()
             self.medicamento.setCantidadMonodroga(str(self.spinCantidad.value()))
             self.medicamento.setIdMonodroga(self.monodroga)
             self.medicamento.modificar(self.sesion)
             QtGui.QMessageBox.information(self, 'Info', 'El Medicamento fue modificado.', 'Aceptar')
             self.objectModified.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.warning(self, 'Atención', 'Hay datos obligatorios que no fueron completados.',
                                       'Aceptar')
     else:
         QtGui.QMessageBox.warning(self, 'Atención', 'No se ha seleccionado un Medicamento de la tabla.',
                                   'Aceptar')