LP

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

clientes

from CLIENTES import imprimirMenuClientes


from PRODUCTOS import imprimirMenuProducto
from PEDIDOS import crearPedido
#from VENTA import crearVenta
#from UTILES import limpiarPantalla, printColor

def imprimirMenu():
print("\n-----PROGRAMA ADMINISTRATIVO DEL CATALOGO ISABELLA-----\n")
print("\tSelecccione una opción")
print("\t\t1. Modulo de clientes")
print("\t\t2. Modulo de productos")
print("\t\t3. Nuevo pedido")
print("\t\t4. Nueva venta")
#print("\t\t5. reportes")
print("\t\t5. Salir")
#leerOpcion()

def leerOpcion():
opcion = int(input("Ingrese opcion--->"))
while true:
if opcion == 1:
imprimirMenuClientes()
break
elif opcion == 2:
imprimirMenuProducto()
break
elif opcion == 3:
crearPedido()
break
elif opcion == 4:
print("Venta")
break
elif opcion == 5:
print("reporte")
break
elif opcion== 6:

print("Nos vemos luego")


break
else:
opcion= int(input("Esa opción no existe, vuelva a ingresar--->"))
imprimirMenu()
leeropcion()
from CLIENTES import imprimirMenuClientes
from PRODUCTOS import imprimirMenuProducto
from PEDIDOS import crearPedido
from VENTA import crearVenta
from UTILES import limpiarPantalla, printColor

def imprimirMenu():
print("\n-----PROGRAMA ADMINISTRATIVO DEL CATALOGO ISABELLA-----\n")
print("\tSelecccione una opción")
print("\t\t1. Modulo de clientes")
print("\t\t2. Modulo de productos")
print("\t\t3. Nuevo pedido")
print("\t\t4. Nueva venta")
print("\t\t5. Salir")
leerOpcion()

def leerOpcion():
opcion = int(input("Ingrese opcion--->"))
limpiarPantalla()
if opcion == 1:
imprimirMenuClientes()
elif opcion == 2:
imprimirMenuProducto()
elif opcion == 3:
crearPedido()
elif opcion == 4:
crearVenta()
elif opcion == 5:
#salir del programa
printColor("exito", "Nos vemos luego")
input()
return
else:
printColor("error","Esa opción no existe, vuelva a ingresar")
printColor("advertencia", "Presione una tecla para volver al menú")
input()
imprimirMenu()

imprimirMenu()
venta
from PEDIDOS import buscarPedido
from PRODUCTOS import buscarProducto
from prettytable import PrettyTable
from UTILES import printColor

def crearVenta():
f = open("data/VENTAS.txt", "r")
lines = f.readlines()
nro_venta = len(lines)+1
pedidoBuscado = {}
table = PrettyTable()
table.field_names = ["NRO PEDIDO", "CLIENTE", "FECHA"]
while True:

nro_pedido = str(input("Ingrese el número de pedido--->"))


