コード例 #1
0
 def modificar(self):
     """
     Modifica los datos de la presentación seleccionada.
     :return:
     """
     presActual = self.tablaPresentacion.currentItem()
     if presActual != None:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             if self.validarFracciones():
                 row = presActual.row()
                 tipo = str(self.tablaPresentacion.item(row, 0).text())
                 self.presentacion = PresentacionModel.buscarAlta(PresentacionModel.tipo,
                                                                  self.sesion, tipo).first()
                 self.presentacion.setUnidadMedida(str(self.lineUnidad_Medida.text()))
                 self.presentacion.setCantidadFracciones(str(self.spinCantidad.value()))
                 self.presentacion.setSubPresentacion(self.subPresentacion)
                 if self.subPresentacion != None:
                     self.setSuperPresentacion(str(self.lineTipo.text()))
                 if self.subPresentacionOld != None:
                     self.subPresentacion = self.subPresentacionOld
                     self.setSuperPresentacion(None)
                 self.presentacion.modificar(self.sesion)
                 QtGui.QMessageBox.information(self, 'Info', 'La Presentación fue modificada.', 'Aceptar')
                 self.objectModified.emit()
                 self.actualizar()
             else:
                 QtGui.QMessageBox.warning(self, 'Atención', 'Seleccione la Presentación en la '
                                           'cual puede fraccionarse la Presentación actual.', 'Aceptar')
         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 una Presentación de la tabla',
                                   'Aceptar')
コード例 #2
0
 def eliminar(self):
     """
     Da de baja la presentación seleccionada.
     :return:
     """
     itemActual = self.tablaPresentacion.currentItem()
     if itemActual == None:
         self.showMsjEstado(
             "No se ha seleccionado ninguna Presentación de la tabla")
     else:
         row = itemActual.row()
         tipo = str(self.tablaPresentacion.item(row, 0).text())
         if self.bajaValida(ProductoModel, ProductoModel.id_presentacion,
                            tipo):
             self.presentacion = PresentacionModel.buscarAlta(
                 PresentacionModel.tipo, self.sesion, tipo).first()
             self.presentacion.borrar(self.sesion)
             self.showMsjEstado("La Presentación ha sido eliminada")
             tipo = self.presentacion.getSubPresentacion()
             if tipo:
                 self.presentacion.setSubPresentacion(None)
                 self.presentacion.modificar(self.sesion)
                 self.presentacion = PresentacionModel.buscarAlta(
                     PresentacionModel.tipo, self.sesion, tipo).first()
                 self.presentacion.setSuperPresentacion(None)
                 self.presentacion.modificar(self.sesion)
             tipo = self.presentacion.getSuperPresentacion()
             if tipo:
                 self.presentacion.setSuperPresentacion(None)
                 self.presentacion.modificar(self.sesion)
                 self.presentacion = PresentacionModel.buscarAlta(
                     PresentacionModel.tipo, self.sesion, tipo).first()
                 self.presentacion.setSubPresentacion(None)
                 self.presentacion.modificar(self.sesion)
             self.tablaPresentacion.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.critical(
                 self, 'Error',
                 'La Presentación no puede ser dada de baja, '
                 'esta asignada a 1 ó más productos', 'Aceptar')
コード例 #3
0
 def setSuperPresentacion(self, superPresentacion):
     """
     Setea la referencia a la presentación fraccionable.
     :param superPresentacion: referencia a la presentación fraccionable.
     :return:
     """
     presentacion = PresentacionModel.buscarAlta(
         PresentacionModel.tipo, self.sesion, self.subPresentacion).first()
     presentacion.setSuperPresentacion(superPresentacion)
     presentacion.modificar(self.sesion)
     self.objectModified.emit()
コード例 #4
0
 def setSuperPresentacion(self, superPresentacion):
     """
     Setea la referencia a la presentación fraccionable.
     :param superPresentacion: referencia a la presentación fraccionable.
     :return:
     """
     presentacion = PresentacionModel.buscarAlta(PresentacionModel.tipo, self.sesion,
                                          self.subPresentacion).first()
     presentacion.setSuperPresentacion(superPresentacion)
     presentacion.modificar(self.sesion)
     self.objectModified.emit()
