Пример #1
0
 def buscarProducto(self):
     """
     Busca y carga en la tabla los datos de un producto para un codigo de barra ingresado.
     :return:
     """
     self.limpiarTabla(self.tablaProducto)
     self.cargarObjetos(self.tablaProducto,
         ProductoModel.buscarAlta(ProductoModel.codigo_barra, self.sesion,
                                  str(self.lineCod_Barra.text())).all(),
         ("codigo_barra", "id_medicamento", "id_presentacion", "importe")
     )
Пример #2
0
 def buscarProducto(self):
     """
     Busca y carga en la tabla los datos de un producto para un codigo de barra ingresado.
     :return:
     """
     self.limpiarTabla(self.tablaProducto)
     self.cargarObjetos(
         self.tablaProducto,
         ProductoModel.buscarAlta(ProductoModel.codigo_barra, self.sesion,
                                  str(self.lineCod_Barra.text())).all(),
         ("codigo_barra", "id_medicamento", "id_presentacion", "importe"))
Пример #3
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
Пример #4
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
Пример #5
0
 def modificar(self):
     """
     Modifica los datos del producto seleccionada.
     :return:
     """
     itemActual = self.tablaProducto.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios([self.lineImporte]):
             row = itemActual.row()
             codigo_barra = str(self.tablaProducto.item(row, 0).text())
             self.producto = ProductoModel.buscarAlta(ProductoModel.codigo_barra,
                                                      self.sesion, codigo_barra).first()
             self.producto.setImporte(str(self.lineImporte.text()))
             self.producto.modificar(self.sesion)
             QtGui.QMessageBox.information(self, 'Info', 'El Producto 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 Producto de la tabla.', 'Aceptar')
Пример #6
0
 def eliminar(self):
     """
     Da de baja el producto seleccionado.
     :return:
     """
     #TODO consultar si hay stock antes de dar de baja.
     itemActual = self.tablaProducto.currentItem()
     if itemActual == None:
         self.showMsjEstado("No se ha seleccionado ningun Producto de la tabla")
     else:
         row = itemActual.row()
         codigo_barra = str(self.tablaProducto.item(row, 0).text())
         if self.bajaValida(codigo_barra):
             self.producto = ProductoModel.buscarAlta(ProductoModel.codigo_barra,
                                                      self.sesion, codigo_barra).first()
             self.actualizarLoteProd(self.producto.getCodigoBarra())
             self.producto.borrar(self.sesion)
             self.showMsjEstado("El Producto ha sido dado de baja")
             self.tablaProducto.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
Пример #7
0
 def modificar(self):
     """
     Modifica los datos del producto seleccionada.
     :return:
     """
     itemActual = self.tablaProducto.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios([self.lineImporte]):
             row = itemActual.row()
             codigo_barra = str(self.tablaProducto.item(row, 0).text())
             self.producto = ProductoModel.buscarAlta(ProductoModel.codigo_barra,
                                                      self.sesion, codigo_barra).first()
             self.producto.setImporte(str(self.lineImporte.text()))
             self.producto.modificar(self.sesion)
             self.showMsjEstado("El Producto 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 Producto de la tabla")
Пример #8
0
 def modificar(self):
     """
     Modifica los datos del producto seleccionada.
     :return:
     """
     itemActual = self.tablaProducto.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios([self.lineImporte]):
             row = itemActual.row()
             codigo_barra = str(self.tablaProducto.item(row, 0).text())
             self.producto = ProductoModel.buscarAlta(
                 ProductoModel.codigo_barra, self.sesion,
                 codigo_barra).first()
             self.producto.setImporte(str(self.lineImporte.text()))
             self.producto.modificar(self.sesion)
             self.showMsjEstado("El Producto 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 Producto de la tabla")
Пример #9
0
 def eliminar(self):
     """
     Da de baja el producto seleccionado.
     :return:
     """
     #TODO consultar si hay stock antes de dar de baja.
     itemActual = self.tablaProducto.currentItem()
     if itemActual == None:
         self.showMsjEstado(
             "No se ha seleccionado ningun Producto de la tabla")
     else:
         row = itemActual.row()
         codigo_barra = str(self.tablaProducto.item(row, 0).text())
         if self.bajaValida(codigo_barra):
             self.producto = ProductoModel.buscarAlta(
                 ProductoModel.codigo_barra, self.sesion,
                 codigo_barra).first()
             self.actualizarLoteProd(self.producto.getCodigoBarra())
             self.producto.borrar(self.sesion)
             self.showMsjEstado("El Producto ha sido dado de baja")
             self.tablaProducto.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
Пример #10
0
 def eliminar(self):
     """
     Da de baja el producto seleccionado.
     :return:
     """
     itemActual = self.tablaProducto.currentItem()
     if itemActual == None:
         QtGui.QMessageBox.warning(self, 'Atención', 'No se ha seleccionado ningun Producto de la tabla.', 'Aceptar')
     else:
         row = itemActual.row()
         codigo_barra = str(self.tablaProducto.item(row, 0).text())
         if (self.stock(codigo_barra)):
             if self.bajaValida(codigo_barra):
                 self.producto = ProductoModel.buscarAlta(ProductoModel.codigo_barra,
                                                          self.sesion, codigo_barra).first()
                 self.actualizarLoteProd(self.producto.getCodigoBarra())
                 self.producto.borrar(self.sesion)
                 QtGui.QMessageBox.information(self, 'Info', 'El Producto ha sido dado de baja.', 'Aceptar')
                 self.tablaProducto.removeRow(row)
                 self.objectDeleted.emit()
                 self.actualizar()
         else:
             QtGui.QMessageBox.critical(self, 'Error', 'Existe stock para el Producto seleccionado. '
                                                       'No puede ser dado de baja', 'Aceptar')