UNPKG

node-nfe-nfce

Version:

Modulo que auxilia na geração de NFe e NFCe

70 lines 6.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.gerarItens = void 0; const linha_horizontal_tracejada_1 = require("./linha-horizontal-tracejada"); const normal_1 = require("./normal"); const default_1 = require("./default"); const options_doc_1 = require("./options-doc"); const cria_layout_1 = require("./cria-layout"); async function gerarItens({ nf, ajusteX, ajusteY, doc, margemEsquerda, margemTopo, margemDireita, larguraDoFormulario, pathLogo }) { let folha = 0; await (0, cria_layout_1.criaLayout)({ ajusteX, ajusteY, nf, doc, larguraDoFormulario, margemDireita, margemEsquerda, margemTopo, pathLogo, folha }); let maiorY = doc.y; for (let i = 0; i < nf.NFe.infNFe.det.length; i++) { const item = nf.NFe.infNFe.det[i]; function renderizarLinha(pdf) { const y = maiorY + 2; (0, normal_1.normal)({ doc, value: item.prod.cProd, x: 1.5, y, largura: 51, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); (0, normal_1.normal)({ doc, value: item.prod.xProd, x: 55.5, y, largura: 178, alinhamento: 'justify', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.prod.NCM, x: 235.5, y, largura: 32.5, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.prod.CFOP, x: 293.5, y, largura: 21, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.prod.uCom, x: 315.5, y, largura: 16.5, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.prod.qCom, x: 335, y, largura: 37, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(item.prod.vUnCom)), x: 375, y, largura: 32.5, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(item.prod.vProd)), x: 409.5, y, largura: 31, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); const keys = Object.keys(item.imposto); for (let i = 0; i < keys.length; i++) { if (keys[i].includes('ICMS')) { const newKeys = Object.keys(item.imposto[keys[i]]); (0, normal_1.normal)({ doc, value: item.imposto[keys[i]][newKeys[0]].CST ?? '', x: 270, y, largura: 21, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); (0, normal_1.normal)({ doc, value: item.imposto[keys[i]][newKeys[0]].CSOSN ?? '', x: 270, y, largura: 21, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.imposto[keys[i]][newKeys[0]].vBc ?? Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(0)), x: 443, y, largura: 32.5, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.imposto[keys[i]][newKeys[0]].vICMS ?? Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(0)), x: 476, y, largura: 32, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.imposto[keys[i]][newKeys[0]].pICMS ?? Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(0)), x: 532, y: y + 0.65, largura: 28, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); break; } } (0, normal_1.normal)({ doc, value: item.imposto.IPI?.IPITrib?.vIPI.toString() ?? Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(0)), x: 507.5, y, largura: 26, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); (0, normal_1.normal)({ doc, value: item.imposto.IPI?.IPITrib?.pIPI?.toString() ?? Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(Number(0)), x: 557.75, y, largura: 29, alinhamento: 'center', tamanho: default_1.DEFAULT_NFE.tamanhoDaFonteDosItens, ajusteX, ajusteY, margemEsquerda, margemTopo }); maiorY = Math.max(maiorY, pdf.y); return Number(maiorY) + (default_1.DEFAULT_NFE.separadorDeItens !== undefined ? 2 : 0); } maiorY = renderizarLinha(doc); if (doc.y > ((folha === 0 ? default_1.DEFAULT_NFE.finalTamanhoDet1 - 26 : 800))) { doc.addPage(options_doc_1.optionsDocNFe); doc.y = 0; folha++; await (0, cria_layout_1.criaLayout)({ ajusteX, ajusteY, nf, doc, larguraDoFormulario, margemDireita, margemEsquerda, margemTopo, pathLogo, folha }); maiorY = doc.y; } else { if (default_1.DEFAULT_NFE.separadorDeItens !== undefined) { (0, linha_horizontal_tracejada_1.linhaHorizontalTracejada)({ x1: 0, x2: 0, y: maiorY - 1, doc, ajusteX, ajusteY, margemDireita, margemEsquerda, margemTopo }); } } } } exports.gerarItens = gerarItens; //# sourceMappingURL=gerar-itens.js.map