@plasoft/boletos 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/ailos-boleto.hbs +492 -490
- package/build/banco-brasil-boleto.hbs +701 -0
- package/build/index.d.mts +192 -37
- package/build/index.d.ts +192 -37
- package/build/index.js +466 -27
- package/build/index.mjs +466 -27
- package/build/teste.html +834 -842
- package/package.json +1 -1
package/build/index.mjs
CHANGED
|
@@ -219,7 +219,7 @@ function decompress(input) {
|
|
|
219
219
|
// src/banks/ailos/gerarPDF.ts
|
|
220
220
|
function gerarPDF(_0) {
|
|
221
221
|
return __async(this, arguments, function* ({ dados }) {
|
|
222
|
-
var _a, _b, _c, _d;
|
|
222
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
223
223
|
try {
|
|
224
224
|
const { generatePDF, dadosPDF } = dados;
|
|
225
225
|
const codigoBarra2 = yield BwipJs.toBuffer({
|
|
@@ -261,19 +261,20 @@ function gerarPDF(_0) {
|
|
|
261
261
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
262
262
|
}
|
|
263
263
|
const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
|
|
264
|
-
|
|
265
|
-
|
|
264
|
+
const jurosAoDia = jurosMes / 30;
|
|
265
|
+
if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
|
|
266
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosAoDia}% AO DIA, AP\xD3S O VENCIMENTO`;
|
|
266
267
|
}
|
|
267
|
-
const descontoVencimento = Number(((
|
|
268
|
-
if (descontoVencimento > 0) {
|
|
268
|
+
const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
|
|
269
|
+
if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
|
|
269
270
|
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
270
271
|
}
|
|
271
|
-
const multaAtraso = Number(((
|
|
272
|
-
if (multaAtraso > 0) {
|
|
272
|
+
const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
|
|
273
|
+
if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
|
|
273
274
|
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
|
|
274
275
|
}
|
|
275
|
-
const protestoDias = Number(((
|
|
276
|
-
if (protestoDias > 0) {
|
|
276
|
+
const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
|
|
277
|
+
if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
|
|
277
278
|
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
278
279
|
}
|
|
279
280
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
@@ -394,8 +395,8 @@ function gerarRemessa({ dados }) {
|
|
|
394
395
|
arquivo.add("00000000");
|
|
395
396
|
arquivo.add(" ".padEnd(33, " "));
|
|
396
397
|
arquivo.addLine();
|
|
397
|
-
let sequencia =
|
|
398
|
-
let quantidadeRegistro =
|
|
398
|
+
let sequencia = 0;
|
|
399
|
+
let quantidadeRegistro = 0;
|
|
399
400
|
let total = 0;
|
|
400
401
|
for (const boleto of boletos) {
|
|
401
402
|
const { pagador } = boleto;
|
|
@@ -414,7 +415,7 @@ function gerarRemessa({ dados }) {
|
|
|
414
415
|
arquivo.add("085");
|
|
415
416
|
arquivo.add("0001");
|
|
416
417
|
arquivo.add("3");
|
|
417
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
418
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
418
419
|
arquivo.add("P");
|
|
419
420
|
arquivo.add(" ");
|
|
420
421
|
arquivo.add("01");
|
|
@@ -455,7 +456,6 @@ function gerarRemessa({ dados }) {
|
|
|
455
456
|
arquivo.add("09");
|
|
456
457
|
arquivo.add("0000000000");
|
|
457
458
|
arquivo.add(" ");
|
|
458
|
-
sequencia++;
|
|
459
459
|
arquivo.addLine();
|
|
460
460
|
let tipoInscricao = "1";
|
|
461
461
|
if (pagador.pessoa === "F") {
|
|
@@ -467,7 +467,7 @@ function gerarRemessa({ dados }) {
|
|
|
467
467
|
arquivo.add("085");
|
|
468
468
|
arquivo.add("0001");
|
|
469
469
|
arquivo.add("3");
|
|
470
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
470
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
471
471
|
arquivo.add("Q");
|
|
472
472
|
arquivo.add(" ");
|
|
473
473
|
arquivo.add("01");
|
|
@@ -486,15 +486,14 @@ function gerarRemessa({ dados }) {
|
|
|
486
486
|
arquivo.add("000");
|
|
487
487
|
arquivo.add(" ".padEnd(20, " "));
|
|
488
488
|
arquivo.add(" ".padEnd(8, " "));
|
|
489
|
+
arquivo.addLine();
|
|
489
490
|
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
490
491
|
if (dadosBancario.multaAtraso > 0) {
|
|
491
|
-
arquivo.addLine();
|
|
492
492
|
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
493
|
-
sequencia++;
|
|
494
493
|
arquivo.add("085");
|
|
495
494
|
arquivo.add("0001");
|
|
496
495
|
arquivo.add("3");
|
|
497
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
496
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
498
497
|
arquivo.add("R");
|
|
499
498
|
arquivo.add(" ");
|
|
500
499
|
arquivo.add("01");
|
|
@@ -520,9 +519,8 @@ function gerarRemessa({ dados }) {
|
|
|
520
519
|
arquivo.add(" ");
|
|
521
520
|
arquivo.add("0");
|
|
522
521
|
arquivo.add("000000000");
|
|
522
|
+
arquivo.addLine();
|
|
523
523
|
}
|
|
524
|
-
sequencia++;
|
|
525
|
-
arquivo.addLine();
|
|
526
524
|
quantidadeRegistro++;
|
|
527
525
|
}
|
|
528
526
|
arquivo.add("085");
|
|
@@ -631,6 +629,7 @@ var Banco = /* @__PURE__ */ ((Banco2) => {
|
|
|
631
629
|
Banco2["BRADESCO"] = "005";
|
|
632
630
|
Banco2["SICREDI"] = "748";
|
|
633
631
|
Banco2["SICOOB"] = "756";
|
|
632
|
+
Banco2["BANCO_BRASIL"] = "001";
|
|
634
633
|
return Banco2;
|
|
635
634
|
})(Banco || {});
|
|
636
635
|
|
|
@@ -1223,7 +1222,7 @@ function getDigito3(texto) {
|
|
|
1223
1222
|
import BwipJs3 from "bwip-js";
|
|
1224
1223
|
function gerarPDF3(_0) {
|
|
1225
1224
|
return __async(this, arguments, function* ({ dados }) {
|
|
1226
|
-
var _a, _b, _c, _d;
|
|
1225
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1227
1226
|
try {
|
|
1228
1227
|
const { generatePDF, dadosPDF } = dados;
|
|
1229
1228
|
const codigoBarra2 = yield BwipJs3.toBuffer({
|
|
@@ -1264,18 +1263,19 @@ function gerarPDF3(_0) {
|
|
|
1264
1263
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
1265
1264
|
}
|
|
1266
1265
|
const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
|
|
1267
|
-
|
|
1268
|
-
|
|
1266
|
+
const jurosAoDia = jurosMes > 0 ? jurosMes / 30 : 0;
|
|
1267
|
+
if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
|
|
1268
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosAoDia}% AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1269
1269
|
}
|
|
1270
|
-
const descontoVencimento = Number(((
|
|
1271
|
-
if (descontoVencimento > 0) {
|
|
1270
|
+
const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
|
|
1271
|
+
if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
|
|
1272
1272
|
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1273
1273
|
}
|
|
1274
|
-
const multaAtraso = Number(((
|
|
1275
|
-
if (multaAtraso > 0) {
|
|
1274
|
+
const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
|
|
1275
|
+
if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
|
|
1276
1276
|
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
|
|
1277
1277
|
}
|
|
1278
|
-
const protestoDias = Number(((
|
|
1278
|
+
const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
|
|
1279
1279
|
if (protestoDias > 0) {
|
|
1280
1280
|
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1281
1281
|
}
|
|
@@ -1950,6 +1950,436 @@ var sicoob = {
|
|
|
1950
1950
|
gerarPDF: gerarPDF4
|
|
1951
1951
|
};
|
|
1952
1952
|
|
|
1953
|
+
// src/banks/banco-brasil/gerarDadosBoleto.ts
|
|
1954
|
+
function gerarDadosBoleto5({ dados }) {
|
|
1955
|
+
try {
|
|
1956
|
+
const {
|
|
1957
|
+
bancario,
|
|
1958
|
+
parcela
|
|
1959
|
+
} = dados;
|
|
1960
|
+
parcela.valor = Number(parcela.valor);
|
|
1961
|
+
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
1962
|
+
const valor = getValor5(parcela.valor);
|
|
1963
|
+
const convenio = padLeft(bancario.convenio, 6);
|
|
1964
|
+
const numeroDocumento = padLeft(`${parcela.id_boleto}2`, 5);
|
|
1965
|
+
const nossoNumero = getNossoNumero3(`${convenio}${numeroDocumento}`);
|
|
1966
|
+
const campoLivre = copy(nossoNumero, 1, 11) + padLeft(bancario.agencia, 4) + padLeft(`${bancario.numero}${bancario.numero_dv}`, 8) + padLeft(bancario.carteira, 2);
|
|
1967
|
+
const digitoGeral = getDigitoGeral5(`0019${fatorVencimento}${valor}${campoLivre}`);
|
|
1968
|
+
const codigoBarra2 = `0019${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
1969
|
+
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
1970
|
+
const campo2 = copy(codigoBarra2, 25, 34);
|
|
1971
|
+
const campo3 = copy(codigoBarra2, 35, 44);
|
|
1972
|
+
const campo4 = copy(codigoBarra2, 5, 5);
|
|
1973
|
+
const campo5 = copy(codigoBarra2, 6, 9) + copy(codigoBarra2, 10, 19);
|
|
1974
|
+
const digito1 = getDigito5(campo1);
|
|
1975
|
+
const digito2 = getDigito5(campo2);
|
|
1976
|
+
const digito3 = getDigito5(campo3);
|
|
1977
|
+
const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + campo5;
|
|
1978
|
+
const dadosBoleto = {
|
|
1979
|
+
linhaDigitavel,
|
|
1980
|
+
fatorVencimento,
|
|
1981
|
+
valor,
|
|
1982
|
+
convenio,
|
|
1983
|
+
nossoNumero,
|
|
1984
|
+
campoLivre,
|
|
1985
|
+
digitoGeral,
|
|
1986
|
+
codigoBarra: codigoBarra2,
|
|
1987
|
+
numeroDocumento
|
|
1988
|
+
};
|
|
1989
|
+
return dadosBoleto;
|
|
1990
|
+
} catch (error) {
|
|
1991
|
+
console.log("Falha ao gerar dados do boleto", error);
|
|
1992
|
+
return null;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
function getValor5(valor) {
|
|
1996
|
+
const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
|
|
1997
|
+
return padLeft(valorFormatado, 10);
|
|
1998
|
+
}
|
|
1999
|
+
function getNossoNumero3(auxiliar) {
|
|
2000
|
+
let i = 11, j = 10, soma = 0;
|
|
2001
|
+
while (i >= 1) {
|
|
2002
|
+
j--;
|
|
2003
|
+
if (j === 1)
|
|
2004
|
+
j = 9;
|
|
2005
|
+
const numero = Number(copy(auxiliar, i, i));
|
|
2006
|
+
soma += j * numero;
|
|
2007
|
+
i--;
|
|
2008
|
+
}
|
|
2009
|
+
const resto = soma % 11;
|
|
2010
|
+
const digito = resto < 10 ? String(resto) : "X";
|
|
2011
|
+
const nosso_numero = auxiliar + digito;
|
|
2012
|
+
return nosso_numero;
|
|
2013
|
+
}
|
|
2014
|
+
function getDigitoGeral5(texto) {
|
|
2015
|
+
let i = 43;
|
|
2016
|
+
let j = 1;
|
|
2017
|
+
let soma = 0;
|
|
2018
|
+
while (i >= 1) {
|
|
2019
|
+
j++;
|
|
2020
|
+
if (j === 10)
|
|
2021
|
+
j = 2;
|
|
2022
|
+
const valor = Number(copy(texto, i, i));
|
|
2023
|
+
soma += j * valor;
|
|
2024
|
+
i--;
|
|
2025
|
+
}
|
|
2026
|
+
const resto = soma % 11;
|
|
2027
|
+
let digito = 11 - resto;
|
|
2028
|
+
if (digito === 0 || digito > 9)
|
|
2029
|
+
digito = 1;
|
|
2030
|
+
return String(digito);
|
|
2031
|
+
}
|
|
2032
|
+
function getDigito5(texto) {
|
|
2033
|
+
let i = texto.length;
|
|
2034
|
+
let j = 1;
|
|
2035
|
+
let total = 0;
|
|
2036
|
+
let soma = 0;
|
|
2037
|
+
let digito = 0;
|
|
2038
|
+
while (i >= 1) {
|
|
2039
|
+
j = j === 1 ? 2 : 1;
|
|
2040
|
+
let valor = Number(copy(texto, i, i));
|
|
2041
|
+
total = valor * j;
|
|
2042
|
+
if (total >= 10) {
|
|
2043
|
+
valor = Number(copy(total, 1, 1)) + Number(copy(total, 2, 2));
|
|
2044
|
+
} else {
|
|
2045
|
+
valor = total;
|
|
2046
|
+
}
|
|
2047
|
+
soma += valor;
|
|
2048
|
+
i--;
|
|
2049
|
+
}
|
|
2050
|
+
const uni = Number(copy(soma, String(soma).length, String(soma).length));
|
|
2051
|
+
digito = 10 - uni;
|
|
2052
|
+
if (digito === 10)
|
|
2053
|
+
digito = 0;
|
|
2054
|
+
return String(digito);
|
|
2055
|
+
}
|
|
2056
|
+
|
|
2057
|
+
// src/banks/banco-brasil/gerarPDF.ts
|
|
2058
|
+
import BwipJs5 from "bwip-js";
|
|
2059
|
+
function gerarPDF5(_0) {
|
|
2060
|
+
return __async(this, arguments, function* ({ dados }) {
|
|
2061
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2062
|
+
try {
|
|
2063
|
+
const { dadosPDF } = dados;
|
|
2064
|
+
const codigoBarra2 = yield BwipJs5.toBuffer({
|
|
2065
|
+
bcid: "interleaved2of5",
|
|
2066
|
+
text: dadosPDF.boleto.codigoBarra,
|
|
2067
|
+
height: 20
|
|
2068
|
+
});
|
|
2069
|
+
dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
|
|
2070
|
+
dadosPDF.beneficiario.dadosBancario.conta = dadosPDF.beneficiario.dadosBancario.conta.padStart(7, "0");
|
|
2071
|
+
dadosPDF.boleto.linhaDigitavel = maskFormat_default.codigoBarra(dadosPDF.boleto.linhaDigitavel);
|
|
2072
|
+
dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
|
|
2073
|
+
dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
|
|
2074
|
+
dadosPDF.beneficiario.cnpj
|
|
2075
|
+
);
|
|
2076
|
+
dadosPDF.beneficiario.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
2077
|
+
dadosPDF.beneficiario.endereco.cep
|
|
2078
|
+
);
|
|
2079
|
+
dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
2080
|
+
dadosPDF.pagador.endereco.cep
|
|
2081
|
+
);
|
|
2082
|
+
dadosPDF.pagador.cnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cnpj);
|
|
2083
|
+
dadosPDF.boleto.valorAcrescimo = maskFormat_default.numberToReal(
|
|
2084
|
+
dadosPDF.boleto.valorAcrescimo
|
|
2085
|
+
);
|
|
2086
|
+
dadosPDF.boleto.valorCobrado = maskFormat_default.numberToReal(
|
|
2087
|
+
dadosPDF.boleto.valorCobrado
|
|
2088
|
+
);
|
|
2089
|
+
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
2090
|
+
dadosPDF.boleto.valorDescontoAbatimento
|
|
2091
|
+
);
|
|
2092
|
+
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
2093
|
+
dadosPDF.boleto.valorDocumento
|
|
2094
|
+
);
|
|
2095
|
+
dadosPDF.boleto.valorMulta = maskFormat_default.numberToReal(dadosPDF.boleto.valorMulta);
|
|
2096
|
+
dadosPDF.boleto.valorOutrasDeducoes = maskFormat_default.numberToReal(
|
|
2097
|
+
dadosPDF.boleto.valorOutrasDeducoes
|
|
2098
|
+
);
|
|
2099
|
+
if (dadosPDF.boleto.quantidade) {
|
|
2100
|
+
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
2101
|
+
}
|
|
2102
|
+
const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
|
|
2103
|
+
const jurosAoDia = jurosMes / 30;
|
|
2104
|
+
if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
|
|
2105
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO DIA, AP\xD3S O VENCIMENTO`;
|
|
2106
|
+
}
|
|
2107
|
+
const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
|
|
2108
|
+
if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
|
|
2109
|
+
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
2110
|
+
}
|
|
2111
|
+
const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
|
|
2112
|
+
if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
|
|
2113
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
|
|
2114
|
+
}
|
|
2115
|
+
const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
|
|
2116
|
+
if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
|
|
2117
|
+
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
2118
|
+
}
|
|
2119
|
+
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
2120
|
+
const content = compileHbs(getPathTemplates("banco-brasil-boleto.hbs"), dadosPDF);
|
|
2121
|
+
const config = {
|
|
2122
|
+
displayHeaderFooter: false,
|
|
2123
|
+
path: "./boleto.pdf",
|
|
2124
|
+
format: "a4",
|
|
2125
|
+
printBackground: true
|
|
2126
|
+
};
|
|
2127
|
+
let pdfBase64 = null;
|
|
2128
|
+
if (!api.defaults.baseURL) {
|
|
2129
|
+
throw new Error("BaseURL api not found");
|
|
2130
|
+
}
|
|
2131
|
+
const response = yield api.post("/", { content, config });
|
|
2132
|
+
const buffer = Buffer.from(response.data.pdf);
|
|
2133
|
+
pdfBase64 = yield decompress(buffer);
|
|
2134
|
+
return {
|
|
2135
|
+
erro: false,
|
|
2136
|
+
dados: pdfBase64
|
|
2137
|
+
};
|
|
2138
|
+
} catch (error) {
|
|
2139
|
+
console.log(error);
|
|
2140
|
+
return {
|
|
2141
|
+
erro: true,
|
|
2142
|
+
dados: null
|
|
2143
|
+
};
|
|
2144
|
+
}
|
|
2145
|
+
});
|
|
2146
|
+
}
|
|
2147
|
+
|
|
2148
|
+
// src/banks/banco-brasil/gerarRemessa.ts
|
|
2149
|
+
import { addDays as addDays4, format as format5 } from "date-fns";
|
|
2150
|
+
function gerarRemessa5({ dados }) {
|
|
2151
|
+
try {
|
|
2152
|
+
const { dadosBancario, beneficiario, boletos } = dados.remessa;
|
|
2153
|
+
const arquivo = new Arquivo();
|
|
2154
|
+
const dataAtual = /* @__PURE__ */ new Date();
|
|
2155
|
+
const data = format5(dataAtual, "ddMMyyyy");
|
|
2156
|
+
const hora = format5(dataAtual, "HHmmss");
|
|
2157
|
+
const convenio = dadosBancario.convenio.padStart(7, "0");
|
|
2158
|
+
const numero = dadosBancario.conta.padStart(7, "0") + dadosBancario.contaDigito;
|
|
2159
|
+
const remessa2 = `REM${convenio}-${numero}-${data}.REM`;
|
|
2160
|
+
arquivo.add("085");
|
|
2161
|
+
arquivo.add("0000");
|
|
2162
|
+
arquivo.add("0");
|
|
2163
|
+
arquivo.add(" ");
|
|
2164
|
+
arquivo.add("2");
|
|
2165
|
+
arquivo.add(beneficiario.cnpj);
|
|
2166
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
2167
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2168
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2169
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
2170
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
2171
|
+
arquivo.add(" ");
|
|
2172
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
2173
|
+
arquivo.add("AILOS".padEnd(30, " "));
|
|
2174
|
+
arquivo.add(" ");
|
|
2175
|
+
arquivo.add("1");
|
|
2176
|
+
arquivo.add(data);
|
|
2177
|
+
arquivo.add(hora);
|
|
2178
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
|
|
2179
|
+
arquivo.add("087");
|
|
2180
|
+
arquivo.add("00000");
|
|
2181
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2182
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2183
|
+
arquivo.add(" ".padEnd(29, " "));
|
|
2184
|
+
arquivo.addLine();
|
|
2185
|
+
arquivo.add("085");
|
|
2186
|
+
arquivo.add("0001");
|
|
2187
|
+
arquivo.add("1");
|
|
2188
|
+
arquivo.add("R");
|
|
2189
|
+
arquivo.add("01");
|
|
2190
|
+
arquivo.add(" ");
|
|
2191
|
+
arquivo.add("045");
|
|
2192
|
+
arquivo.add(" ");
|
|
2193
|
+
arquivo.add("2");
|
|
2194
|
+
arquivo.add(beneficiario.cnpj.padStart(15, "0"));
|
|
2195
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
2196
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2197
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2198
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
2199
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
2200
|
+
arquivo.add(" ");
|
|
2201
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
2202
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2203
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2204
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
2205
|
+
arquivo.add(data);
|
|
2206
|
+
arquivo.add("00000000");
|
|
2207
|
+
arquivo.add(" ".padEnd(33, " "));
|
|
2208
|
+
arquivo.addLine();
|
|
2209
|
+
let sequencia = 0;
|
|
2210
|
+
let quantidadeRegistro = 0;
|
|
2211
|
+
let total = 0;
|
|
2212
|
+
for (const boleto of boletos) {
|
|
2213
|
+
const { pagador } = boleto;
|
|
2214
|
+
const vencimento = format5(new Date(boleto.vencimento), "ddMMyyyy");
|
|
2215
|
+
total += Number(boleto.valor);
|
|
2216
|
+
const codigoJuro = dadosBancario.jurosMes > 0 ? "2" : "3";
|
|
2217
|
+
const juros = dadosBancario.jurosMes > 0 ? dadosBancario.jurosMes.toFixed(2) : "000000000000000";
|
|
2218
|
+
const jurosVencimento = format5(
|
|
2219
|
+
addDays4(new Date(boleto.vencimento), 1),
|
|
2220
|
+
"ddMMyyyy"
|
|
2221
|
+
);
|
|
2222
|
+
const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
|
|
2223
|
+
const desconto = dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
|
|
2224
|
+
const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
|
|
2225
|
+
const diasProtesto = protesto === "1" ? dadosBancario.diasProtesto.toString() : "00";
|
|
2226
|
+
arquivo.add("085");
|
|
2227
|
+
arquivo.add("0001");
|
|
2228
|
+
arquivo.add("3");
|
|
2229
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
2230
|
+
arquivo.add("P");
|
|
2231
|
+
arquivo.add(" ");
|
|
2232
|
+
arquivo.add("01");
|
|
2233
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2234
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2235
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
2236
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
2237
|
+
arquivo.add(" ");
|
|
2238
|
+
arquivo.add(boleto.nossoNumero.padEnd(20, " "));
|
|
2239
|
+
arquivo.add("1");
|
|
2240
|
+
arquivo.add("1");
|
|
2241
|
+
arquivo.add("1");
|
|
2242
|
+
arquivo.add("2");
|
|
2243
|
+
arquivo.add("2");
|
|
2244
|
+
arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
|
|
2245
|
+
arquivo.add(vencimento);
|
|
2246
|
+
arquivo.add(
|
|
2247
|
+
Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
|
|
2248
|
+
);
|
|
2249
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2250
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2251
|
+
arquivo.add("02");
|
|
2252
|
+
arquivo.add("A");
|
|
2253
|
+
arquivo.add(data);
|
|
2254
|
+
arquivo.add(codigoJuro);
|
|
2255
|
+
arquivo.add(jurosVencimento);
|
|
2256
|
+
arquivo.add(juros.replace(".", "").padStart(15, "0"));
|
|
2257
|
+
arquivo.add(codigoDesconto);
|
|
2258
|
+
arquivo.add(vencimento);
|
|
2259
|
+
arquivo.add(desconto.replace(".", "").padStart(15, "0"));
|
|
2260
|
+
arquivo.add("000000000000000");
|
|
2261
|
+
arquivo.add("000000000000000");
|
|
2262
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
2263
|
+
arquivo.add(protesto);
|
|
2264
|
+
arquivo.add(diasProtesto.padStart(1, "0"));
|
|
2265
|
+
arquivo.add("2");
|
|
2266
|
+
arquivo.add(" ");
|
|
2267
|
+
arquivo.add("09");
|
|
2268
|
+
arquivo.add("0000000000");
|
|
2269
|
+
arquivo.add(" ");
|
|
2270
|
+
arquivo.addLine();
|
|
2271
|
+
let tipoInscricao = "1";
|
|
2272
|
+
if (pagador.pessoa === "F") {
|
|
2273
|
+
tipoInscricao = "1";
|
|
2274
|
+
} else {
|
|
2275
|
+
tipoInscricao = "2";
|
|
2276
|
+
}
|
|
2277
|
+
pagador.endereco.logradouro = `${removerAcentos(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
2278
|
+
arquivo.add("085");
|
|
2279
|
+
arquivo.add("0001");
|
|
2280
|
+
arquivo.add("3");
|
|
2281
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
2282
|
+
arquivo.add("Q");
|
|
2283
|
+
arquivo.add(" ");
|
|
2284
|
+
arquivo.add("01");
|
|
2285
|
+
arquivo.add(tipoInscricao);
|
|
2286
|
+
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
2287
|
+
arquivo.add(removerAcentos(pagador.nome).substring(0, 40).padEnd(40, " "));
|
|
2288
|
+
arquivo.add(removerAcentos(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
|
|
2289
|
+
arquivo.add(removerAcentos(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
|
|
2290
|
+
arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
|
|
2291
|
+
arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
|
|
2292
|
+
arquivo.add(removerAcentos(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
|
|
2293
|
+
arquivo.add(removerAcentos(pagador.endereco.uf).padEnd(2, " "));
|
|
2294
|
+
arquivo.add("0");
|
|
2295
|
+
arquivo.add("000000000000000");
|
|
2296
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2297
|
+
arquivo.add("000");
|
|
2298
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2299
|
+
arquivo.add(" ".padEnd(8, " "));
|
|
2300
|
+
arquivo.addLine();
|
|
2301
|
+
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
2302
|
+
if (dadosBancario.multaAtraso > 0) {
|
|
2303
|
+
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
2304
|
+
arquivo.add("085");
|
|
2305
|
+
arquivo.add("0001");
|
|
2306
|
+
arquivo.add("3");
|
|
2307
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
2308
|
+
arquivo.add("R");
|
|
2309
|
+
arquivo.add(" ");
|
|
2310
|
+
arquivo.add("01");
|
|
2311
|
+
arquivo.add("0");
|
|
2312
|
+
arquivo.add("00000000");
|
|
2313
|
+
arquivo.add("000000000000000");
|
|
2314
|
+
arquivo.add("0");
|
|
2315
|
+
arquivo.add("00000000");
|
|
2316
|
+
arquivo.add("000000000000000");
|
|
2317
|
+
arquivo.add("2");
|
|
2318
|
+
arquivo.add(vencimento);
|
|
2319
|
+
arquivo.add(multa.replace(".", "").padStart(15, "0"));
|
|
2320
|
+
arquivo.add(" ".padEnd(10, " "));
|
|
2321
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2322
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2323
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2324
|
+
arquivo.add("00000000");
|
|
2325
|
+
arquivo.add("000");
|
|
2326
|
+
arquivo.add("00000");
|
|
2327
|
+
arquivo.add(" ");
|
|
2328
|
+
arquivo.add("000000000000");
|
|
2329
|
+
arquivo.add(" ");
|
|
2330
|
+
arquivo.add(" ");
|
|
2331
|
+
arquivo.add("0");
|
|
2332
|
+
arquivo.add("000000000");
|
|
2333
|
+
arquivo.addLine();
|
|
2334
|
+
}
|
|
2335
|
+
quantidadeRegistro++;
|
|
2336
|
+
}
|
|
2337
|
+
arquivo.add("085");
|
|
2338
|
+
arquivo.add("0001");
|
|
2339
|
+
arquivo.add("5");
|
|
2340
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
2341
|
+
arquivo.add((sequencia + 3).toString().padStart(6, "0"));
|
|
2342
|
+
arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
|
|
2343
|
+
arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
|
|
2344
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2345
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2346
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2347
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2348
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2349
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2350
|
+
arquivo.add(" ".padStart(8, " "));
|
|
2351
|
+
arquivo.add(" ".padStart(117, " "));
|
|
2352
|
+
arquivo.addLine();
|
|
2353
|
+
arquivo.add("085");
|
|
2354
|
+
arquivo.add("9999");
|
|
2355
|
+
arquivo.add("9");
|
|
2356
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
2357
|
+
arquivo.add("000001");
|
|
2358
|
+
arquivo.add((sequencia + 4).toString().padStart(6, "0"));
|
|
2359
|
+
arquivo.add("000000");
|
|
2360
|
+
arquivo.add(" ".padEnd(205, " "));
|
|
2361
|
+
return {
|
|
2362
|
+
download: remessa2,
|
|
2363
|
+
arquivo: arquivo.getArquivo()
|
|
2364
|
+
};
|
|
2365
|
+
} catch (error) {
|
|
2366
|
+
console.log(error);
|
|
2367
|
+
return null;
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
// src/banks/banco-brasil/gerarRetorno.ts
|
|
2372
|
+
function gerarRetorno4() {
|
|
2373
|
+
}
|
|
2374
|
+
|
|
2375
|
+
// src/banks/banco-brasil/index.ts
|
|
2376
|
+
var bancoBrasil = {
|
|
2377
|
+
gerarDadosBoleto: gerarDadosBoleto5,
|
|
2378
|
+
gerarPDF: gerarPDF5,
|
|
2379
|
+
gerarRemessa: gerarRemessa5,
|
|
2380
|
+
gerarRetorno: gerarRetorno4
|
|
2381
|
+
};
|
|
2382
|
+
|
|
1953
2383
|
// src/gerar.ts
|
|
1954
2384
|
function gerar({ banco, dados }) {
|
|
1955
2385
|
if (banco === "085" /* AILOS */) {
|
|
@@ -1964,6 +2394,9 @@ function gerar({ banco, dados }) {
|
|
|
1964
2394
|
if (banco === "756" /* SICOOB */) {
|
|
1965
2395
|
return sicoob.gerarDadosBoleto({ banco, dados });
|
|
1966
2396
|
}
|
|
2397
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2398
|
+
return bancoBrasil.gerarDadosBoleto({ banco, dados });
|
|
2399
|
+
}
|
|
1967
2400
|
}
|
|
1968
2401
|
|
|
1969
2402
|
// src/pdf.ts
|
|
@@ -1980,6 +2413,9 @@ function pdf({ banco, dados }) {
|
|
|
1980
2413
|
if (banco === "756" /* SICOOB */) {
|
|
1981
2414
|
return sicoob.gerarPDF({ banco, dados });
|
|
1982
2415
|
}
|
|
2416
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2417
|
+
return bancoBrasil.gerarPDF({ banco, dados });
|
|
2418
|
+
}
|
|
1983
2419
|
}
|
|
1984
2420
|
|
|
1985
2421
|
// src/remessa.ts
|
|
@@ -1996,6 +2432,9 @@ function remessa({ banco, dados }) {
|
|
|
1996
2432
|
if (banco === "756" /* SICOOB */) {
|
|
1997
2433
|
return sicoob.gerarRemessa({ banco, dados });
|
|
1998
2434
|
}
|
|
2435
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2436
|
+
return bancoBrasil.gerarRemessa({ banco, dados });
|
|
2437
|
+
}
|
|
1999
2438
|
}
|
|
2000
2439
|
|
|
2001
2440
|
// src/retorno.ts
|