def agregarArticulo(): codigoDeBarras = ingreso_de_datos.ingresoCodigoDeBarras() validacionParaAgregarRegistro = verificarQueNoExistaElArticulo(codigoDeBarras) if(validacionParaAgregarRegistro): nombreDelArticulo = ingreso_de_datos.ingresoNombre("Articulo") nombreDeLaMarcaDelArticulo = ingreso_de_datos.ingresoNombre("Marca") precioDelArticulo = ingreso_de_datos.ingresoDePrecio() numeroDeAreaDelArticulo = ingreso_de_datos.ingresoDeArea() existeMarca = verificarSiExisteMarca(nombreDeLaMarcaDelArticulo) if (existeMarca): numeroDeMarcaDelArticulo = ingreso_de_datos.determinarNumeroDeMarcaDelArticulo(nombreDeLaMarcaDelArticulo) else: comandoSQL = 'INSERT INTO MARCAS (NOMBRE_MARCA,ALTA_BAJA) VALUES("{}",1)'.format(nombreDeLaMarcaDelArticulo) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) funciones_SQLite.guardarBaseDeDatos(baseDeDatos) numeroDeMarcaDelArticulo = ingreso_de_datos.determinarNumeroDeMarcaDelArticulo(nombreDeLaMarcaDelArticulo) stockDelArticulo = ingreso_de_datos.ingresoCantidadDeStock() comandoSQL = 'INSERT INTO ARTICULOS (CODIGO_DE_BARRA, NOMBRE_ARTICULO,PRECIO,ARTICULO_MARCA,ARTICULO_AREA,STOCK,ALTA_BAJA)' \ 'VALUES({},"{}",{},{},{},{},{});'\ .format(codigoDeBarras,nombreDelArticulo,precioDelArticulo,numeroDeMarcaDelArticulo,numeroDeAreaDelArticulo,stockDelArticulo,str(1)) funciones_SQLite.ejecutarComandoSQL(comandoSQL,cursorBaseDeDatos) funciones_SQLite.guardarBaseDeDatos(baseDeDatos) else: print("Ya existe ese articulo ")
def crearFacturaVersion2(): articulosFacturados = [] contador = 0 idDeUltimaFactura = extraerIDDeLaUltimaFactura() nombreDelCliente = ingreso_de_datos.ingresoNombre("Cliente") existeCliente = verificarSiExisteCliente(nombreDelCliente) if (not existeCliente): print("No existe el cliente, debe agregarlo") agregarRegistros.agregarCliente() validacionSeguirFacturando = True while (validacionSeguirFacturando): codigoDeBarras = ingreso_de_datos.ingresoCodigoDeBarras() existeArticulo = verificarQueExistaElArticulo(codigoDeBarras) if (not existeArticulo): agregarRegistros.agregarArticulo() print("Ingrese stock deseado") stockDeseadoDelArticulo = ingreso_de_datos.ingresoCantidadDeStock() stockDeseadoDelArticulo = int(stockDeseadoDelArticulo) sePoseeElStockDeseado = verificarStockDisponible( codigoDeBarras, stockDeseadoDelArticulo) if (sePoseeElStockDeseado): articulosFacturados.append( (codigoDeBarras, stockDeseadoDelArticulo)) validacionSeguirFacturando = deseaSeguirIngresandoArticulosALaFactura( ) else: validacionSeguirFacturando = deseaSeguirIngresandoArticulosALaFactura( ) if (len(articulosFacturados) == 0): print("No se realizo factura alguna") else: while (contador < (len(articulosFacturados))): comandoSQL = 'SELECT ARTICULOS.CODIGO_DE_BARRA,ARTICULOS.NOMBRE_ARTICULO,MARCAS.ID_MARCA, ARTICULOS.PRECIO FROM ARTICULOS,MARCAS WHERE ARTICULOS.CODIGO_DE_BARRA = {}'.format( codigoDeBarras) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) articuloConsultado = funciones_SQLite.extraerElemento( cursorBaseDeDatos) codigoDeBarrasDelArticulo = articuloConsultado[0] precioDelArticulo = articuloConsultado[3] comandoSQL = 'INSERT INTO ART_FACT(ID_ART,ID_FACT,CANTIDAD,PRECIO) VALUES({},{},{},{});'.format( codigoDeBarrasDelArticulo, str(idDeUltimaFactura), stockDeseadoDelArticulo, str(precioDelArticulo)) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) comandoSQL = 'INSERT INTO FACTURAS (ID_CLIENTE) VALUES ((SELECT ID_CLIENTE FROM CLIENTES WHERE NOMBRE = "{}"));'.format( nombreDelCliente) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) funciones_SQLite.guardarBaseDeDatos(baseDeDatos) comandoSQL = 'UPDATE ARTICULOS SET STOCK = (SELECT STOCK FROM ARTICULOS WHERE CODIGO_DE_BARRA = {})-{} WHERE CODIGO_DE_BARRA = {}'.format( codigoDeBarras, stockDeseadoDelArticulo, codigoDeBarras) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) funciones_SQLite.guardarBaseDeDatos(baseDeDatos) contador = contador + 1
def extraerDatosDelArticuloAModificar(): codigoDeBarras = ingreso_de_datos.ingresoCodigoDeBarras() comandoSQL = "SELECT NOMBRE_ARTICULO,PRECIO,ARTICULO_MARCA,ARTICULO_AREA,STOCK,CODIGO_DE_BARRA FROM ARTICULOS WHERE CODIGO_DE_BARRA = {}".format(str(codigoDeBarras)) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) tablaDatosDelArticulo = funciones_SQLite.extraerTabla(cursorBaseDeDatos) print("Los datos del articulo a modificar son: ") print(tablaDatosDelArticulo) return tablaDatosDelArticulo
def buscarPrecioDeUnArticulo(): codigoDeBarrasDelArticuloBuscado = ingreso_de_datos.ingresoCodigoDeBarras() comandoSQL = 'SELECT ARTICULOS.CODIGO_DE_BARRA, ARTICULOS.NOMBRE_ARTICULO, ARTICULOS.PRECIO,ARTICULOS.STOCK, MARCAS.NOMBRE_MARCA FROM (ARTICULOS) INNER JOIN MARCAS ON ARTICULO_MARCA = ID_MARCA WHERE CODIGO_DE_BARRA ={};'.format( codigoDeBarrasDelArticuloBuscado) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) articuloBuscado = funciones_SQLite.extraerElemento(cursorBaseDeDatos) if (articuloBuscado == None): print("No se encuentra registrado el articulo!!!") else: encabezado = [ "Codigo de Producto", "Nombre/Descripcion", "Precio Por Unidad", "Cantidad ", "Marca" ] print('|{:<20} '.format(encabezado[0]) + '|{:<30} '.format(encabezado[1]) + '|{:<20} '.format(encabezado[2]) + '|{:<9} '.format(encabezado[3]) + '|{:<20}|'.format(encabezado[4])) print('|{:<20} '.format(articuloBuscado[0]) + '|{:<30} '.format(articuloBuscado[1]) + '|{:<20} '.format(articuloBuscado[2]) + '|{:<9} '.format(articuloBuscado[3]) + '|{:<20}|'.format(articuloBuscado[4]))
def eliminarArticulo(): codigoDeBarras = ingreso_de_datos.ingresoCodigoDeBarras() comandoSQL = 'UPDATE ARTICULOS SET ALTA_BAJA = 0 WHERE CODIGO_DE_BARRA = {} '.format( str(codigoDeBarras)) funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos) funciones_SQLite.guardarBaseDeDatos(baseDeDatos)