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") )
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"))
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
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
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')
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()
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")
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")
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()
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')