コード例 #5
0
 def cantidadFracciones(self, codigo, cantidad):
     """
     Calcula y devuelve la cantidad del poducto (subproducto, fracciones del producto fraccionable),
     número de fracciones * cantidad a fraccionar.
     :param codigo: Código del producto a fraccionar.
     :param cantidad: Cantidad a fraccionar.
     :return: resultado
     """
     producto = ProductoModel.buscarAlta(ProductoModel.codigo_barra, self.sesion, codigo).first()
     presentacion = PresentacionModel.buscarAlta(PresentacionModel.tipo, self.sesion,
                                                 producto.id_presentacion).first()
     resultado = int(presentacion.getCantidadFracciones()) * cantidad
     return resultado
コード例 #6
0
 def eliminar(self):
     """
     Da de baja la presentación seleccionada.
     :return:
     """
     itemActual = self.tablaPresentacion.currentItem()
     if itemActual == None:
         QtGui.QMessageBox.warning(self, 'Atención', 'No se ha seleccionado ninguna Presentación de la tabla.',
                                   'Aceptar')
     else:
         row = itemActual.row()
         tipo = str(self.tablaPresentacion.item(row, 0).text())
         if self.bajaValida(ProductoModel, ProductoModel.id_presentacion, tipo):
             self.presentacion = PresentacionModel.buscarAlta(PresentacionModel.tipo,
                                                              self.sesion, tipo).first()
             self.presentacion.borrar(self.sesion)
             QtGui.QMessageBox.information(self, 'Info', 'La Presentación ha sido eliminada.', 'Aceptar')
             tipo = self.presentacion.getSubPresentacion()
             if tipo:
                 self.presentacion.setSubPresentacion(None)
                 self.presentacion.modificar(self.sesion)
                 self.presentacion = PresentacionModel.buscarAlta(PresentacionModel.tipo,
                                                              self.sesion, tipo).first()
                 self.presentacion.setSuperPresentacion(None)
                 self.presentacion.modificar(self.sesion)
             tipo = self.presentacion.getSuperPresentacion()
             if tipo:
                 self.presentacion.setSuperPresentacion(None)
                 self.presentacion.modificar(self.sesion)
                 self.presentacion = PresentacionModel.buscarAlta(PresentacionModel.tipo,
                                                              self.sesion, tipo).first()
                 self.presentacion.setSubPresentacion(None)
                 self.presentacion.modificar(self.sesion)
             self.tablaPresentacion.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.critical(self, 'Error', 'La Presentación no puede ser dada de baja, '
                                                       'esta asignada a 1 ó más productos', 'Aceptar')
コード例 #7
0
ファイル: lgProductos.py プロジェクト: UNPSJB/FarmaciaCrisol
 def cantidadFracciones(self, codigo, cantidad):
     """
     Calcula y devuelve la cantidad del poducto (subproducto, fracciones del producto fraccionable),
     número de fracciones * cantidad a fraccionar.
     :param codigo: Código del producto a fraccionar.
     :param cantidad: Cantidad a fraccionar.
     :return: resultado
     """
     producto = ProductoModel.buscarAlta(ProductoModel.codigo_barra,
                                         self.sesion, codigo).first()
     presentacion = PresentacionModel.buscarAlta(
         PresentacionModel.tipo, self.sesion,
         producto.id_presentacion).first()
     resultado = int(presentacion.getCantidadFracciones()) * cantidad
     return resultado
コード例 #8
0
 def modificar(self):
     """
     Modifica los datos de la presentación seleccionada.
     :return:
     """
     presActual = self.tablaPresentacion.currentItem()
     if presActual != None:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             if self.validarFracciones():
                 row = presActual.row()
                 tipo = str(self.tablaPresentacion.item(row, 0).text())
                 self.presentacion = PresentacionModel.buscarAlta(
                     PresentacionModel.tipo, self.sesion, tipo).first()
                 self.presentacion.setUnidadMedida(
                     str(self.lineUnidad_Medida.text()))
                 self.presentacion.setCantidadFracciones(
                     str(self.spinCantidad.value()))
                 self.presentacion.setSubPresentacion(self.subPresentacion)
                 if self.subPresentacion != None:
                     self.setSuperPresentacion(str(self.lineTipo.text()))
                 if self.subPresentacionOld != None:
                     self.subPresentacion = self.subPresentacionOld
                     self.setSuperPresentacion(None)
                 self.presentacion.modificar(self.sesion)
                 self.showMsjEstado("La Presentación fue modificada")
                 self.objectModified.emit()
                 self.actualizar()
             else:
                 self.showMsjEstado(
                     "Seleccione la Presentación en la cual puede fraccionarse la Presentación actual."
                 )
         else:
             self.showMsjEstado(
                 "Hay datos obligatorios que no fueron completados.")
     else:
         self.showMsjEstado(
             "No se ha seleccionado una Presentación de la tabla")