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 modificarMarca():
    nombreAModificar = ingreso_de_datos.ingresoNombre("Marca a modificar")
    existeMarca = verificarSiExisteMarca(nombreAModificar)
    if (existeMarca):
        IDMarcaAntiguo = ingreso_de_datos.determinarNumeroDeMarcaDelArticulo(nombreAModificar)
        nombreNuevo = ingreso_de_datos.ingresoNombre("Nueva Marca")
        comandoSQL = 'UPDATE MARCAS SET NOMBRE_MARCA = "{}" WHERE ID_MARCA = {} '.format(nombreNuevo,IDMarcaAntiguo)
        funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos)
        funciones_SQLite.guardarBaseDeDatos(baseDeDatos)
    else:
        print("No existe ese cliente")
Beispiel #3
0
def modificarMarca(antiguoMarca):
    modificacionDeMarca = modificarRegistros.validacionDeModificacion("Marca")
    if (modificacionDeMarca):
        nombreDeMarcaNuevo = ingreso_de_datos.ingresoNombre("Marca")
    else:
        nombreDeMarcaNuevo = antiguoMarca
    return nombreDeMarcaNuevo
def modificarNombre(antiguoNombre):
    modificacionDeNombre = modificarRegistros.validacionDeModificacion("Nombre")
    if (modificacionDeNombre):
        nombreNuevo = ingreso_de_datos.ingresoNombre("Cliente")
    else:
        nombreNuevo = antiguoNombre
    return nombreNuevo
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 eliminarMarca():
    nombreMarca = ingreso_de_datos.ingresoNombre("Marca")
    existeMarca = verificarSiExisteMarca(nombreMarca)
    if (existeMarca):
        comandoSQL = 'UPDATE MARCAS SET ALTA_BAJA = 0 WHERE NOMBRE_MARCA = "{}"'.format(
            nombreMarca)
        funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos)
        funciones_SQLite.guardarBaseDeDatos(baseDeDatos)
    else:
        print("No existe el cliente")
def eliminarCliente():
    nombreCliente = ingreso_de_datos.ingresoNombre("Cliente")
    existeCliente = verificarSiExisteCliente(nombreCliente)
    if (existeCliente):
        comandoSQL = 'UPDATE CLIENTES SET ALTA_BAJA = 0 WHERE NOMBRE = "{}"'.format(
            nombreCliente)
        funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos)
        funciones_SQLite.guardarBaseDeDatos(baseDeDatos)
    else:
        print("No existe el cliente")
def agregarMarca():
    nombreDeLaMarca = ingreso_de_datos.ingresoNombre("Marca")
    numeroDeIDDeLaMarca = ingreso_de_datos.determinarNumeroDeMarcaDelArticulo(nombreDeLaMarca)

    if(numeroDeIDDeLaMarca == None):
        comandoSQL = 'INSERT INTO MARCAS (NOMBRE_MARCA,ALTA_BAJA) VALUES("{}",1)'.format(nombreDeLaMarca)
        funciones_SQLite.ejecutarComandoSQL(comandoSQL,cursorBaseDeDatos)
        funciones_SQLite.guardarBaseDeDatos(baseDeDatos)
    else:
        print("Ya existe la marca ")
def agregarCliente():
    nombreDelCliente = ingreso_de_datos.ingresoNombre("Cliente")
    noExisteCliente = verificarQueNoExistaElCliente(nombreDelCliente)

    if(noExisteCliente):
        numeroDeTelefonoDelCliente = ingreso_de_datos.ingresoNumeroDelCliente()
        comandoSQL = 'INSERT INTO CLIENTES(NOMBRE,NUMERO_TELEFONO,ALTA_BAJA) VALUES("{}",{},1);'.format(nombreDelCliente,numeroDeTelefonoDelCliente)
        funciones_SQLite.ejecutarComandoSQL(comandoSQL,cursorBaseDeDatos)
        funciones_SQLite.guardarBaseDeDatos(baseDeDatos)
    else:
        print("Ya existe el cliente")
def modificarCliente():
    nombreAModificar = ingreso_de_datos.ingresoNombre("Cliente a modificar")
    existeCliente = verificarSiExisteCliente(nombreAModificar)
    if(existeCliente):
        tablaDatosDelCliente = extraerDatosDelClienteAModificar(nombreAModificar)
        antiguoNombre = tablaDatosDelCliente[0]
        antiguoNumero = tablaDatosDelCliente[1]
        nuevoNombre = funciones_para_modificar_cliente.modificarNombre(antiguoNombre)
        nuevoNumero = funciones_para_modificar_cliente.modificarNumero(antiguoNumero)
        comandoSQL = 'UPDATE CLIENTES SET NOMBRE = "{}",NUMERO_TELEFONO = {} ;'.format(nuevoNombre,nuevoNumero)
        funciones_SQLite.ejecutarComandoSQL(comandoSQL,cursorBaseDeDatos)
        funciones_SQLite.guardarBaseDeDatos(baseDeDatos)
    else:
        print("No existe ese cliente")
def buscarPorPalabraClave():
    palabraClave = ingreso_de_datos.ingresoNombre("palabra clave")
    palabraClave = palabraClave.upper()
    comandoSQL = 'SELECT CODIGO_DE_BARRA,NOMBRE_ARTICULO,PRECIO FROM ARTICULOS WHERE NOMBRE_ARTICULO LIKE "%{}%";'.format(
        palabraClave, palabraClave, palabraClave)
    #
    funciones_SQLite.ejecutarComandoSQL(comandoSQL, cursorBaseDeDatos)
    tablaArticulosPorPalabraClave = funciones_SQLite.extraerTabla(
        cursorBaseDeDatos)

    encabezado = ["Codigo de barra", "Nombre/Descripcion", "Precio"]
    print("{:<20}".format(encabezado[0]) + "{:<30}".format(encabezado[1]) +
          "{:<10}".format(encabezado[2]))
    for articulo in tablaArticulosPorPalabraClave:
        print("{:<20}".format(articulo[0]) + "{:<30}".format(articulo[1]) +
              "{:<10}".format(articulo[2]))