Commit 2cea8c87 authored by Wendy Fuertes's avatar Wendy Fuertes

Aumneto de representación grafica Nota Fsical

parent c547c8d6
......@@ -23,15 +23,26 @@ module.exports = (app) => {
async function get(req, res) {
const t = await app.db.sequelize.transaction();
try {
const venta = await app.dao.venta.get(req.params.id);
const venta = await app.dao.venta.get(req.params.id) ;
venta.qr = qr.imageSync(venta.qr, { type: 'png', ec_level: 'H' }).toString('base64');
await t.commit();
const rep = new Reporte('factura');
let reporte;
switch (venta.codigo_documento_sector) {
case '1':
reporte='factura'
break;
case '22':
reporte='notaFiscal'
break;
}
const rep = new Reporte(reporte);
res.contentType('application/pdf');
rep.pdf(venta, {
footer: false
}).pipe(res);
//const rep = new Reporte('factura');
await t.commit();
} catch (error) {
await logs(app.db.models.logs).error(error.message, error.name, error, req.body.audit_usuario.usuario);
await t.rollback();
......
......@@ -213,7 +213,6 @@ module.exports = (app) => {
json: JSON.stringify(datosPreparados)
}
});
await t2.commit();
//registrar incio de operaciones
if (datos.listaCodigos.length < 1) {
veri=false;
......@@ -221,17 +220,18 @@ module.exports = (app) => {
if (datos.listaActividades.length < 1) {
veri=false;
}
await t2.commit();
} catch (e) {
await t2.rollback();
throw e;
}
} else {
console.log(datos);
//console.log(datos);
const codErr = datos.listaCodigosRespuestas.map(val => val.codigoMensaje.toString());
if (codErr.indexOf('92') === -1) {
throw Error(await app.dao.catalogo.getError(idPuntoVenta, codErr, t));
}
veri=false;
veri = false;
}
}
if (veri) {
......
......@@ -404,6 +404,15 @@ module.exports = (app) => {
},
transaction: t
});
var eventoNuevo = {
tipo: 'INFORMATIVO',
fecha_inicio: moment().format('YYYY-MM-DDTHH:mm:ss.SSS'),
descripcion: "CIERRE DE OPERACIONES DEL PUNTO "+puntoVenta.codigo,
idPuntoVenta: idPuntoVenta,
codigoEvento: 969
};
await app.dao.evento_significativo.post(eventoNuevo, 'system', t);
}
return {
......
......@@ -284,7 +284,7 @@ module.exports = (app) => {
async function get(id, t) {
const leyenda = await app.dao.catalogo.getLeyendas('11');
return await models.venta.findByPk(id, {
attributes: ['id_venta', 'numero_factura', 'cuf', 'cufd', 'fecha_emision', 'fid_cliente', 'monto'],
attributes: ['id_venta', 'numero_factura', 'cuf', 'cufd', 'fecha_emision', 'fid_cliente', 'monto', 'codigo_documento_sector'],
include: [
{
attributes: ['codigo'],
......
......@@ -42,6 +42,7 @@ module.exports = (app) => {
async function enviarFactura() {
try {
const facturas = await app.dao.venta.getPendientesEmision('PENDIENTE', 1, 1);// 1 = FACTURA, 1 = online
//console.log("facturas pendientes", facturas)
for (let i = 0; i < facturas.length; i++) {
try {
if (facturas[i].punto_venta.tipo_emision === facturas[i].tipo_emision) {
......@@ -283,11 +284,7 @@ module.exports = (app) => {
};
const conn = await impuestos.verificarComunicacion();
if (conn === 66) {
console.log(params)
console.log("----------------------- RECEPCION FACTURAS -----------------------")
const recepcion = await impuestosContin.recepcionFacturaElectronicaContingencia(params);
console.log(recepcion);
console.log("-------------------------------------------------------------------")
if (!recepcion.transaccion) {
const err = await app.dao.catalogo.getError(1, recepcion.listaCodigosRespuestas.map(val => val.toString()));
const obser = err.split('|').map(val => ({ observacion: val }));
......@@ -342,11 +339,7 @@ module.exports = (app) => {
};
const conn = await impuestosContin.verificarComunicacion();
if (conn === 66) {
console.log(params)
console.log("----------------------- VALIDACION FACTURAS -----------------------")
const validacion = await impuestosContin.validacionRecepcionFacturaElectronicaContingencia(params);
console.log(validacion)
console.log("-------------------------------------------------------------------")
if (!validacion.transaccion) {
const err = await app.dao.catalogo.getError(1, validacion.listaCodigosRespuestas.map(val => val.toString()));
const obser = err.split('|').map(val => ({ observacion: val }));
......@@ -403,7 +396,6 @@ module.exports = (app) => {
};
const conn = await impuestosContin.verificarComunicacion();
if (conn === 66) {
console.log("----------------------- VALIDACION DE PAQUETE DE FACTURAS -----------------------")
const validacion = await impuestosContin.validacionRecepcionPaqueteFacturaElectronicaContingencia(params);
console.log(validacion)
console.log("---------------------------------------------------------------------------------")
......@@ -471,8 +463,6 @@ module.exports = (app) => {
};
const conn = await impuestos.verificarComunicacion();
if (conn === 66) {
console.log(params)
console.log("----------------------- VALIDACION MASIVA DE FACTURAS -----------------------")
let validacion;
switch (facturas[0].codigo_documento_sector) {
case '1': validacion = await impuestos.validacionRecepcionMasivaFacturaElectronicaEstandar(params);
......@@ -527,13 +517,9 @@ module.exports = (app) => {
await logs(models.logs).info("Conexión normal", "Info", msg, 'system',sistema.ip);
} else {
msg = 'Sistema ' + sistema.nombre + ' esta sin conexión';
console.log(msg)
//mensaje = 'Error desconocido', tipo = '', error, usuario, ip
await logs(models.logs).error("No se puede conectar con el sistema, "+ msg, "Error en conexión", msg, 'system', sistema.ip);
//await logs(models.logs).error(error.message, error.name, error, 'system');
}
//mensaje, tipo = '', referencia, usuario, ip
//console.log(msg);
});
});
......
......@@ -38,7 +38,8 @@ html
body
div(style="width: 100%")
div(style="width: 100%; text-align: center")
div #{punto_venta.nombre}
div Agencia para el Desarrollo de la Sociendad de la Información en Bolivia – ADSIB
//-div #{punto_venta.sucursal.nombre}
div Sucursal No. #{punto_venta.sucursal.codigo}
div Direccion: #{punto_venta.sucursal.direccion}
div La Paz - La Paz
......
doctype html
html
head
title= title
meta(charset='utf-8')
style(type='text/css').
@page {
size: Letter;
margin: 0;
}
@media screen {
html, body {
width: 279mm;
height: 216mm;
margin: 0mm;
}
}
body {
font-size: 100%;
}
table {
width: 100%;
border-collapse: collapse;
font-size: 80%;
}
thead {
display: table-header-group;
}
tr {
page-break-inside: avoid;
}
th {
padding: 3px;
}
td {
padding: 3px;
}
body
div(style="width: 100%")
div(style="width: 100%; text-align: center")
div Agencia para el Desarrollo de la Sociendad de la Información en Bolivia – ADSIB
div #{punto_venta.nombre}
div Sucursal No. #{punto_venta.sucursal.codigo}
div Direccion: #{punto_venta.sucursal.direccion}
div La Paz
div NIT: #{punto_venta.sucursal.nit}
div Documento Fiscal Nro.: #{numero_factura}
div CUF: #{cuf}
div CUFD: #{cufd}
div VENTA DE LIBROS Y PUBLICACIONES EN GENERAL
div NOTA FISCAL TASA CERO
div SIN DERECHO A CRÉDITO FISCAL
div Facturación Electrónica
div REPRESENTACIÓN GRÁFICA
div FECHA DE EMISIÓN: #{fecha_emision}
div NOMBRE/RAZON SOCIAL: #{cliente.razon_social}
div NIT/CI: #{cliente.numero_documento}
div CÓDIGO CLIENTE: #{cliente.id_cliente}
br
div(style="width: 100%; clear: both")
table(width="100%", border="1px solid black", style="border-collapse: collapse")
thead(style = "background-color: #BDC2CB")
tr
th Código Producto
th Cantidad
th Descripción
th Precio Unitario
th SUBTOTAL
tbody
each item, i in detalle
tr
td(style="padding-bottom: 10px") #{item.item.codigo}
td(style="padding-bottom: 10px") #{item.cantidad}
td(style="padding-bottom: 10px") #{item.item.descripcion}
td(style="text-align: right") #{item.precio_unitario}
td(style="text-align: right") #{item.sub_total}
tfoot
tr
th(colspan="4", style="text-align: right") Importe Total Bs
th(style="text-align: right") #{monto}
br
div(style="width: 100%; clear: both")
div(style="text-align: lefth")
div Son: #{literal} Bolivianos
br
br
div(style="width: 100%; text-align: center; font-size: 100%;") "ESTA DOCUMENTO FISCAL CONTRIBUYE AL DESARROLLO DE NUESTRO PAÍS, EL USO ILICITO ES SANCIONADO PENALMENTE"
br
//- div(style="width: 100%; text-align: center; font-size: 75%;") #{leyenda.descripcion}
//- div(style="width: 100%; text-align: center; font-size: 75%;") EN CUMPLIMIENTO DE LA LEY N° 453 DE 4 DE DICIEMBRE DE 2013, LEY GENERAL DE LOS DERECHOS DE LAS USUARIAS Y LOS USUARIOS DE LAS CONSUMIDORAS Y LOS CONSUMIDORES
div(style="width: 100%; text-align: center; font-size: 75%;") Ley N° 453: Si se te ha vulnerado algún derecho puedes exigir la reposición o restauración.
br
div(style="width: 100%; text-align: center; font-size: 100%;") RECIBIDO POR LA ADMINISTRACIÓN TRIBUTARIA
br
div(style="width: 100%; clear: both")
div(style="width: 58%; float: right;")
//- div(style="width: 157px; border-style: solid; border-width: 1px")
img(src="data:image;base64," + qr, style="width: 155px; height: 155px;")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment