Change invoice Bill

This commit is contained in:
cosmos 2023-08-01 13:16:58 -05:00
parent 29a3e91a01
commit de36aacfd1

32
api.py
View File

@ -21,16 +21,16 @@ class Info(BaseModel):
def print_bill(data, address): def print_bill(data, address):
d = data d = data
# Crea una instancia de la impresora ficticia # Crea una instancia de la impresora ficticia
#printer = Network(str(address)) printer = Network(str(address))
#printer.open() printer.open()
printer = Dummy() #printer = Dummy()
# Imprime el encabezado # Imprime el encabezado
printer.set(align='center', bold=False, height=1, width=1) printer.set(align='center', bold=False, height=1, width=1)
printer.text(d["shop_name"]+'\n') printer.text(d["shop_name"]+'\n')
printer.text(d["shop_address"]+'\n') printer.text(d["shop_address"]+'\n')
printer.set(align='left', bold=False, height=1, width=1) printer.set(align='left', bold=False, height=1, width=1)
printer.textln('=======================================') printer.textln('===============================================')
if d['invoice'] and d['invoice']['resolution']: if d['invoice'] and d['invoice']['resolution']:
text = "Resolucion de Facturacion # "+str(d['invoice']['resolution']['resolution_number']) \ text = "Resolucion de Facturacion # "+str(d['invoice']['resolution']['resolution_number']) \
@ -44,7 +44,7 @@ def print_bill(data, address):
printer.text("Cliente: "+d["party"]+'\n') printer.text("Cliente: "+d["party"]+'\n')
printer.text("CC/NIT: "+d["tax_identifier_code"]+'\n') printer.text("CC/NIT: "+d["tax_identifier_code"]+'\n')
printer.text("Direccion: "+d["address"]+'\n') printer.text("Direccion: "+d["address"]+'\n')
printer.textln('=======================================') printer.textln('===============================================')
printer.ln() printer.ln()
for line in d["lines"]: for line in d["lines"]:
if line['type'] != 'title': if line['type'] != 'title':
@ -55,7 +55,8 @@ def print_bill(data, address):
printer.text(text) printer.text(text)
printer.set(align='right', bold=False, height=1, width=1) printer.set(align='right', bold=False, height=1, width=1)
printer.text('========================\n') printer.textln('================================================')
text = "Total (sin impuestos): "+str(d["untaxed_amount"])+"\n" text = "Total (sin impuestos): "+str(d["untaxed_amount"])+"\n"
printer.text(text) printer.text(text)
text = "Impuestos (INC): "+str(d["tax_amount"])+"\n" text = "Impuestos (INC): "+str(d["tax_amount"])+"\n"
@ -67,13 +68,14 @@ def print_bill(data, address):
#if d['payments']: #if d['payments']:
if 'payments' in d.keys(): if 'payments' in d.keys():
printer.textln("Pagos: ") printer.textln("Pagos: ")
printer.text('------------------------\n') printer.textln('================================================')
for payment in d['payments']: for payment in d['payments']:
text = str(payment["statement"])+" $"+str(payment["amount"]) text = str(payment["statement"])+" $"+str(payment["amount"])
printer.textln(text) printer.textln(text)
printer.set(align='center', bold=False, height=1, width=1) printer.set(align='center', bold=False, height=1, width=1)
printer.text('------------------------\n\n') printer.textln('==============================================\n')
printer.text("Sigue nuestras redes sociales\n") printer.text("Sigue nuestras redes sociales\n")
printer.text("@bicipizza\n") printer.text("@bicipizza\n")
printer.text("Recuerde que la propina es voluntaria.\n") printer.text("Recuerde que la propina es voluntaria.\n")
@ -87,19 +89,19 @@ def print_bill(data, address):
printer.cut() printer.cut()
printer.close() printer.close()
# Obtiene el contenido del ticket de prueba # Obtiene el contenido del ticket de prueba
ticket_contenido = printer.output #ticket_contenido = printer.output
# Imprime el contenido en la consola # Imprime el contenido en la consola
sys.stdout.write(ticket_contenido.decode('utf-8')) # sys.stdout.write(ticket_contenido.decode('utf-8'))
def print_customer_order(data, address): def print_customer_order(data, address):
d = data d = data
# Crea una instancia de la impresora ficticia # Crea una instancia de la impresora ficticia
#printer = Network(str(address)) printer = Network(str(address))
#printer.open() printer.open()
printer = Dummy() #printer = Dummy()
# Imprime el encabezado # Imprime el encabezado
printer.set(align='center', bold=False, height=1, width=1) printer.set(align='center', bold=False, height=1, width=1)
@ -143,10 +145,10 @@ def print_customer_order(data, address):
printer.cut() printer.cut()
printer.close() printer.close()
# Obtiene el contenido del ticket de prueba # Obtiene el contenido del ticket de prueba
ticket_contenido = printer.output # ticket_contenido = printer.output
# Imprime el contenido en la consola # Imprime el contenido en la consola
sys.stdout.write(ticket_contenido.decode('utf-8')) # sys.stdout.write(ticket_contenido.decode('utf-8'))
@app.post("/print_bill") @app.post("/print_bill")
def print_ticket_bill(info: Info): def print_ticket_bill(info: Info):