@plasoft/boletos 1.0.31 → 1.0.33
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 +202 -46
- package/build/index.d.ts +202 -46
- package/build/index.js +458 -16
- package/build/index.mjs +458 -16
- package/build/sicredi-boleto.hbs +704 -701
- package/build/teste.html +834 -842
- package/package.json +1 -1
package/build/index.mjs
CHANGED
|
@@ -219,7 +219,6 @@ 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;
|
|
223
222
|
try {
|
|
224
223
|
const { generatePDF, dadosPDF } = dados;
|
|
225
224
|
const codigoBarra2 = yield BwipJs.toBuffer({
|
|
@@ -250,6 +249,7 @@ function gerarPDF(_0) {
|
|
|
250
249
|
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
251
250
|
dadosPDF.boleto.valorDescontoAbatimento
|
|
252
251
|
);
|
|
252
|
+
const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
|
|
253
253
|
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
254
254
|
dadosPDF.boleto.valorDocumento
|
|
255
255
|
);
|
|
@@ -260,19 +260,20 @@ function gerarPDF(_0) {
|
|
|
260
260
|
if (dadosPDF.boleto.quantidade) {
|
|
261
261
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
262
262
|
}
|
|
263
|
-
const jurosMes =
|
|
264
|
-
|
|
265
|
-
|
|
263
|
+
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
264
|
+
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
265
|
+
if (jurosDia > 0) {
|
|
266
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
266
267
|
}
|
|
267
|
-
const descontoVencimento =
|
|
268
|
+
const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
|
|
268
269
|
if (descontoVencimento > 0) {
|
|
269
270
|
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
270
271
|
}
|
|
271
|
-
const multaAtraso =
|
|
272
|
+
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
272
273
|
if (multaAtraso > 0) {
|
|
273
|
-
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}
|
|
274
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
274
275
|
}
|
|
275
|
-
const protestoDias =
|
|
276
|
+
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
276
277
|
if (protestoDias > 0) {
|
|
277
278
|
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
278
279
|
}
|
|
@@ -628,6 +629,7 @@ var Banco = /* @__PURE__ */ ((Banco2) => {
|
|
|
628
629
|
Banco2["BRADESCO"] = "005";
|
|
629
630
|
Banco2["SICREDI"] = "748";
|
|
630
631
|
Banco2["SICOOB"] = "756";
|
|
632
|
+
Banco2["BANCO_BRASIL"] = "001";
|
|
631
633
|
return Banco2;
|
|
632
634
|
})(Banco || {});
|
|
633
635
|
|
|
@@ -1220,7 +1222,6 @@ function getDigito3(texto) {
|
|
|
1220
1222
|
import BwipJs3 from "bwip-js";
|
|
1221
1223
|
function gerarPDF3(_0) {
|
|
1222
1224
|
return __async(this, arguments, function* ({ dados }) {
|
|
1223
|
-
var _a, _b, _c, _d;
|
|
1224
1225
|
try {
|
|
1225
1226
|
const { generatePDF, dadosPDF } = dados;
|
|
1226
1227
|
const codigoBarra2 = yield BwipJs3.toBuffer({
|
|
@@ -1250,6 +1251,7 @@ function gerarPDF3(_0) {
|
|
|
1250
1251
|
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
1251
1252
|
dadosPDF.boleto.valorDescontoAbatimento
|
|
1252
1253
|
);
|
|
1254
|
+
const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
|
|
1253
1255
|
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
1254
1256
|
dadosPDF.boleto.valorDocumento
|
|
1255
1257
|
);
|
|
@@ -1260,19 +1262,20 @@ function gerarPDF3(_0) {
|
|
|
1260
1262
|
if (dadosPDF.boleto.quantidade) {
|
|
1261
1263
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
1262
1264
|
}
|
|
1263
|
-
const jurosMes =
|
|
1264
|
-
|
|
1265
|
-
|
|
1265
|
+
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
1266
|
+
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
1267
|
+
if (jurosDia > 0) {
|
|
1268
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1266
1269
|
}
|
|
1267
|
-
const descontoVencimento =
|
|
1270
|
+
const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
|
|
1268
1271
|
if (descontoVencimento > 0) {
|
|
1269
1272
|
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1270
1273
|
}
|
|
1271
|
-
const multaAtraso =
|
|
1274
|
+
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
1272
1275
|
if (multaAtraso > 0) {
|
|
1273
|
-
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}
|
|
1276
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
1274
1277
|
}
|
|
1275
|
-
const protestoDias =
|
|
1278
|
+
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
1276
1279
|
if (protestoDias > 0) {
|
|
1277
1280
|
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1278
1281
|
}
|
|
@@ -1947,6 +1950,436 @@ var sicoob = {
|
|
|
1947
1950
|
gerarPDF: gerarPDF4
|
|
1948
1951
|
};
|
|
1949
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
|
+
|
|
1950
2383
|
// src/gerar.ts
|
|
1951
2384
|
function gerar({ banco, dados }) {
|
|
1952
2385
|
if (banco === "085" /* AILOS */) {
|
|
@@ -1961,6 +2394,9 @@ function gerar({ banco, dados }) {
|
|
|
1961
2394
|
if (banco === "756" /* SICOOB */) {
|
|
1962
2395
|
return sicoob.gerarDadosBoleto({ banco, dados });
|
|
1963
2396
|
}
|
|
2397
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2398
|
+
return bancoBrasil.gerarDadosBoleto({ banco, dados });
|
|
2399
|
+
}
|
|
1964
2400
|
}
|
|
1965
2401
|
|
|
1966
2402
|
// src/pdf.ts
|
|
@@ -1977,6 +2413,9 @@ function pdf({ banco, dados }) {
|
|
|
1977
2413
|
if (banco === "756" /* SICOOB */) {
|
|
1978
2414
|
return sicoob.gerarPDF({ banco, dados });
|
|
1979
2415
|
}
|
|
2416
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2417
|
+
return bancoBrasil.gerarPDF({ banco, dados });
|
|
2418
|
+
}
|
|
1980
2419
|
}
|
|
1981
2420
|
|
|
1982
2421
|
// src/remessa.ts
|
|
@@ -1993,6 +2432,9 @@ function remessa({ banco, dados }) {
|
|
|
1993
2432
|
if (banco === "756" /* SICOOB */) {
|
|
1994
2433
|
return sicoob.gerarRemessa({ banco, dados });
|
|
1995
2434
|
}
|
|
2435
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2436
|
+
return bancoBrasil.gerarRemessa({ banco, dados });
|
|
2437
|
+
}
|
|
1996
2438
|
}
|
|
1997
2439
|
|
|
1998
2440
|
// src/retorno.ts
|