@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/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
- if (jurosMes > 0) {
302
- dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO M\xCAS, AP\xD3S O VENCIMENTO`;
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(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
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(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.multa) || 0);
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(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
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);
@@ -431,8 +432,8 @@ function gerarRemessa({ dados }) {
431
432
  arquivo.add("00000000");
432
433
  arquivo.add(" ".padEnd(33, " "));
433
434
  arquivo.addLine();
434
- let sequencia = 1;
435
- let quantidadeRegistro = 1;
435
+ let sequencia = 0;
436
+ let quantidadeRegistro = 0;
436
437
  let total = 0;
437
438
  for (const boleto of boletos) {
438
439
  const { pagador } = boleto;
@@ -451,7 +452,7 @@ function gerarRemessa({ dados }) {
451
452
  arquivo.add("085");
452
453
  arquivo.add("0001");
453
454
  arquivo.add("3");
454
- arquivo.add(sequencia.toString().padStart(5, "0"));
455
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
455
456
  arquivo.add("P");
456
457
  arquivo.add(" ");
457
458
  arquivo.add("01");
@@ -492,7 +493,6 @@ function gerarRemessa({ dados }) {
492
493
  arquivo.add("09");
493
494
  arquivo.add("0000000000");
494
495
  arquivo.add(" ");
495
- sequencia++;
496
496
  arquivo.addLine();
497
497
  let tipoInscricao = "1";
498
498
  if (pagador.pessoa === "F") {
@@ -504,7 +504,7 @@ function gerarRemessa({ dados }) {
504
504
  arquivo.add("085");
505
505
  arquivo.add("0001");
506
506
  arquivo.add("3");
507
- arquivo.add(sequencia.toString().padStart(5, "0"));
507
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
508
508
  arquivo.add("Q");
509
509
  arquivo.add(" ");
510
510
  arquivo.add("01");
@@ -523,15 +523,14 @@ function gerarRemessa({ dados }) {
523
523
  arquivo.add("000");
524
524
  arquivo.add(" ".padEnd(20, " "));
525
525
  arquivo.add(" ".padEnd(8, " "));
526
+ arquivo.addLine();
526
527
  dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
527
528
  if (dadosBancario.multaAtraso > 0) {
528
- arquivo.addLine();
529
529
  const multa = dadosBancario.multaAtraso.toFixed(2);
530
- sequencia++;
531
530
  arquivo.add("085");
532
531
  arquivo.add("0001");
533
532
  arquivo.add("3");
534
- arquivo.add(sequencia.toString().padStart(5, "0"));
533
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
535
534
  arquivo.add("R");
536
535
  arquivo.add(" ");
537
536
  arquivo.add("01");
@@ -557,9 +556,8 @@ function gerarRemessa({ dados }) {
557
556
  arquivo.add(" ");
558
557
  arquivo.add("0");
559
558
  arquivo.add("000000000");
559
+ arquivo.addLine();
560
560
  }
561
- sequencia++;
562
- arquivo.addLine();
563
561
  quantidadeRegistro++;
564
562
  }
565
563
  arquivo.add("085");
@@ -668,6 +666,7 @@ var Banco = /* @__PURE__ */ ((Banco2) => {
668
666
  Banco2["BRADESCO"] = "005";
669
667
  Banco2["SICREDI"] = "748";
670
668
  Banco2["SICOOB"] = "756";
669
+ Banco2["BANCO_BRASIL"] = "001";
671
670
  return Banco2;
672
671
  })(Banco || {});
673
672
 
@@ -1260,7 +1259,7 @@ function getDigito3(texto) {
1260
1259
  var import_bwip_js3 = __toESM(require("bwip-js"));
1261
1260
  function gerarPDF3(_0) {
1262
1261
  return __async(this, arguments, function* ({ dados }) {
1263
- var _a, _b, _c, _d;
1262
+ var _a, _b, _c, _d, _e, _f, _g;
1264
1263
  try {
1265
1264
  const { generatePDF, dadosPDF } = dados;
1266
1265
  const codigoBarra2 = yield import_bwip_js3.default.toBuffer({
@@ -1301,18 +1300,19 @@ function gerarPDF3(_0) {
1301
1300
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
1302
1301
  }
1303
1302
  const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
1304
- if (jurosMes > 0) {
1305
- dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO M\xCAS, AP\xD3S O VENCIMENTO`;
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`;
1306
1306
  }
1307
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
1308
- 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) {
1309
1309
  dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
1310
1310
  }
1311
- const multaAtraso = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.multa) || 0);
1312
- 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) {
1313
1313
  dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
1314
1314
  }
1315
- const protestoDias = Number(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
1315
+ const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
1316
1316
  if (protestoDias > 0) {
1317
1317
  dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
1318
1318
  }
@@ -1987,6 +1987,436 @@ var sicoob = {
1987
1987
  gerarPDF: gerarPDF4
1988
1988
  };
1989
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
+
1990
2420
  // src/gerar.ts
1991
2421
  function gerar({ banco, dados }) {
1992
2422
  if (banco === "085" /* AILOS */) {
@@ -2001,6 +2431,9 @@ function gerar({ banco, dados }) {
2001
2431
  if (banco === "756" /* SICOOB */) {
2002
2432
  return sicoob.gerarDadosBoleto({ banco, dados });
2003
2433
  }
2434
+ if (banco === "001" /* BANCO_BRASIL */) {
2435
+ return bancoBrasil.gerarDadosBoleto({ banco, dados });
2436
+ }
2004
2437
  }
2005
2438
 
2006
2439
  // src/pdf.ts
@@ -2017,6 +2450,9 @@ function pdf({ banco, dados }) {
2017
2450
  if (banco === "756" /* SICOOB */) {
2018
2451
  return sicoob.gerarPDF({ banco, dados });
2019
2452
  }
2453
+ if (banco === "001" /* BANCO_BRASIL */) {
2454
+ return bancoBrasil.gerarPDF({ banco, dados });
2455
+ }
2020
2456
  }
2021
2457
 
2022
2458
  // src/remessa.ts
@@ -2033,6 +2469,9 @@ function remessa({ banco, dados }) {
2033
2469
  if (banco === "756" /* SICOOB */) {
2034
2470
  return sicoob.gerarRemessa({ banco, dados });
2035
2471
  }
2472
+ if (banco === "001" /* BANCO_BRASIL */) {
2473
+ return bancoBrasil.gerarRemessa({ banco, dados });
2474
+ }
2036
2475
  }
2037
2476
 
2038
2477
  // src/retorno.ts