|
@@ -203,19 +203,67 @@
|
|
|
|
|
|
this.sendToSocket(commands)
|
|
|
},
|
|
|
- printTicket(company, address, phone, items, total, change, customer) {
|
|
|
+ printTicket(company, city, street, state, phone, website, datetime, symbol, items, total, received, customer, ruc, cashier, ref) {
|
|
|
+ if (this.sockets.length == 0) {
|
|
|
+ instance.web.notification.do_warn('Atención', 'No se encuentran sockets definidos');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.sockets[0].printers.length == 0) {
|
|
|
+ instance.web.notification.do_warn('Atención', 'No se encuentran impresoras definidas');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var printer = null;
|
|
|
+ for (var j = 0; j < this.sockets[0].printers.length; j++) {
|
|
|
+ if (this.sockets[0].printers[j].isDefault) {
|
|
|
+ printer = this.sockets[0].printers[j];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!printer) {
|
|
|
+ instance.web.notification.do_warn('Atención', 'No hay ninguna impresora por defecto');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
company = company || 'SIN NOMBRE';
|
|
|
var buffer = '';
|
|
|
buffer = buffer.add(company.center(40, ' ').toUpperCase()).lineFeed();
|
|
|
|
|
|
- if (address) {
|
|
|
- buffer = buffer.add(address.center(40, ' ')).lineFeed();
|
|
|
+ if (city) {
|
|
|
+ buffer = buffer.add(city.center(40, ' ')).lineFeed();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (street) {
|
|
|
+ buffer = buffer.add(street.center(40, ' ')).lineFeed();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (state) {
|
|
|
+ buffer = buffer.add(state.center(40, ' ')).lineFeed();
|
|
|
}
|
|
|
|
|
|
if (phone) {
|
|
|
buffer = buffer.add(phone.center(40, ' ')).lineFeed();
|
|
|
}
|
|
|
|
|
|
+ if (website) {
|
|
|
+ buffer = buffer.add(website.center(40, ' ')).lineFeed()
|
|
|
+ }
|
|
|
+
|
|
|
+ buffer = buffer.lineFeed().lineFeed();
|
|
|
+ buffer = buffer.add('TICKET DE VENTA'.center(40, ' '));
|
|
|
+ buffer = buffer.lineFeed();
|
|
|
+
|
|
|
+ if (datetime) {
|
|
|
+ buffer = buffer.add(('Fecha: ' + datetime).center(40, ' ')).lineFeed().lineFeed();
|
|
|
+ }
|
|
|
+
|
|
|
+ symbol = symbol || '$';
|
|
|
+ ruc = ruc || '';
|
|
|
+ cashier = cashier || '';
|
|
|
+ ref = ref || '';
|
|
|
+
|
|
|
buffer = buffer.add('-'.center(40, '-')).lineFeed();
|
|
|
buffer = buffer.add('DESCRIPCION').lineFeed();
|
|
|
buffer = buffer.add('PRECIO CANTIDAD SUBTOTAL').lineFeed();
|
|
@@ -224,35 +272,29 @@
|
|
|
if (!!items && items.length > 0) {
|
|
|
for (var i = 0; i < items.length; i++) {
|
|
|
buffer = buffer.add(items[i][0].toUpperCase()).lineFeed();
|
|
|
- buffer = buffer.add(items[i][1] + '\t\t' + items[i][2] + '\t\t' + items[i][3]).lineFeed();
|
|
|
+ buffer = buffer.add(items[i][1] + '\t' + items[i][2] + '\t' + items[i][3]).lineFeed();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
buffer = buffer.add('-'.center(40, '-')).lineFeed();
|
|
|
|
|
|
- buffer = buffer.add('TOTAL: ' + total).lineFeed();
|
|
|
- buffer = buffer.add('RECIBIDO: ' + 5000).lineFeed();
|
|
|
- buffer = buffer.add('VUELTO: ' + change).lineFeed();
|
|
|
- buffer = buffer.add('CLIENTE: ' + customer).lineFeed().lineFeed();
|
|
|
- buffer = buffer.lineFeed().add('GRACIAS POR SU PREFERENCIA!!!'.center(40, ' ')).lineFeed().lineFeed().lineFeed().lineFeed().lineFeed().lineFeed().lineFeed();
|
|
|
+ buffer = buffer.add('TOTAL (' + symbol + '): ' + total).lineFeed();
|
|
|
+ buffer = buffer.add('RECIBIDO (' + symbol + '): ' + received).lineFeed();
|
|
|
+ buffer = buffer.add('VUELTO (' + symbol + '): ' + (received - total)).lineFeed();
|
|
|
|
|
|
- if (this.sockets.length === 0) {
|
|
|
- instance.web.notification.do_warn('Atención', 'No hay sockets registrados');
|
|
|
- return;
|
|
|
- }
|
|
|
+ buffer = buffer.add('-'.center(40, '-')).lineFeed();
|
|
|
|
|
|
- var printer = null;
|
|
|
- for (var j = 0; j < this.sockets[0].printers.length; j++) {
|
|
|
- if (this.sockets[0].printers[j].isDefault) {
|
|
|
- printer = this.sockets[0].printers[j];
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ buffer = buffer.add('CLIENTE: ' + customer).lineFeed();
|
|
|
+ buffer = buffer.add('RUC : ' + ruc).lineFeed().lineFeed();
|
|
|
|
|
|
- if (!printer) {
|
|
|
- instance.web.notification.do_warn('Atención', 'No hay impresora por defecto');
|
|
|
- return;
|
|
|
- }
|
|
|
+ buffer = buffer.add('-'.center(40, '-')).lineFeed();
|
|
|
+ buffer = buffer.add('ATENDIDO POR: ' + cashier).lineFeed();
|
|
|
+ buffer = buffer.add('REFERENCIA : ' + ref).lineFeed().lineFeed();
|
|
|
+
|
|
|
+ buffer = buffer.add('GRACIAS POR SU PREFERENCIA!!!'.center(40, ' ')).lineFeed().lineFeed()
|
|
|
+
|
|
|
+ buffer = buffer.add('Diseñado por Eiru Software'.center(40, ' ')).lineFeed();
|
|
|
+ buffer = buffer.add('www.eiru.com.py'.center(40, ' ')).lineFeed().lineFeed().lineFeed().lineFeed().lineFeed().lineFeed()
|
|
|
|
|
|
this.print(printer.name, buffer);
|
|
|
}
|