pedidoBuscado = buscarPedido(nro_pedido)
if not pedidoBuscado:
printColor("error", "No se encontro ese pedido, vuelva a
ingresar")
else:
break
printColor("exito", "*** PEDIDO ENCONTRADO ***")
table.add_row([
nro_pedido,
pedidoBuscado["cliente"],
pedidoBuscado["fecha"]
])
print(table)

nuevoDetalle = verificarDisponibilidad(pedidoBuscado["detalle"])
imprimirDetallePedido(nuevoDetalle)

monto_total = hallarMontoTotal(pedidoBuscado["detalle"])
nro_pedido = pedidoBuscado["nro_pedido"]
fechaVenta = str(input("Ingrese la fecha de la venta--->"))
nroBoleta = str(input("Ingrese el número de la boleta--->"))

guardarVenta(nro_venta, nro_pedido, monto_total, fechaVenta, nroBoleta)


guardarDetalleVenta(nro_venta, nro_pedido, nuevoDetalle)
imprimirDetalleVenta(nuevoDetalle,nro_venta,nroBoleta,fechaVenta,pedidoB
uscado["cliente"],monto_total)

def imprimirDetallePedido(detalle):
table = PrettyTable()
table.field_names = ["ITEM", "PRODUCTO", "CANTIDAD", "P.U.", "SUBTOTAL",
"ESTADO"]
for item in detalle:
table.add_row([
item["item"],
item["nombre_producto"],
item["cantidad"],
item["precio"],
"%.2f"%(float(item["cantidad"]) * float(item["precio"])),
item["estado"]
])
print(table)

def imprimirDetalleVenta(detalleVenta, nro_venta, boleta, fecha, cliente,


monto_total):
cabecera = PrettyTable()
cabecera.field_names = ["NRO_VENTA", "CLIENTE", "FECHA", "BOLETA"]
cabecera.add_row([nro_venta, cliente, fecha, boleta])
print(cabecera)
table = PrettyTable()
table.field_names = ["ITEM", "PRODUCTO", "CANTIDAD", "P.U.", "SUBTOTAL"]
for item in detalleVenta:
if item["estado"] == "CUBIERTO":
table.add_row([
item["item"],
item["nombre_producto"],
item["cantidad"],
item["precio"],
"%.2f"%(float(item["cantidad"]) * float(item["precio"])),
])

table.add_row([
"", "", "", "MONTO TOTAL", "%.2f"%monto_total
])
print(table)

def verificarDisponibilidad(detalle):
nuevoDetalle = []
for item in detalle:
nuevoItem = item
if item["cantidad"] >
buscarProducto(item["cod_producto"])["cantidad"]:
nuevoItem["estado"] = "NO CUBIERTO"
else:
nuevoItem["estado"] = "CUBIERTO"
nuevoDetalle.append(nuevoItem)
return nuevoDetalle

def hallarMontoTotal(detalle):
monto_total = 0
for item in detalle:
monto_total += float(item["precio"]) * float(item["cantidad"])
return monto_total

def guardarVenta(nro_venta, nro_pedido, monto_total, fechaVenta, nroBoleta):


f = open("data/VENTAS.txt", "a")
f.write(f"{nro_venta},{nro_pedido},{monto_total},{fechaVenta},{nroBoleta
}\n")
f.close()

def guardarDetalleVenta(nro_venta,nro_pedido, detalle):


f = open("data/DETALLE VENTA.txt", "a")
cont = 0
for item in detalle:
cont += 1
estado = item["estado"]
f.write(f"{cont},{nro_pedido},{estado}\n")
pedidos
From CLIENTES import buscarCliente
from PRODUCTOS import buscarProducto
from prettytable import PrettyTable
from UTILES import printColor

def crearPedido():
f = open("data/PEDIDOS.txt","r")
lines = f.readlines()
nro_pedido = len(lines)+1
clienteBuscado = {}
while True:
cod_cliente=str(input("Ingrese el código cliente--->"))
clienteBuscado = buscarCliente(cod_cliente)
if not clienteBuscado:
printColor("No se encontro ese cliente, vuelva a ingresar")
else:
break
printColor("exito", "Cliente seleccionado: ",
clienteBuscado["ap_nombre"])
fecha=str(input("Ingrese la fecha--->"))
f.close()
f=open("data/PEDIDOS.txt","a")
f.write(str(nro_pedido) + ","+ clienteBuscado["codigo"]+","+ fecha +
"\n")
f.close()
crearDetallePedido(clienteBuscado["codigo"], nro_pedido)

def crearDetallePedido(cod_cliente, nroPedido):


f=open("data/DETALLE DE PEDIDO.txt","a")
n=int(input("Ingrese la cantidad de pedidos--->"))
table=PrettyTable()
table.field_names=["ITEM","PRODUCTO","CANTIDAD"]
for i in range(n):
item=i+1
productoBuscado = {}
while True:
cod_producto=str(input("Ingrese el código del producto--->"))
productoBuscado = buscarProducto(cod_producto)
if not productoBuscado:
printColor("No se encontro el producto, vuelva a ingresar")
else:
break
cantidad=int(input("Ingrese cantidad--->"))
f.write(str(nroPedido) + "," + str(item) + "," +
productoBuscado["codigo"] + "," + str(cantidad) + "\n")
table.add_row([
item,
productoBuscado["codigo"],
cantidad
])
print(table)
f.close()

def buscarPedido(nro_pedido):
pedidoRespuesta = {}
f=open("data/PEDIDOS.txt", "r")
for linea in f.read().splitlines():
valores = linea.split(",")
if valores[0] == nro_pedido:
pedidoRespuesta = {
"nro_pedido": nro_pedido,
"cliente": buscarCliente(valores[1])["ap_nombre"],
"fecha": valores[2]
}
break
f.close()
f=open("data/DETALLE DE PEDIDO.txt","r")
detalle = []
for linea in f.read().splitlines():
valores = linea.split(",")
if valores[0] == nro_pedido:
productoBuscado = buscarProducto(valores[2])
detalle.append({
"item": valores[1],
"cod_producto": valores[2],
"nombre_producto": productoBuscado["nombre"] + "/"+
productoBuscado["tp_material"],
"cantidad": valores[3],
"precio": productoBuscado["precio"]
})
pedidoRespuesta["detalle"] = detalle
return pedidoRespuesta
clientes
from prettytable import PrettyTable
from UTILES import limpiarPantalla, printColor

# REGISTRO DE CLIENTES
def imprimirMenuClientes():
print("-----MENU DE CLIENTES-----")
print("\tSelecccione una opción")
print("\t\t1. Mostrar registro de clientes")
print("\t\t2. Añadir clientes")
print("\t\t3. Salir")
leerOpcion()

def leerOpcion():
opcion = int(input("Ingrese opcion--->"))
limpiarPantalla()
if opcion == 1:
mostrarClientes()
elif opcion == 2:
registrarClientes()
elif opcion == 3:
# salir del programa
printColor("exito", "Nos vemos luego")
return
else:
printColor("error","Esa opción no existe, vuelva a ingresar")
printColor("advertencia", "Presione una tecla para volver al menú")
input()
imprimirMenuClientes()

def mostrarClientes():
print("\n*****CLIENTES:****** \n\n")
f=open("data/CLIENTES.txt","r")
table = PrettyTable()
table.field_names = ["COD", "NOMBRE", "DNI", "TELEFONO", "DIRECCION",
"CORREO"]
for linea in f.read().splitlines():
valores = linea.split(",")
cliente = {
"codigo": valores[0],
"ap_nombre": valores[1],
"dni": valores[2],
"telefono": valores[3],
"direccion": valores[4],
"correo": valores[5]
}
table.add_row([cliente["codigo"], cliente["ap_nombre"],
cliente["dni"], cliente["telefono"], cliente["direccion"],
cliente["correo"]])
print(table)
f.close()

def registrarClientes():
f=open("data/CLIENTES.txt","a")
n=int(input("Ingrese la cantidad de clientes a registrar--->"))
clientes = []
for i in range (n):
codigo = str(input("Ingrese el código cliente "+str(i+1)+"--->"))
ap_nombre = str(input("Ingrese el apellido y el nombre
respectivamente "+str(i+1)+"--->"))
dni = int(input("Ingrese el número de DNI del cliente "+str(i+1)+"--
->"))
telefono = int(input("Ingrese el número de teléfono del cliente
"+str(i+1)+"--->"))
direccion = str(input("Ingrese la dirección de la vivienda del
cliente "+str(i+1)+"--->"))
correo = str(input("Ingrese el correo electrónico del cliente
"+str(i+1)+"--->"))
clientes.append({
"codigo": codigo,
"ap_nombre": ap_nombre,
"dni": dni,
"telefono": telefono,
"direccion": direccion,
"correo": correo
})
for cliente in clientes:

f.write(f"{cliente['codigo']},{cliente['ap_nombre']},{cliente['dni']},{clien
te['telefono']},{cliente['direccion']},{cliente['correo']}")
f.close()

def buscarCliente(codigo):
f=open("data/CLIENTES.txt","r")
for linea in f.read().splitlines():
valores = linea.split(",")
if valores[0]==codigo:
return({
"codigo": codigo,
"ap_nombre": valores[1],
"dni": valores[2],
"telefono": valores[3],
"direccion": valores[4],
"correo": valores[5]
})
return False
utiles

from os import system


from colorama import init, Fore

def limpiarPantalla():
system('cls')

def printColor(color, *text):


init(convert=True)
if color == "error":
print(Fore.RED, *text)
print(Fore.WHITE)
elif color == "advertencia":
print(Fore.YELLOW, *text)
print(Fore.WHITE)
elif color == "exito":
print(Fore.GREEN, *text)
print(Fore.WHITE)
UTILES

from os import system


from colorama import init, Fore

def limpiarPantalla():
system('cls')

def printColor(color, *text):


init(convert=True)
if color == "error":
print(Fore.RED, *text)
print(Fore.WHITE)
elif color == "advertencia":
print(Fore.YELLOW, *text)
print(Fore.WHITE)
elif color == "exito":
print(Fore.GREEN, *text)
print(Fore.WHITE)

También podría gustarte