@plasoft/boletos 1.0.31 → 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 +459 -17
- package/build/index.mjs +459 -17
- package/build/teste.html +834 -842
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -256,7 +256,7 @@ function decompress(input) {
|
|
|
256
256
|
// src/banks/ailos/gerarPDF.ts
|
|
257
257
|
function gerarPDF(_0) {
|
|
258
258
|
return __async(this, arguments, function* ({ dados }) {
|
|
259
|
-
var _a, _b, _c, _d;
|
|
259
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
260
260
|
try {
|
|
261
261
|
const { generatePDF, dadosPDF } = dados;
|
|
262
262
|
const codigoBarra2 = yield import_bwip_js.default.toBuffer({
|
|
@@ -298,19 +298,20 @@ function gerarPDF(_0) {
|
|
|
298
298
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
299
299
|
}
|
|
300
300
|
const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
|
|
301
|
-
|
|
302
|
-
|
|
301
|
+
const jurosAoDia = jurosMes / 30;
|
|
302
|
+
if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
|
|
303
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosAoDia}% AO DIA, AP\xD3S O VENCIMENTO`;
|
|
303
304
|
}
|
|
304
|
-
const descontoVencimento = Number(((
|
|
305
|
-
if (descontoVencimento > 0) {
|
|
305
|
+
const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
|
|
306
|
+
if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
|
|
306
307
|
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
307
308
|
}
|
|
308
|
-
const multaAtraso = Number(((
|
|
309
|
-
if (multaAtraso > 0) {
|
|
309
|
+
const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
|
|
310
|
+
if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
|
|
310
311
|
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
|
|
311
312
|
}
|
|
312
|
-
const protestoDias = Number(((
|
|
313
|
-
if (protestoDias > 0) {
|
|
313
|
+
const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
|
|
314
|
+
if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
|
|
314
315
|
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
315
316
|
}
|
|
316
317
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
@@ -665,6 +666,7 @@ var Banco = /* @__PURE__ */ ((Banco2) => {
|
|
|
665
666
|
Banco2["BRADESCO"] = "005";
|
|
666
667
|
Banco2["SICREDI"] = "748";
|
|
667
668
|
Banco2["SICOOB"] = "756";
|
|
669
|
+
Banco2["BANCO_BRASIL"] = "001";
|
|
668
670
|
return Banco2;
|
|
669
671
|
})(Banco || {});
|
|
670
672
|
|
|
@@ -1257,7 +1259,7 @@ function getDigito3(texto) {
|
|
|
1257
1259
|
var import_bwip_js3 = __toESM(require("bwip-js"));
|
|
1258
1260
|
function gerarPDF3(_0) {
|
|
1259
1261
|
return __async(this, arguments, function* ({ dados }) {
|
|
1260
|
-
var _a, _b, _c, _d;
|
|
1262
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1261
1263
|
try {
|
|
1262
1264
|
const { generatePDF, dadosPDF } = dados;
|
|
1263
1265
|
const codigoBarra2 = yield import_bwip_js3.default.toBuffer({
|
|
@@ -1298,18 +1300,19 @@ function gerarPDF3(_0) {
|
|
|
1298
1300
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
1299
1301
|
}
|
|
1300
1302
|
const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
+
const jurosAoDia = jurosMes > 0 ? jurosMes / 30 : 0;
|
|
1304
|
+
if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
|
|
1305
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosAoDia}% AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1303
1306
|
}
|
|
1304
|
-
const descontoVencimento = Number(((
|
|
1305
|
-
if (descontoVencimento > 0) {
|
|
1307
|
+
const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
|
|
1308
|
+
if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
|
|
1306
1309
|
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1307
1310
|
}
|
|
1308
|
-
const multaAtraso = Number(((
|
|
1309
|
-
if (multaAtraso > 0) {
|
|
1311
|
+
const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
|
|
1312
|
+
if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
|
|
1310
1313
|
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
|
|
1311
1314
|
}
|
|
1312
|
-
const protestoDias = Number(((
|
|
1315
|
+
const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
|
|
1313
1316
|
if (protestoDias > 0) {
|
|
1314
1317
|
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1315
1318
|
}
|
|
@@ -1984,6 +1987,436 @@ var sicoob = {
|
|
|
1984
1987
|
gerarPDF: gerarPDF4
|
|
1985
1988
|
};
|
|
1986
1989
|
|
|
1990
|
+
// src/banks/banco-brasil/gerarDadosBoleto.ts
|
|
1991
|
+
function gerarDadosBoleto5({ dados }) {
|
|
1992
|
+
try {
|
|
1993
|
+
const {
|
|
1994
|
+
bancario,
|
|
1995
|
+
parcela
|
|
1996
|
+
} = dados;
|
|
1997
|
+
parcela.valor = Number(parcela.valor);
|
|
1998
|
+
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
1999
|
+
const valor = getValor5(parcela.valor);
|
|
2000
|
+
const convenio = padLeft(bancario.convenio, 6);
|
|
2001
|
+
const numeroDocumento = padLeft(`${parcela.id_boleto}2`, 5);
|
|
2002
|
+
const nossoNumero = getNossoNumero3(`${convenio}${numeroDocumento}`);
|
|
2003
|
+
const campoLivre = copy(nossoNumero, 1, 11) + padLeft(bancario.agencia, 4) + padLeft(`${bancario.numero}${bancario.numero_dv}`, 8) + padLeft(bancario.carteira, 2);
|
|
2004
|
+
const digitoGeral = getDigitoGeral5(`0019${fatorVencimento}${valor}${campoLivre}`);
|
|
2005
|
+
const codigoBarra2 = `0019${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
2006
|
+
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
2007
|
+
const campo2 = copy(codigoBarra2, 25, 34);
|
|
2008
|
+
const campo3 = copy(codigoBarra2, 35, 44);
|
|
2009
|
+
const campo4 = copy(codigoBarra2, 5, 5);
|
|
2010
|
+
const campo5 = copy(codigoBarra2, 6, 9) + copy(codigoBarra2, 10, 19);
|
|
2011
|
+
const digito1 = getDigito5(campo1);
|
|
2012
|
+
const digito2 = getDigito5(campo2);
|
|
2013
|
+
const digito3 = getDigito5(campo3);
|
|
2014
|
+
const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + campo5;
|
|
2015
|
+
const dadosBoleto = {
|
|
2016
|
+
linhaDigitavel,
|
|
2017
|
+
fatorVencimento,
|
|
2018
|
+
valor,
|
|
2019
|
+
convenio,
|
|
2020
|
+
nossoNumero,
|
|
2021
|
+
campoLivre,
|
|
2022
|
+
digitoGeral,
|
|
2023
|
+
codigoBarra: codigoBarra2,
|
|
2024
|
+
numeroDocumento
|
|
2025
|
+
};
|
|
2026
|
+
return dadosBoleto;
|
|
2027
|
+
} catch (error) {
|
|
2028
|
+
console.log("Falha ao gerar dados do boleto", error);
|
|
2029
|
+
return null;
|
|
2030
|
+
}
|
|
2031
|
+
}
|
|
2032
|
+
function getValor5(valor) {
|
|
2033
|
+
const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
|
|
2034
|
+
return padLeft(valorFormatado, 10);
|
|
2035
|
+
}
|
|
2036
|
+
function getNossoNumero3(auxiliar) {
|
|
2037
|
+
let i = 11, j = 10, soma = 0;
|
|
2038
|
+
while (i >= 1) {
|
|
2039
|
+
j--;
|
|
2040
|
+
if (j === 1)
|
|
2041
|
+
j = 9;
|
|
2042
|
+
const numero = Number(copy(auxiliar, i, i));
|
|
2043
|
+
soma += j * numero;
|
|
2044
|
+
i--;
|
|
2045
|
+
}
|
|
2046
|
+
const resto = soma % 11;
|
|
2047
|
+
const digito = resto < 10 ? String(resto) : "X";
|
|
2048
|
+
const nosso_numero = auxiliar + digito;
|
|
2049
|
+
return nosso_numero;
|
|
2050
|
+
}
|
|
2051
|
+
function getDigitoGeral5(texto) {
|
|
2052
|
+
let i = 43;
|
|
2053
|
+
let j = 1;
|
|
2054
|
+
let soma = 0;
|
|
2055
|
+
while (i >= 1) {
|
|
2056
|
+
j++;
|
|
2057
|
+
if (j === 10)
|
|
2058
|
+
j = 2;
|
|
2059
|
+
const valor = Number(copy(texto, i, i));
|
|
2060
|
+
soma += j * valor;
|
|
2061
|
+
i--;
|
|
2062
|
+
}
|
|
2063
|
+
const resto = soma % 11;
|
|
2064
|
+
let digito = 11 - resto;
|
|
2065
|
+
if (digito === 0 || digito > 9)
|
|
2066
|
+
digito = 1;
|
|
2067
|
+
return String(digito);
|
|
2068
|
+
}
|
|
2069
|
+
function getDigito5(texto) {
|
|
2070
|
+
let i = texto.length;
|
|
2071
|
+
let j = 1;
|
|
2072
|
+
let total = 0;
|
|
2073
|
+
let soma = 0;
|
|
2074
|
+
let digito = 0;
|
|
2075
|
+
while (i >= 1) {
|
|
2076
|
+
j = j === 1 ? 2 : 1;
|
|
2077
|
+
let valor = Number(copy(texto, i, i));
|
|
2078
|
+
total = valor * j;
|
|
2079
|
+
if (total >= 10) {
|
|
2080
|
+
valor = Number(copy(total, 1, 1)) + Number(copy(total, 2, 2));
|
|
2081
|
+
} else {
|
|
2082
|
+
valor = total;
|
|
2083
|
+
}
|
|
2084
|
+
soma += valor;
|
|
2085
|
+
i--;
|
|
2086
|
+
}
|
|
2087
|
+
const uni = Number(copy(soma, String(soma).length, String(soma).length));
|
|
2088
|
+
digito = 10 - uni;
|
|
2089
|
+
if (digito === 10)
|
|
2090
|
+
digito = 0;
|
|
2091
|
+
return String(digito);
|
|
2092
|
+
}
|
|
2093
|
+
|
|
2094
|
+
// src/banks/banco-brasil/gerarPDF.ts
|
|
2095
|
+
var import_bwip_js5 = __toESM(require("bwip-js"));
|
|
2096
|
+
function gerarPDF5(_0) {
|
|
2097
|
+
return __async(this, arguments, function* ({ dados }) {
|
|
2098
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2099
|
+
try {
|
|
2100
|
+
const { dadosPDF } = dados;
|
|
2101
|
+
const codigoBarra2 = yield import_bwip_js5.default.toBuffer({
|
|
2102
|
+
bcid: "interleaved2of5",
|
|
2103
|
+
text: dadosPDF.boleto.codigoBarra,
|
|
2104
|
+
height: 20
|
|
2105
|
+
});
|
|
2106
|
+
dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
|
|
2107
|
+
dadosPDF.beneficiario.dadosBancario.conta = dadosPDF.beneficiario.dadosBancario.conta.padStart(7, "0");
|
|
2108
|
+
dadosPDF.boleto.linhaDigitavel = maskFormat_default.codigoBarra(dadosPDF.boleto.linhaDigitavel);
|
|
2109
|
+
dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
|
|
2110
|
+
dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
|
|
2111
|
+
dadosPDF.beneficiario.cnpj
|
|
2112
|
+
);
|
|
2113
|
+
dadosPDF.beneficiario.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
2114
|
+
dadosPDF.beneficiario.endereco.cep
|
|
2115
|
+
);
|
|
2116
|
+
dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
2117
|
+
dadosPDF.pagador.endereco.cep
|
|
2118
|
+
);
|
|
2119
|
+
dadosPDF.pagador.cnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cnpj);
|
|
2120
|
+
dadosPDF.boleto.valorAcrescimo = maskFormat_default.numberToReal(
|
|
2121
|
+
dadosPDF.boleto.valorAcrescimo
|
|
2122
|
+
);
|
|
2123
|
+
dadosPDF.boleto.valorCobrado = maskFormat_default.numberToReal(
|
|
2124
|
+
dadosPDF.boleto.valorCobrado
|
|
2125
|
+
);
|
|
2126
|
+
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
2127
|
+
dadosPDF.boleto.valorDescontoAbatimento
|
|
2128
|
+
);
|
|
2129
|
+
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
2130
|
+
dadosPDF.boleto.valorDocumento
|
|
2131
|
+
);
|
|
2132
|
+
dadosPDF.boleto.valorMulta = maskFormat_default.numberToReal(dadosPDF.boleto.valorMulta);
|
|
2133
|
+
dadosPDF.boleto.valorOutrasDeducoes = maskFormat_default.numberToReal(
|
|
2134
|
+
dadosPDF.boleto.valorOutrasDeducoes
|
|
2135
|
+
);
|
|
2136
|
+
if (dadosPDF.boleto.quantidade) {
|
|
2137
|
+
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
2138
|
+
}
|
|
2139
|
+
const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
|
|
2140
|
+
const jurosAoDia = jurosMes / 30;
|
|
2141
|
+
if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
|
|
2142
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO DIA, AP\xD3S O VENCIMENTO`;
|
|
2143
|
+
}
|
|
2144
|
+
const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
|
|
2145
|
+
if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
|
|
2146
|
+
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
2147
|
+
}
|
|
2148
|
+
const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
|
|
2149
|
+
if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
|
|
2150
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
|
|
2151
|
+
}
|
|
2152
|
+
const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
|
|
2153
|
+
if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
|
|
2154
|
+
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
2155
|
+
}
|
|
2156
|
+
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
2157
|
+
const content = compileHbs(getPathTemplates("banco-brasil-boleto.hbs"), dadosPDF);
|
|
2158
|
+
const config = {
|
|
2159
|
+
displayHeaderFooter: false,
|
|
2160
|
+
path: "./boleto.pdf",
|
|
2161
|
+
format: "a4",
|
|
2162
|
+
printBackground: true
|
|
2163
|
+
};
|
|
2164
|
+
let pdfBase64 = null;
|
|
2165
|
+
if (!api.defaults.baseURL) {
|
|
2166
|
+
throw new Error("BaseURL api not found");
|
|
2167
|
+
}
|
|
2168
|
+
const response = yield api.post("/", { content, config });
|
|
2169
|
+
const buffer = Buffer.from(response.data.pdf);
|
|
2170
|
+
pdfBase64 = yield decompress(buffer);
|
|
2171
|
+
return {
|
|
2172
|
+
erro: false,
|
|
2173
|
+
dados: pdfBase64
|
|
2174
|
+
};
|
|
2175
|
+
} catch (error) {
|
|
2176
|
+
console.log(error);
|
|
2177
|
+
return {
|
|
2178
|
+
erro: true,
|
|
2179
|
+
dados: null
|
|
2180
|
+
};
|
|
2181
|
+
}
|
|
2182
|
+
});
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
// src/banks/banco-brasil/gerarRemessa.ts
|
|
2186
|
+
var import_date_fns6 = require("date-fns");
|
|
2187
|
+
function gerarRemessa5({ dados }) {
|
|
2188
|
+
try {
|
|
2189
|
+
const { dadosBancario, beneficiario, boletos } = dados.remessa;
|
|
2190
|
+
const arquivo = new Arquivo();
|
|
2191
|
+
const dataAtual = /* @__PURE__ */ new Date();
|
|
2192
|
+
const data = (0, import_date_fns6.format)(dataAtual, "ddMMyyyy");
|
|
2193
|
+
const hora = (0, import_date_fns6.format)(dataAtual, "HHmmss");
|
|
2194
|
+
const convenio = dadosBancario.convenio.padStart(7, "0");
|
|
2195
|
+
const numero = dadosBancario.conta.padStart(7, "0") + dadosBancario.contaDigito;
|
|
2196
|
+
const remessa2 = `REM${convenio}-${numero}-${data}.REM`;
|
|
2197
|
+
arquivo.add("085");
|
|
2198
|
+
arquivo.add("0000");
|
|
2199
|
+
arquivo.add("0");
|
|
2200
|
+
arquivo.add(" ");
|
|
2201
|
+
arquivo.add("2");
|
|
2202
|
+
arquivo.add(beneficiario.cnpj);
|
|
2203
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
2204
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2205
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2206
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
2207
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
2208
|
+
arquivo.add(" ");
|
|
2209
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
2210
|
+
arquivo.add("AILOS".padEnd(30, " "));
|
|
2211
|
+
arquivo.add(" ");
|
|
2212
|
+
arquivo.add("1");
|
|
2213
|
+
arquivo.add(data);
|
|
2214
|
+
arquivo.add(hora);
|
|
2215
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
|
|
2216
|
+
arquivo.add("087");
|
|
2217
|
+
arquivo.add("00000");
|
|
2218
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2219
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2220
|
+
arquivo.add(" ".padEnd(29, " "));
|
|
2221
|
+
arquivo.addLine();
|
|
2222
|
+
arquivo.add("085");
|
|
2223
|
+
arquivo.add("0001");
|
|
2224
|
+
arquivo.add("1");
|
|
2225
|
+
arquivo.add("R");
|
|
2226
|
+
arquivo.add("01");
|
|
2227
|
+
arquivo.add(" ");
|
|
2228
|
+
arquivo.add("045");
|
|
2229
|
+
arquivo.add(" ");
|
|
2230
|
+
arquivo.add("2");
|
|
2231
|
+
arquivo.add(beneficiario.cnpj.padStart(15, "0"));
|
|
2232
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
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(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
2239
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2240
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2241
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
2242
|
+
arquivo.add(data);
|
|
2243
|
+
arquivo.add("00000000");
|
|
2244
|
+
arquivo.add(" ".padEnd(33, " "));
|
|
2245
|
+
arquivo.addLine();
|
|
2246
|
+
let sequencia = 0;
|
|
2247
|
+
let quantidadeRegistro = 0;
|
|
2248
|
+
let total = 0;
|
|
2249
|
+
for (const boleto of boletos) {
|
|
2250
|
+
const { pagador } = boleto;
|
|
2251
|
+
const vencimento = (0, import_date_fns6.format)(new Date(boleto.vencimento), "ddMMyyyy");
|
|
2252
|
+
total += Number(boleto.valor);
|
|
2253
|
+
const codigoJuro = dadosBancario.jurosMes > 0 ? "2" : "3";
|
|
2254
|
+
const juros = dadosBancario.jurosMes > 0 ? dadosBancario.jurosMes.toFixed(2) : "000000000000000";
|
|
2255
|
+
const jurosVencimento = (0, import_date_fns6.format)(
|
|
2256
|
+
(0, import_date_fns6.addDays)(new Date(boleto.vencimento), 1),
|
|
2257
|
+
"ddMMyyyy"
|
|
2258
|
+
);
|
|
2259
|
+
const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
|
|
2260
|
+
const desconto = dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
|
|
2261
|
+
const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
|
|
2262
|
+
const diasProtesto = protesto === "1" ? dadosBancario.diasProtesto.toString() : "00";
|
|
2263
|
+
arquivo.add("085");
|
|
2264
|
+
arquivo.add("0001");
|
|
2265
|
+
arquivo.add("3");
|
|
2266
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
2267
|
+
arquivo.add("P");
|
|
2268
|
+
arquivo.add(" ");
|
|
2269
|
+
arquivo.add("01");
|
|
2270
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2271
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2272
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
2273
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
2274
|
+
arquivo.add(" ");
|
|
2275
|
+
arquivo.add(boleto.nossoNumero.padEnd(20, " "));
|
|
2276
|
+
arquivo.add("1");
|
|
2277
|
+
arquivo.add("1");
|
|
2278
|
+
arquivo.add("1");
|
|
2279
|
+
arquivo.add("2");
|
|
2280
|
+
arquivo.add("2");
|
|
2281
|
+
arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
|
|
2282
|
+
arquivo.add(vencimento);
|
|
2283
|
+
arquivo.add(
|
|
2284
|
+
Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
|
|
2285
|
+
);
|
|
2286
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
2287
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
2288
|
+
arquivo.add("02");
|
|
2289
|
+
arquivo.add("A");
|
|
2290
|
+
arquivo.add(data);
|
|
2291
|
+
arquivo.add(codigoJuro);
|
|
2292
|
+
arquivo.add(jurosVencimento);
|
|
2293
|
+
arquivo.add(juros.replace(".", "").padStart(15, "0"));
|
|
2294
|
+
arquivo.add(codigoDesconto);
|
|
2295
|
+
arquivo.add(vencimento);
|
|
2296
|
+
arquivo.add(desconto.replace(".", "").padStart(15, "0"));
|
|
2297
|
+
arquivo.add("000000000000000");
|
|
2298
|
+
arquivo.add("000000000000000");
|
|
2299
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
2300
|
+
arquivo.add(protesto);
|
|
2301
|
+
arquivo.add(diasProtesto.padStart(1, "0"));
|
|
2302
|
+
arquivo.add("2");
|
|
2303
|
+
arquivo.add(" ");
|
|
2304
|
+
arquivo.add("09");
|
|
2305
|
+
arquivo.add("0000000000");
|
|
2306
|
+
arquivo.add(" ");
|
|
2307
|
+
arquivo.addLine();
|
|
2308
|
+
let tipoInscricao = "1";
|
|
2309
|
+
if (pagador.pessoa === "F") {
|
|
2310
|
+
tipoInscricao = "1";
|
|
2311
|
+
} else {
|
|
2312
|
+
tipoInscricao = "2";
|
|
2313
|
+
}
|
|
2314
|
+
pagador.endereco.logradouro = `${removerAcentos(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
2315
|
+
arquivo.add("085");
|
|
2316
|
+
arquivo.add("0001");
|
|
2317
|
+
arquivo.add("3");
|
|
2318
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
2319
|
+
arquivo.add("Q");
|
|
2320
|
+
arquivo.add(" ");
|
|
2321
|
+
arquivo.add("01");
|
|
2322
|
+
arquivo.add(tipoInscricao);
|
|
2323
|
+
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
2324
|
+
arquivo.add(removerAcentos(pagador.nome).substring(0, 40).padEnd(40, " "));
|
|
2325
|
+
arquivo.add(removerAcentos(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
|
|
2326
|
+
arquivo.add(removerAcentos(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
|
|
2327
|
+
arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
|
|
2328
|
+
arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
|
|
2329
|
+
arquivo.add(removerAcentos(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
|
|
2330
|
+
arquivo.add(removerAcentos(pagador.endereco.uf).padEnd(2, " "));
|
|
2331
|
+
arquivo.add("0");
|
|
2332
|
+
arquivo.add("000000000000000");
|
|
2333
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2334
|
+
arquivo.add("000");
|
|
2335
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2336
|
+
arquivo.add(" ".padEnd(8, " "));
|
|
2337
|
+
arquivo.addLine();
|
|
2338
|
+
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
2339
|
+
if (dadosBancario.multaAtraso > 0) {
|
|
2340
|
+
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
2341
|
+
arquivo.add("085");
|
|
2342
|
+
arquivo.add("0001");
|
|
2343
|
+
arquivo.add("3");
|
|
2344
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
2345
|
+
arquivo.add("R");
|
|
2346
|
+
arquivo.add(" ");
|
|
2347
|
+
arquivo.add("01");
|
|
2348
|
+
arquivo.add("0");
|
|
2349
|
+
arquivo.add("00000000");
|
|
2350
|
+
arquivo.add("000000000000000");
|
|
2351
|
+
arquivo.add("0");
|
|
2352
|
+
arquivo.add("00000000");
|
|
2353
|
+
arquivo.add("000000000000000");
|
|
2354
|
+
arquivo.add("2");
|
|
2355
|
+
arquivo.add(vencimento);
|
|
2356
|
+
arquivo.add(multa.replace(".", "").padStart(15, "0"));
|
|
2357
|
+
arquivo.add(" ".padEnd(10, " "));
|
|
2358
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2359
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
2360
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
2361
|
+
arquivo.add("00000000");
|
|
2362
|
+
arquivo.add("000");
|
|
2363
|
+
arquivo.add("00000");
|
|
2364
|
+
arquivo.add(" ");
|
|
2365
|
+
arquivo.add("000000000000");
|
|
2366
|
+
arquivo.add(" ");
|
|
2367
|
+
arquivo.add(" ");
|
|
2368
|
+
arquivo.add("0");
|
|
2369
|
+
arquivo.add("000000000");
|
|
2370
|
+
arquivo.addLine();
|
|
2371
|
+
}
|
|
2372
|
+
quantidadeRegistro++;
|
|
2373
|
+
}
|
|
2374
|
+
arquivo.add("085");
|
|
2375
|
+
arquivo.add("0001");
|
|
2376
|
+
arquivo.add("5");
|
|
2377
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
2378
|
+
arquivo.add((sequencia + 3).toString().padStart(6, "0"));
|
|
2379
|
+
arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
|
|
2380
|
+
arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
|
|
2381
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2382
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2383
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2384
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2385
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2386
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2387
|
+
arquivo.add(" ".padStart(8, " "));
|
|
2388
|
+
arquivo.add(" ".padStart(117, " "));
|
|
2389
|
+
arquivo.addLine();
|
|
2390
|
+
arquivo.add("085");
|
|
2391
|
+
arquivo.add("9999");
|
|
2392
|
+
arquivo.add("9");
|
|
2393
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
2394
|
+
arquivo.add("000001");
|
|
2395
|
+
arquivo.add((sequencia + 4).toString().padStart(6, "0"));
|
|
2396
|
+
arquivo.add("000000");
|
|
2397
|
+
arquivo.add(" ".padEnd(205, " "));
|
|
2398
|
+
return {
|
|
2399
|
+
download: remessa2,
|
|
2400
|
+
arquivo: arquivo.getArquivo()
|
|
2401
|
+
};
|
|
2402
|
+
} catch (error) {
|
|
2403
|
+
console.log(error);
|
|
2404
|
+
return null;
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2408
|
+
// src/banks/banco-brasil/gerarRetorno.ts
|
|
2409
|
+
function gerarRetorno4() {
|
|
2410
|
+
}
|
|
2411
|
+
|
|
2412
|
+
// src/banks/banco-brasil/index.ts
|
|
2413
|
+
var bancoBrasil = {
|
|
2414
|
+
gerarDadosBoleto: gerarDadosBoleto5,
|
|
2415
|
+
gerarPDF: gerarPDF5,
|
|
2416
|
+
gerarRemessa: gerarRemessa5,
|
|
2417
|
+
gerarRetorno: gerarRetorno4
|
|
2418
|
+
};
|
|
2419
|
+
|
|
1987
2420
|
// src/gerar.ts
|
|
1988
2421
|
function gerar({ banco, dados }) {
|
|
1989
2422
|
if (banco === "085" /* AILOS */) {
|
|
@@ -1998,6 +2431,9 @@ function gerar({ banco, dados }) {
|
|
|
1998
2431
|
if (banco === "756" /* SICOOB */) {
|
|
1999
2432
|
return sicoob.gerarDadosBoleto({ banco, dados });
|
|
2000
2433
|
}
|
|
2434
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2435
|
+
return bancoBrasil.gerarDadosBoleto({ banco, dados });
|
|
2436
|
+
}
|
|
2001
2437
|
}
|
|
2002
2438
|
|
|
2003
2439
|
// src/pdf.ts
|
|
@@ -2014,6 +2450,9 @@ function pdf({ banco, dados }) {
|
|
|
2014
2450
|
if (banco === "756" /* SICOOB */) {
|
|
2015
2451
|
return sicoob.gerarPDF({ banco, dados });
|
|
2016
2452
|
}
|
|
2453
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2454
|
+
return bancoBrasil.gerarPDF({ banco, dados });
|
|
2455
|
+
}
|
|
2017
2456
|
}
|
|
2018
2457
|
|
|
2019
2458
|
// src/remessa.ts
|
|
@@ -2030,6 +2469,9 @@ function remessa({ banco, dados }) {
|
|
|
2030
2469
|
if (banco === "756" /* SICOOB */) {
|
|
2031
2470
|
return sicoob.gerarRemessa({ banco, dados });
|
|
2032
2471
|
}
|
|
2472
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2473
|
+
return bancoBrasil.gerarRemessa({ banco, dados });
|
|
2474
|
+
}
|
|
2033
2475
|
}
|
|
2034
2476
|
|
|
2035
2477
|
// src/retorno.ts
|