@plasoft/boletos 1.0.65 → 1.0.67
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/exemplo.png +0 -0
- package/build/index.d.mts +92 -1
- package/build/index.d.ts +92 -1
- package/build/index.js +1543 -1068
- package/build/index.js.map +1 -1
- package/build/index.mjs +1542 -1067
- package/build/index.mjs.map +1 -1
- package/build/qrcode-example.svg +191 -0
- package/build/sicredi-carne.hbs +608 -0
- package/build/view.html +325 -0
- package/package.json +6 -1
package/build/index.js
CHANGED
|
@@ -73,14 +73,199 @@ __export(src_exports, {
|
|
|
73
73
|
});
|
|
74
74
|
module.exports = __toCommonJS(src_exports);
|
|
75
75
|
|
|
76
|
-
// src/utils/
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
// src/utils/compileHbs.ts
|
|
77
|
+
var import_handlebars = __toESM(require("handlebars"));
|
|
78
|
+
var import_fs = __toESM(require("fs"));
|
|
79
|
+
function compileHbs(templatePath, data) {
|
|
80
|
+
const html = import_fs.default.readFileSync(templatePath, "utf-8");
|
|
81
|
+
const content = import_handlebars.default.compile(html)(data);
|
|
82
|
+
return content;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// src/utils/getPathTemplates.ts
|
|
86
|
+
var import_path = __toESM(require("path"));
|
|
87
|
+
function getPathTemplates(template) {
|
|
88
|
+
if (process.env.NODE_ENV === "dev") {
|
|
89
|
+
return import_path.default.resolve(process.cwd(), "views", template);
|
|
90
|
+
}
|
|
91
|
+
return import_path.default.resolve(__dirname, template);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// src/services/api.ts
|
|
95
|
+
var import_config = require("dotenv/config");
|
|
96
|
+
var import_axios = __toESM(require("axios"));
|
|
97
|
+
var api = import_axios.default.create({
|
|
98
|
+
baseURL: process.env.API_URL || "https://23136fv876.execute-api.sa-east-1.amazonaws.com/dev/create-report"
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// src/utils/zip.ts
|
|
102
|
+
var zlib = __toESM(require("zlib"));
|
|
103
|
+
function decompress(input) {
|
|
104
|
+
return new Promise((resolve, reject) => {
|
|
105
|
+
zlib.gunzip(input, (error, result) => {
|
|
106
|
+
if (error) {
|
|
107
|
+
return reject(error);
|
|
108
|
+
}
|
|
109
|
+
resolve(result.toString());
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/banks/sicredi/gerarPDFCarne.ts
|
|
115
|
+
var import_bwip_js = __toESM(require("bwip-js"));
|
|
116
|
+
|
|
117
|
+
// src/utils/maskFormat.ts
|
|
118
|
+
var import_string_mask = __toESM(require("string-mask"));
|
|
119
|
+
function retornaCpfCnpjFormatado(cpfCnpj) {
|
|
120
|
+
if ((cpfCnpj == null ? void 0 : cpfCnpj.length) <= 11) {
|
|
121
|
+
const formatter2 = new import_string_mask.default("000.000.000-00");
|
|
122
|
+
return formatter2.apply(cpfCnpj);
|
|
123
|
+
}
|
|
124
|
+
const formatter = new import_string_mask.default("00.000.000/0000-00");
|
|
125
|
+
return formatter.apply(cpfCnpj);
|
|
126
|
+
}
|
|
127
|
+
function retornaCEPFormatado(cep) {
|
|
128
|
+
const formatter = new import_string_mask.default("00000-000");
|
|
129
|
+
return formatter.apply(cep);
|
|
130
|
+
}
|
|
131
|
+
function numberToReal(numero) {
|
|
132
|
+
numero = typeof numero === "string" ? parseFloat(numero) : numero;
|
|
133
|
+
numero = numero.toFixed(2).split(".");
|
|
134
|
+
numero[0] = numero[0].split(/(?=(?:...)*$)/).join(".");
|
|
135
|
+
return numero.join(",");
|
|
136
|
+
}
|
|
137
|
+
function codigoBarra(codigo) {
|
|
138
|
+
const formatter = new import_string_mask.default("00000.00000 00000.000000 00000.000000 0 000000000000000");
|
|
139
|
+
return formatter.apply(codigo);
|
|
140
|
+
}
|
|
141
|
+
var maskFormat_default = {
|
|
142
|
+
numberToReal,
|
|
143
|
+
retornaCEPFormatado,
|
|
144
|
+
retornaCpfCnpjFormatado,
|
|
145
|
+
codigoBarra
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
// src/banks/sicredi/gerarPDFCarne.ts
|
|
149
|
+
var import_qrcode = __toESM(require("qrcode"));
|
|
150
|
+
function gerarPDFCarne(_0) {
|
|
151
|
+
return __async(this, arguments, function* ({ dados }) {
|
|
152
|
+
try {
|
|
153
|
+
const { generatePDF, dadosPDF } = dados;
|
|
154
|
+
const carnes = [];
|
|
155
|
+
if (!dadosPDF.pagador.cpfcnpj) {
|
|
156
|
+
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
157
|
+
}
|
|
158
|
+
for (const boleto of dados.dadosPDF.boleto) {
|
|
159
|
+
const codigoBarra2 = yield import_bwip_js.default.toBuffer({
|
|
160
|
+
bcid: "interleaved2of5",
|
|
161
|
+
text: boleto.codigoBarra,
|
|
162
|
+
height: 20
|
|
163
|
+
});
|
|
164
|
+
const qrCode = yield import_qrcode.default.toDataURL(boleto.pixCopiaCola, {
|
|
165
|
+
errorCorrectionLevel: "H",
|
|
166
|
+
type: "image/png",
|
|
167
|
+
margin: 1,
|
|
168
|
+
scale: 6
|
|
169
|
+
});
|
|
170
|
+
boleto.qrCodeImage = qrCode;
|
|
171
|
+
dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
|
|
172
|
+
dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
|
|
173
|
+
dadosPDF.beneficiario.cnpj
|
|
174
|
+
);
|
|
175
|
+
dadosPDF.beneficiario.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
176
|
+
dadosPDF.beneficiario.endereco.cep
|
|
177
|
+
);
|
|
178
|
+
dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
179
|
+
dadosPDF.pagador.endereco.cep
|
|
180
|
+
);
|
|
181
|
+
dadosPDF.pagador.cpfcnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cpfcnpj);
|
|
182
|
+
boleto.linhaDigitavel = maskFormat_default.codigoBarra(boleto.linhaDigitavel);
|
|
183
|
+
boleto.codigoBarraImage = codigoBarra2.toString("base64");
|
|
184
|
+
boleto.valorAcrescimo = maskFormat_default.numberToReal(
|
|
185
|
+
boleto.valorAcrescimo
|
|
186
|
+
);
|
|
187
|
+
boleto.valorCobrado = maskFormat_default.numberToReal(
|
|
188
|
+
boleto.valorCobrado
|
|
189
|
+
);
|
|
190
|
+
boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
191
|
+
boleto.valorDescontoAbatimento
|
|
192
|
+
);
|
|
193
|
+
const valorDocumento = Number(boleto.valorDocumento);
|
|
194
|
+
boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
195
|
+
boleto.valorDocumento
|
|
196
|
+
);
|
|
197
|
+
boleto.valorMulta = maskFormat_default.numberToReal(boleto.valorMulta);
|
|
198
|
+
boleto.valorOutrasDeducoes = maskFormat_default.numberToReal(
|
|
199
|
+
boleto.valorOutrasDeducoes
|
|
200
|
+
);
|
|
201
|
+
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
202
|
+
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
203
|
+
if (jurosDia > 0) {
|
|
204
|
+
boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
205
|
+
}
|
|
206
|
+
const descontoVencimento = boleto.desconto > 0 ? boleto.desconto : dadosPDF.beneficiario.dadosBancario.desconto > 0 ? dadosPDF.beneficiario.dadosBancario.desconto : 0;
|
|
207
|
+
if (descontoVencimento > 0) {
|
|
208
|
+
boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
209
|
+
}
|
|
210
|
+
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
211
|
+
if (multaAtraso > 0) {
|
|
212
|
+
boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
213
|
+
}
|
|
214
|
+
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
215
|
+
if (protestoDias > 0) {
|
|
216
|
+
boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
217
|
+
}
|
|
218
|
+
dadosPDF.pagador.isCnpj = dadosPDF.pagador.cpfcnpj.length > 14;
|
|
219
|
+
carnes.push({ boleto, pagador: dadosPDF.pagador, beneficiario: dadosPDF.beneficiario });
|
|
220
|
+
}
|
|
221
|
+
const content = compileHbs(getPathTemplates("sicredi-carne.hbs"), { boletos: carnes });
|
|
222
|
+
const config = {
|
|
223
|
+
displayHeaderFooter: false,
|
|
224
|
+
path: "./boleto.pdf",
|
|
225
|
+
format: "a4",
|
|
226
|
+
printBackground: true,
|
|
227
|
+
preferCSSPageSize: true
|
|
228
|
+
};
|
|
229
|
+
let pdfBase64 = null;
|
|
230
|
+
if (generatePDF) {
|
|
231
|
+
pdfBase64 = yield generatePDF(content, config);
|
|
232
|
+
} else {
|
|
233
|
+
if (!api.defaults.baseURL) {
|
|
234
|
+
throw new Error("BaseURL api not found");
|
|
235
|
+
}
|
|
236
|
+
const response = yield api.post("/", { content, config });
|
|
237
|
+
const buffer = Buffer.from(response.data.pdf);
|
|
238
|
+
pdfBase64 = yield decompress(buffer);
|
|
239
|
+
}
|
|
240
|
+
return {
|
|
241
|
+
erro: false,
|
|
242
|
+
dados: pdfBase64
|
|
243
|
+
};
|
|
244
|
+
} catch (error) {
|
|
245
|
+
console.log(error);
|
|
246
|
+
if (error instanceof Error) {
|
|
247
|
+
return {
|
|
248
|
+
erro: true,
|
|
249
|
+
dados: error.message
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
erro: true,
|
|
254
|
+
dados: "Falha ao gerar impress\xE3o do boleto"
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// src/utils/getFatorVencimento.ts
|
|
261
|
+
var import_date_fns = require("date-fns");
|
|
262
|
+
function getFatorVencimento(vencimento) {
|
|
263
|
+
vencimento = new Date(vencimento);
|
|
264
|
+
if (vencimento >= new Date(2025, 1, 22)) {
|
|
265
|
+
return (0, import_date_fns.differenceInDays)(new Date(vencimento), new Date(2022, 4, 29)).toString();
|
|
266
|
+
} else {
|
|
267
|
+
return (0, import_date_fns.differenceInDays)(new Date(vencimento), new Date(1997, 9, 7)).toString();
|
|
82
268
|
}
|
|
83
|
-
return numero;
|
|
84
269
|
}
|
|
85
270
|
|
|
86
271
|
// src/utils/copy.ts
|
|
@@ -100,30 +285,24 @@ function copy(texto, startPosition, endPosition) {
|
|
|
100
285
|
return retorno2;
|
|
101
286
|
}
|
|
102
287
|
|
|
103
|
-
// src/
|
|
104
|
-
var import_date_fns = require("date-fns");
|
|
105
|
-
function getFatorVencimento(vencimento) {
|
|
106
|
-
vencimento = new Date(vencimento);
|
|
107
|
-
if (vencimento >= new Date(2025, 1, 22)) {
|
|
108
|
-
return (0, import_date_fns.differenceInDays)(new Date(vencimento), new Date(2022, 4, 29)).toString();
|
|
109
|
-
} else {
|
|
110
|
-
return (0, import_date_fns.differenceInDays)(new Date(vencimento), new Date(1997, 9, 7)).toString();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// src/banks/ailos/gerarDadosBoleto.ts
|
|
288
|
+
// src/banks/sicredi/gerarDadosBoleto.ts
|
|
115
289
|
function gerarDadosBoleto({ dados }) {
|
|
116
290
|
try {
|
|
117
291
|
const { bancario, parcela } = dados;
|
|
118
292
|
parcela.valor = Number(parcela.valor);
|
|
119
293
|
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
120
294
|
const valor = getValor(parcela.valor);
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
295
|
+
const nossoNumero = getNossoNumero(
|
|
296
|
+
parcela.numeroUnico,
|
|
297
|
+
bancario.agencia,
|
|
298
|
+
bancario.posto,
|
|
299
|
+
bancario.codigoCedente
|
|
300
|
+
);
|
|
301
|
+
let campoLivre = bancario.tipoCobranca + bancario.tipoCarteira + nossoNumero + bancario.agencia.padStart(4, "0") + bancario.posto.padStart(2, "0") + bancario.codigoCedente.padStart(5, "0") + 10;
|
|
302
|
+
const digitoCampoLivre = getDigitoCampoLivre(campoLivre);
|
|
303
|
+
campoLivre = campoLivre + digitoCampoLivre;
|
|
304
|
+
const digitoGeral = getDigitoGeral(`7489${fatorVencimento}${valor}${campoLivre}`);
|
|
305
|
+
const codigoBarra2 = `7489${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
127
306
|
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
128
307
|
const campo2 = copy(codigoBarra2, 25, 34);
|
|
129
308
|
const campo3 = copy(codigoBarra2, 35, 44);
|
|
@@ -132,17 +311,16 @@ function gerarDadosBoleto({ dados }) {
|
|
|
132
311
|
const digito1 = getDigito(campo1);
|
|
133
312
|
const digito2 = getDigito(campo2);
|
|
134
313
|
const digito3 = getDigito(campo3);
|
|
135
|
-
const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 +
|
|
314
|
+
const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + /*digito4*/
|
|
315
|
+
+campo5;
|
|
136
316
|
const dadosBoleto = {
|
|
137
317
|
linhaDigitavel,
|
|
138
318
|
fatorVencimento,
|
|
139
319
|
valor,
|
|
140
|
-
convenio,
|
|
141
320
|
nossoNumero,
|
|
142
321
|
campoLivre,
|
|
143
322
|
digitoGeral,
|
|
144
|
-
codigoBarra: codigoBarra2
|
|
145
|
-
numeroDocumento
|
|
323
|
+
codigoBarra: codigoBarra2
|
|
146
324
|
};
|
|
147
325
|
return dadosBoleto;
|
|
148
326
|
} catch (error) {
|
|
@@ -150,9 +328,47 @@ function gerarDadosBoleto({ dados }) {
|
|
|
150
328
|
return null;
|
|
151
329
|
}
|
|
152
330
|
}
|
|
331
|
+
function getNossoNumero(id, agencia, posto, codigoCedente) {
|
|
332
|
+
let i = 19;
|
|
333
|
+
let j = 1;
|
|
334
|
+
let soma = 0;
|
|
335
|
+
let digito = 0;
|
|
336
|
+
const texto = agencia.padStart(4, "0") + posto.padStart(2, "0") + codigoCedente.padStart(5, "0") + id.padStart(8, "0");
|
|
337
|
+
while (i >= 1) {
|
|
338
|
+
j++;
|
|
339
|
+
if (j === 10)
|
|
340
|
+
j = 2;
|
|
341
|
+
const valor = Number(copy(texto, i, i));
|
|
342
|
+
soma += j * valor;
|
|
343
|
+
i--;
|
|
344
|
+
}
|
|
345
|
+
const restoDivisao = soma % 11;
|
|
346
|
+
digito = 11 - restoDivisao;
|
|
347
|
+
if (restoDivisao === 0 || restoDivisao === 1)
|
|
348
|
+
digito = 0;
|
|
349
|
+
return id.padStart(8, "0") + digito.toString();
|
|
350
|
+
}
|
|
153
351
|
function getValor(valor) {
|
|
154
352
|
const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
|
|
155
|
-
return
|
|
353
|
+
return valorFormatado.padStart(10, "0");
|
|
354
|
+
}
|
|
355
|
+
function getDigitoCampoLivre(texto) {
|
|
356
|
+
let i = 24;
|
|
357
|
+
let j = 1;
|
|
358
|
+
let soma = 0;
|
|
359
|
+
let digito = 0;
|
|
360
|
+
while (i >= 1) {
|
|
361
|
+
j++;
|
|
362
|
+
if (j === 10)
|
|
363
|
+
j = 2;
|
|
364
|
+
let valor = Number(copy(texto, i, i));
|
|
365
|
+
soma += valor * j;
|
|
366
|
+
i--;
|
|
367
|
+
}
|
|
368
|
+
const restoDivisao = soma % 11;
|
|
369
|
+
if (restoDivisao > 1)
|
|
370
|
+
digito = 11 - restoDivisao;
|
|
371
|
+
return String(digito);
|
|
156
372
|
}
|
|
157
373
|
function getDigitoGeral(texto) {
|
|
158
374
|
let i = 43;
|
|
@@ -169,7 +385,7 @@ function getDigitoGeral(texto) {
|
|
|
169
385
|
}
|
|
170
386
|
const restoDivisao = soma % 11;
|
|
171
387
|
digito = 11 - restoDivisao;
|
|
172
|
-
if (digito
|
|
388
|
+
if (digito <= 1 || digito >= 10)
|
|
173
389
|
digito = 1;
|
|
174
390
|
return String(digito);
|
|
175
391
|
}
|
|
@@ -198,79 +414,8 @@ function getDigito(texto) {
|
|
|
198
414
|
return String(digito);
|
|
199
415
|
}
|
|
200
416
|
|
|
201
|
-
// src/banks/
|
|
202
|
-
var
|
|
203
|
-
|
|
204
|
-
// src/utils/maskFormat.ts
|
|
205
|
-
var import_string_mask = __toESM(require("string-mask"));
|
|
206
|
-
function retornaCpfCnpjFormatado(cpfCnpj) {
|
|
207
|
-
if ((cpfCnpj == null ? void 0 : cpfCnpj.length) <= 11) {
|
|
208
|
-
const formatter2 = new import_string_mask.default("000.000.000-00");
|
|
209
|
-
return formatter2.apply(cpfCnpj);
|
|
210
|
-
}
|
|
211
|
-
const formatter = new import_string_mask.default("00.000.000/0000-00");
|
|
212
|
-
return formatter.apply(cpfCnpj);
|
|
213
|
-
}
|
|
214
|
-
function retornaCEPFormatado(cep) {
|
|
215
|
-
const formatter = new import_string_mask.default("00000-000");
|
|
216
|
-
return formatter.apply(cep);
|
|
217
|
-
}
|
|
218
|
-
function numberToReal(numero) {
|
|
219
|
-
numero = typeof numero === "string" ? parseFloat(numero) : numero;
|
|
220
|
-
numero = numero.toFixed(2).split(".");
|
|
221
|
-
numero[0] = numero[0].split(/(?=(?:...)*$)/).join(".");
|
|
222
|
-
return numero.join(",");
|
|
223
|
-
}
|
|
224
|
-
function codigoBarra(codigo) {
|
|
225
|
-
const formatter = new import_string_mask.default("00000.00000 00000.000000 00000.000000 0 000000000000000");
|
|
226
|
-
return formatter.apply(codigo);
|
|
227
|
-
}
|
|
228
|
-
var maskFormat_default = {
|
|
229
|
-
numberToReal,
|
|
230
|
-
retornaCEPFormatado,
|
|
231
|
-
retornaCpfCnpjFormatado,
|
|
232
|
-
codigoBarra
|
|
233
|
-
};
|
|
234
|
-
|
|
235
|
-
// src/utils/compileHbs.ts
|
|
236
|
-
var import_handlebars = __toESM(require("handlebars"));
|
|
237
|
-
var import_fs = __toESM(require("fs"));
|
|
238
|
-
function compileHbs(templatePath, data) {
|
|
239
|
-
const html = import_fs.default.readFileSync(templatePath, "utf-8");
|
|
240
|
-
const content = import_handlebars.default.compile(html)(data);
|
|
241
|
-
return content;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// src/utils/getPathTemplates.ts
|
|
245
|
-
var import_path = __toESM(require("path"));
|
|
246
|
-
function getPathTemplates(template) {
|
|
247
|
-
if (process.env.NODE_ENV === "dev") {
|
|
248
|
-
return import_path.default.resolve(process.cwd(), "views", template);
|
|
249
|
-
}
|
|
250
|
-
return import_path.default.resolve(__dirname, template);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
// src/services/api.ts
|
|
254
|
-
var import_config = require("dotenv/config");
|
|
255
|
-
var import_axios = __toESM(require("axios"));
|
|
256
|
-
var api = import_axios.default.create({
|
|
257
|
-
baseURL: process.env.API_URL || "https://23136fv876.execute-api.sa-east-1.amazonaws.com/dev/create-report"
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
// src/utils/zip.ts
|
|
261
|
-
var zlib = __toESM(require("zlib"));
|
|
262
|
-
function decompress(input) {
|
|
263
|
-
return new Promise((resolve, reject) => {
|
|
264
|
-
zlib.gunzip(input, (error, result) => {
|
|
265
|
-
if (error) {
|
|
266
|
-
return reject(error);
|
|
267
|
-
}
|
|
268
|
-
resolve(result.toString());
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
// src/banks/ailos/gerarPDF.ts
|
|
417
|
+
// src/banks/sicredi/gerarPDF.ts
|
|
418
|
+
var import_bwip_js2 = __toESM(require("bwip-js"));
|
|
274
419
|
function gerarPDF(_0) {
|
|
275
420
|
return __async(this, arguments, function* ({ dados }) {
|
|
276
421
|
try {
|
|
@@ -278,13 +423,12 @@ function gerarPDF(_0) {
|
|
|
278
423
|
if (!dadosPDF.pagador.cpfcnpj) {
|
|
279
424
|
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
280
425
|
}
|
|
281
|
-
const codigoBarra2 = yield
|
|
426
|
+
const codigoBarra2 = yield import_bwip_js2.default.toBuffer({
|
|
282
427
|
bcid: "interleaved2of5",
|
|
283
428
|
text: dadosPDF.boleto.codigoBarra,
|
|
284
429
|
height: 20
|
|
285
430
|
});
|
|
286
431
|
dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
|
|
287
|
-
dadosPDF.beneficiario.dadosBancario.conta = dadosPDF.beneficiario.dadosBancario.conta.padStart(7, "0");
|
|
288
432
|
dadosPDF.boleto.linhaDigitavel = maskFormat_default.codigoBarra(dadosPDF.boleto.linhaDigitavel);
|
|
289
433
|
dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
|
|
290
434
|
dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
|
|
@@ -336,7 +480,7 @@ function gerarPDF(_0) {
|
|
|
336
480
|
}
|
|
337
481
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
338
482
|
dadosPDF.pagador.isCnpj = dadosPDF.pagador.cpfcnpj.length > 14;
|
|
339
|
-
const content = compileHbs(getPathTemplates("
|
|
483
|
+
const content = compileHbs(getPathTemplates("sicredi-boleto.hbs"), dadosPDF);
|
|
340
484
|
const config = {
|
|
341
485
|
displayHeaderFooter: false,
|
|
342
486
|
path: "./boleto.pdf",
|
|
@@ -374,9 +518,6 @@ function gerarPDF(_0) {
|
|
|
374
518
|
});
|
|
375
519
|
}
|
|
376
520
|
|
|
377
|
-
// src/banks/ailos/gerarRemessa.ts
|
|
378
|
-
var import_date_fns2 = require("date-fns");
|
|
379
|
-
|
|
380
521
|
// src/lib/Arquivo.ts
|
|
381
522
|
var Arquivo = class {
|
|
382
523
|
constructor() {
|
|
@@ -415,238 +556,119 @@ function removerCaracterEspecial(texto) {
|
|
|
415
556
|
return textoFormatado;
|
|
416
557
|
}
|
|
417
558
|
|
|
418
|
-
// src/banks/
|
|
559
|
+
// src/banks/sicredi/gerarRemessa.ts
|
|
560
|
+
var import_date_fns2 = require("date-fns");
|
|
419
561
|
function gerarRemessa({ dados }) {
|
|
420
562
|
try {
|
|
421
563
|
const { dadosBancario, beneficiario, boletos } = dados.remessa;
|
|
422
564
|
const arquivo = new Arquivo();
|
|
423
|
-
const
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
arquivo.add("
|
|
445
|
-
arquivo.add(data);
|
|
446
|
-
arquivo.add(hora);
|
|
447
|
-
arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
|
|
448
|
-
arquivo.add("087");
|
|
449
|
-
arquivo.add("00000");
|
|
450
|
-
arquivo.add(" ".padEnd(20, " "));
|
|
451
|
-
arquivo.add(" ".padEnd(20, " "));
|
|
452
|
-
arquivo.add(" ".padEnd(29, " "));
|
|
453
|
-
arquivo.addLine();
|
|
454
|
-
arquivo.add("085");
|
|
455
|
-
arquivo.add("0001");
|
|
456
|
-
arquivo.add("1");
|
|
457
|
-
arquivo.add("R");
|
|
565
|
+
const data = /* @__PURE__ */ new Date();
|
|
566
|
+
let protestar = "00";
|
|
567
|
+
let negativar = "0000";
|
|
568
|
+
switch (dadosBancario.tipo_protesto) {
|
|
569
|
+
case "Nenhum":
|
|
570
|
+
protestar = "00";
|
|
571
|
+
negativar = "0000";
|
|
572
|
+
break;
|
|
573
|
+
case "Protestar":
|
|
574
|
+
protestar = "06";
|
|
575
|
+
negativar = "0000";
|
|
576
|
+
break;
|
|
577
|
+
case "Negativar":
|
|
578
|
+
protestar = "00";
|
|
579
|
+
negativar = "06" + String(dadosBancario.diasProtesto).padStart(2, "0");
|
|
580
|
+
break;
|
|
581
|
+
default:
|
|
582
|
+
protestar = "00";
|
|
583
|
+
negativar = "0000";
|
|
584
|
+
break;
|
|
585
|
+
}
|
|
586
|
+
arquivo.add("01REMESSA");
|
|
458
587
|
arquivo.add("01");
|
|
459
|
-
arquivo.add("
|
|
460
|
-
arquivo.add(
|
|
461
|
-
arquivo.add(
|
|
462
|
-
arquivo.add("
|
|
463
|
-
arquivo.add(
|
|
464
|
-
arquivo.add(
|
|
465
|
-
arquivo.add(
|
|
466
|
-
arquivo.add(
|
|
467
|
-
arquivo.add(dadosBancario.
|
|
468
|
-
arquivo.add(
|
|
469
|
-
arquivo.add("
|
|
470
|
-
arquivo.add(
|
|
471
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
472
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
473
|
-
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
474
|
-
arquivo.add(data);
|
|
475
|
-
arquivo.add("00000000");
|
|
476
|
-
arquivo.add(" ".padEnd(33, " "));
|
|
588
|
+
arquivo.add("COBRANCA".padEnd(15, " "));
|
|
589
|
+
arquivo.add(dadosBancario.codigo_cedente);
|
|
590
|
+
arquivo.add(beneficiario.cnpj);
|
|
591
|
+
arquivo.add(" ".padEnd(31, " "));
|
|
592
|
+
arquivo.add("748");
|
|
593
|
+
arquivo.add("SICREDI".padEnd(15, " "));
|
|
594
|
+
arquivo.add((0, import_date_fns2.format)(data, "yyyyMMdd"));
|
|
595
|
+
arquivo.add(" ".padEnd(8, " "));
|
|
596
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(7, "0"));
|
|
597
|
+
arquivo.add(" ".padEnd(273, " "));
|
|
598
|
+
arquivo.add("2.00");
|
|
599
|
+
arquivo.add("000001");
|
|
477
600
|
arquivo.addLine();
|
|
478
|
-
let sequencia =
|
|
479
|
-
let quantidadeRegistro = 0;
|
|
601
|
+
let sequencia = 2;
|
|
480
602
|
let total = 0;
|
|
481
603
|
for (const boleto of boletos) {
|
|
482
604
|
const { pagador } = boleto;
|
|
483
|
-
const vencimento = (0, import_date_fns2.format)(new Date(boleto.vencimento), "ddMMyyyy");
|
|
484
605
|
total += Number(boleto.valor);
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
"
|
|
490
|
-
|
|
491
|
-
const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
|
|
492
|
-
const desconto = boleto.desconto > 0 ? boleto.desconto.toFixed(2) : dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
|
|
493
|
-
let diasProtesto = "00";
|
|
494
|
-
let protesto = "3";
|
|
495
|
-
switch (dadosBancario.tipo_protesto) {
|
|
496
|
-
case "Nenhum":
|
|
497
|
-
protesto = "3";
|
|
498
|
-
diasProtesto = "00";
|
|
499
|
-
break;
|
|
500
|
-
case "Protestar":
|
|
501
|
-
protesto = "1";
|
|
502
|
-
diasProtesto = dadosBancario.diasProtesto.toString().padStart(2, "0");
|
|
503
|
-
break;
|
|
504
|
-
case "Negativar":
|
|
505
|
-
protesto = "2";
|
|
506
|
-
diasProtesto = dadosBancario.diasProtesto.toString().padStart(2, "0");
|
|
507
|
-
break;
|
|
508
|
-
default:
|
|
509
|
-
protesto = "3";
|
|
510
|
-
diasProtesto = "00";
|
|
511
|
-
break;
|
|
606
|
+
let tipoInscricao = pagador.pessoa === "F" ? "1" : "2";
|
|
607
|
+
let desconto = "0000000000000";
|
|
608
|
+
let dataDesconto = "000000";
|
|
609
|
+
if (boleto.desconto) {
|
|
610
|
+
desconto = boleto.desconto.toFixed(2).replace(".", "").padStart(13, "0");
|
|
611
|
+
dataDesconto = (0, import_date_fns2.format)(new Date(boleto.vencimento), "ddMMyy");
|
|
512
612
|
}
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
arquivo.add("01");
|
|
520
|
-
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
521
|
-
arquivo.add(dadosBancario.agenciaDigito);
|
|
522
|
-
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
523
|
-
arquivo.add(dadosBancario.contaDigito);
|
|
524
|
-
arquivo.add(" ");
|
|
525
|
-
arquivo.add(boleto.nossoNumero.padEnd(20, " "));
|
|
526
|
-
arquivo.add("1");
|
|
527
|
-
arquivo.add("1");
|
|
613
|
+
if (!boleto.desconto && dadosBancario.descontoPagamento) {
|
|
614
|
+
desconto = dadosBancario.descontoPagamento.toFixed(2).replace(".", "").padStart(13, "0");
|
|
615
|
+
dataDesconto = (0, import_date_fns2.format)(new Date(boleto.vencimento), "ddMMyy");
|
|
616
|
+
}
|
|
617
|
+
let valorJurosDias = Number(boleto.valor) * Number(dadosBancario.jurosMes) / 100 / 30;
|
|
618
|
+
let multaAtraso = String(dadosBancario.multaAtraso * 100);
|
|
528
619
|
arquivo.add("1");
|
|
529
|
-
arquivo.add("
|
|
530
|
-
arquivo.add("
|
|
531
|
-
arquivo.add(
|
|
532
|
-
arquivo.add(
|
|
533
|
-
arquivo.add(
|
|
534
|
-
|
|
535
|
-
);
|
|
536
|
-
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
537
|
-
arquivo.add(dadosBancario.agenciaDigito);
|
|
538
|
-
arquivo.add("02");
|
|
539
|
-
arquivo.add(boleto.aceite);
|
|
540
|
-
arquivo.add(data);
|
|
541
|
-
arquivo.add(codigoJuro);
|
|
542
|
-
arquivo.add(jurosVencimento);
|
|
543
|
-
arquivo.add(juros.replace(".", "").padStart(15, "0"));
|
|
544
|
-
arquivo.add(codigoDesconto);
|
|
545
|
-
arquivo.add(vencimento);
|
|
546
|
-
arquivo.add(desconto.replace(".", "").padStart(15, "0"));
|
|
547
|
-
arquivo.add("000000000000000");
|
|
548
|
-
arquivo.add("000000000000000");
|
|
549
|
-
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
550
|
-
arquivo.add(protesto);
|
|
551
|
-
arquivo.add(diasProtesto);
|
|
552
|
-
arquivo.add("2");
|
|
553
|
-
arquivo.add(" ");
|
|
554
|
-
arquivo.add("09");
|
|
555
|
-
arquivo.add("0000000000");
|
|
620
|
+
arquivo.add("AAA");
|
|
621
|
+
arquivo.add(" ".padEnd(12, " "));
|
|
622
|
+
arquivo.add("AAA");
|
|
623
|
+
arquivo.add(" ".padEnd(28, " "));
|
|
624
|
+
arquivo.add(boleto.nossoNumero.padEnd(9, " "));
|
|
625
|
+
arquivo.add(" ".padEnd(6, " "));
|
|
626
|
+
arquivo.add((0, import_date_fns2.format)(new Date(boleto.emissao), "yyyyMMdd"));
|
|
556
627
|
arquivo.add(" ");
|
|
557
|
-
arquivo.
|
|
558
|
-
let tipoInscricao = "1";
|
|
559
|
-
if (pagador.pessoa === "F") {
|
|
560
|
-
tipoInscricao = "1";
|
|
561
|
-
} else {
|
|
562
|
-
tipoInscricao = "2";
|
|
563
|
-
}
|
|
564
|
-
pagador.endereco.logradouro = `${removerCaracterEspecial(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
565
|
-
arquivo.add("085");
|
|
566
|
-
arquivo.add("0001");
|
|
567
|
-
arquivo.add("3");
|
|
568
|
-
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
569
|
-
arquivo.add("Q");
|
|
628
|
+
arquivo.add("N");
|
|
570
629
|
arquivo.add(" ");
|
|
630
|
+
arquivo.add("B");
|
|
631
|
+
arquivo.add("0000");
|
|
632
|
+
arquivo.add(" ".padEnd(4, " "));
|
|
633
|
+
arquivo.add("0".padEnd(10, "0"));
|
|
634
|
+
arquivo.add(multaAtraso.padStart(4, "0"));
|
|
635
|
+
arquivo.add(" ".padEnd(12, " "));
|
|
571
636
|
arquivo.add("01");
|
|
637
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(10, " "));
|
|
638
|
+
arquivo.add((0, import_date_fns2.format)(new Date(boleto.vencimento), "ddMMyy"));
|
|
639
|
+
arquivo.add(Number(boleto.valor).toFixed(2).replace(".", "").padStart(13, "0"));
|
|
640
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
641
|
+
arquivo.add("A");
|
|
642
|
+
arquivo.add(boleto.aceite);
|
|
643
|
+
arquivo.add((0, import_date_fns2.format)(new Date(boleto.emissao), "ddMMyy"));
|
|
644
|
+
arquivo.add(protestar);
|
|
645
|
+
arquivo.add(String(dadosBancario.diasProtesto).padStart(2, "0"));
|
|
646
|
+
arquivo.add(Number(valorJurosDias).toFixed(2).replace(".", "").padStart(13, "0"));
|
|
647
|
+
arquivo.add(dataDesconto);
|
|
648
|
+
arquivo.add(desconto);
|
|
649
|
+
arquivo.add(negativar);
|
|
650
|
+
arquivo.add("0".padEnd(22, "0"));
|
|
572
651
|
arquivo.add(tipoInscricao);
|
|
573
|
-
arquivo.add(
|
|
652
|
+
arquivo.add("0");
|
|
653
|
+
arquivo.add(pagador.cpfCnpj.padStart(14, "0"));
|
|
574
654
|
arquivo.add(removerCaracterEspecial(pagador.nome).substring(0, 40).padEnd(40, " "));
|
|
575
655
|
arquivo.add(removerCaracterEspecial(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
|
|
576
|
-
arquivo.add(
|
|
577
|
-
arquivo.add(
|
|
578
|
-
arquivo.add(pagador.endereco.cep.
|
|
579
|
-
arquivo.add(
|
|
580
|
-
arquivo.add(
|
|
581
|
-
arquivo.add("0");
|
|
582
|
-
arquivo.add("000000000000000");
|
|
583
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
584
|
-
arquivo.add("000");
|
|
585
|
-
arquivo.add(" ".padEnd(20, " "));
|
|
586
|
-
arquivo.add(" ".padEnd(8, " "));
|
|
656
|
+
arquivo.add("0".padEnd(11, "0"));
|
|
657
|
+
arquivo.add(" ");
|
|
658
|
+
arquivo.add(pagador.endereco.cep.padEnd(8, " "));
|
|
659
|
+
arquivo.add("00000");
|
|
660
|
+
arquivo.add(" ".padEnd(55, " "));
|
|
661
|
+
arquivo.add(String(sequencia).padStart(6, "0"));
|
|
587
662
|
arquivo.addLine();
|
|
588
|
-
|
|
589
|
-
if (dadosBancario.multaAtraso > 0) {
|
|
590
|
-
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
591
|
-
arquivo.add("085");
|
|
592
|
-
arquivo.add("0001");
|
|
593
|
-
arquivo.add("3");
|
|
594
|
-
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
595
|
-
arquivo.add("R");
|
|
596
|
-
arquivo.add(" ");
|
|
597
|
-
arquivo.add("01");
|
|
598
|
-
arquivo.add("0");
|
|
599
|
-
arquivo.add("00000000");
|
|
600
|
-
arquivo.add("000000000000000");
|
|
601
|
-
arquivo.add("0");
|
|
602
|
-
arquivo.add("00000000");
|
|
603
|
-
arquivo.add("000000000000000");
|
|
604
|
-
arquivo.add("2");
|
|
605
|
-
arquivo.add(vencimento);
|
|
606
|
-
arquivo.add(multa.replace(".", "").padStart(15, "0"));
|
|
607
|
-
arquivo.add(" ".padEnd(10, " "));
|
|
608
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
609
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
610
|
-
arquivo.add(" ".padEnd(20, " "));
|
|
611
|
-
arquivo.add("00000000");
|
|
612
|
-
arquivo.add("000");
|
|
613
|
-
arquivo.add("00000");
|
|
614
|
-
arquivo.add(" ");
|
|
615
|
-
arquivo.add("000000000000");
|
|
616
|
-
arquivo.add(" ");
|
|
617
|
-
arquivo.add(" ");
|
|
618
|
-
arquivo.add("0");
|
|
619
|
-
arquivo.add("000000000");
|
|
620
|
-
arquivo.addLine();
|
|
621
|
-
}
|
|
622
|
-
quantidadeRegistro++;
|
|
663
|
+
sequencia++;
|
|
623
664
|
}
|
|
624
|
-
arquivo.add("
|
|
625
|
-
arquivo.add(
|
|
626
|
-
arquivo.add("
|
|
627
|
-
arquivo.add(
|
|
628
|
-
arquivo.add((sequencia + 3).toString().padStart(6, "0"));
|
|
629
|
-
arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
|
|
630
|
-
arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
|
|
631
|
-
arquivo.add("0".padStart(6, "0"));
|
|
632
|
-
arquivo.add("0".padStart(17, "0"));
|
|
633
|
-
arquivo.add("0".padStart(6, "0"));
|
|
634
|
-
arquivo.add("0".padStart(17, "0"));
|
|
635
|
-
arquivo.add("0".padStart(6, "0"));
|
|
636
|
-
arquivo.add("0".padStart(17, "0"));
|
|
637
|
-
arquivo.add(" ".padStart(8, " "));
|
|
638
|
-
arquivo.add(" ".padStart(117, " "));
|
|
665
|
+
arquivo.add("91748");
|
|
666
|
+
arquivo.add(dadosBancario.codigo_cedente);
|
|
667
|
+
arquivo.add(" ".padEnd(384, " "));
|
|
668
|
+
arquivo.add(String(sequencia).padStart(6, "0"));
|
|
639
669
|
arquivo.addLine();
|
|
640
|
-
arquivo.add("085");
|
|
641
|
-
arquivo.add("9999");
|
|
642
|
-
arquivo.add("9");
|
|
643
|
-
arquivo.add(" ".padEnd(9, " "));
|
|
644
|
-
arquivo.add("000001");
|
|
645
|
-
arquivo.add((sequencia + 4).toString().padStart(6, "0"));
|
|
646
|
-
arquivo.add("000000");
|
|
647
|
-
arquivo.add(" ".padEnd(205, " "));
|
|
648
670
|
return {
|
|
649
|
-
download:
|
|
671
|
+
download: `${dadosBancario.codigo_cedente}${retornaMes(data)}${(0, import_date_fns2.format)(data, "dd")}.crm`,
|
|
650
672
|
arquivo: arquivo.getArquivo()
|
|
651
673
|
};
|
|
652
674
|
} catch (error) {
|
|
@@ -654,9 +676,19 @@ function gerarRemessa({ dados }) {
|
|
|
654
676
|
return null;
|
|
655
677
|
}
|
|
656
678
|
}
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
679
|
+
function retornaMes(data) {
|
|
680
|
+
const mes = data.getMonth() + 1;
|
|
681
|
+
switch (mes) {
|
|
682
|
+
case 10:
|
|
683
|
+
return "O";
|
|
684
|
+
case 11:
|
|
685
|
+
return "N";
|
|
686
|
+
case 12:
|
|
687
|
+
return "D";
|
|
688
|
+
default:
|
|
689
|
+
return mes.toString();
|
|
690
|
+
}
|
|
691
|
+
}
|
|
660
692
|
|
|
661
693
|
// src/utils/agruparRetorno.ts
|
|
662
694
|
var import_date_fns3 = require("date-fns");
|
|
@@ -671,132 +703,292 @@ function agruparRetorno(documentos) {
|
|
|
671
703
|
}, {});
|
|
672
704
|
}
|
|
673
705
|
|
|
674
|
-
// src/banks/
|
|
706
|
+
// src/banks/sicredi/gerarRetorno.ts
|
|
707
|
+
var import_date_fns4 = require("date-fns");
|
|
675
708
|
function gerarRetorno({ dados }) {
|
|
676
709
|
try {
|
|
677
710
|
const { arquivo } = dados;
|
|
678
711
|
const documentos = [];
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
const codigoRetorno = linha.substring(15, 17);
|
|
684
|
-
if ((banco === "001" || banco === "085") && (codigoRetorno === "06" || codigoRetorno === "17")) {
|
|
685
|
-
let segmento = linha.substring(13, 14);
|
|
686
|
-
if (segmento === "T") {
|
|
687
|
-
const linhaDoc = linha.substring(105, 130).trimEnd();
|
|
688
|
-
let tipoDocumento = "INDEFINIDO";
|
|
689
|
-
let idDocumento = linhaDoc;
|
|
690
|
-
if (linhaDoc.includes("-")) {
|
|
691
|
-
const [tipoDoc, idDoc] = linhaDoc.split("-");
|
|
692
|
-
tipoDocumento = tipoDoc;
|
|
693
|
-
idDocumento = idDoc;
|
|
694
|
-
}
|
|
695
|
-
const especie = tipoDocumento.length ? tipoDocumento : "INDEFINIDO";
|
|
696
|
-
linha = arquivo[index + 1];
|
|
697
|
-
segmento = linha.substring(13, 14);
|
|
698
|
-
if (segmento === "U") {
|
|
699
|
-
let dataCredito;
|
|
700
|
-
const dataCreditoString = linha.substring(145, 153);
|
|
701
|
-
if (dataCreditoString && dataCreditoString !== "00000000") {
|
|
702
|
-
dataCredito = (0, import_date_fns4.parse)(dataCreditoString, "ddMMyyyy", /* @__PURE__ */ new Date());
|
|
703
|
-
} else {
|
|
704
|
-
const dataOcorrenciaString = linha.substring(157, 165);
|
|
705
|
-
dataCredito = (0, import_date_fns4.parse)(dataOcorrenciaString, "ddMMyyyy", /* @__PURE__ */ new Date());
|
|
706
|
-
}
|
|
707
|
-
const valorAbatimentoString = linha.substring(47, 62);
|
|
708
|
-
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
709
|
-
const valorDescontoString = linha.substring(32, 47);
|
|
710
|
-
const valorDesconto = Number(valorDescontoString) / 100;
|
|
711
|
-
const valorPagoString = linha.substring(77, 92);
|
|
712
|
-
const valorPago = Number(valorPagoString) / 100;
|
|
713
|
-
const valorJurosString = linha.substring(17, 32);
|
|
714
|
-
const valorJuros = Number(valorJurosString) / 100;
|
|
715
|
-
const valorMulta = 0;
|
|
716
|
-
const descontos = valorAbatimento + valorDesconto;
|
|
717
|
-
const valorTotal = valorPago - valorJuros + descontos;
|
|
718
|
-
const documento = {
|
|
719
|
-
id_documento: idDocumento,
|
|
720
|
-
especie,
|
|
721
|
-
valor: valorPago,
|
|
722
|
-
valor_multa: valorMulta,
|
|
723
|
-
valor_juros: valorJuros,
|
|
724
|
-
valor_desconto: valorDesconto,
|
|
725
|
-
valor_total: valorTotal,
|
|
726
|
-
data: dataCredito
|
|
727
|
-
};
|
|
728
|
-
documentos.push(documento);
|
|
729
|
-
}
|
|
730
|
-
}
|
|
712
|
+
for (const linha of arquivo) {
|
|
713
|
+
const id_registro = linha.substring(0, 1);
|
|
714
|
+
if (id_registro !== "1" /* DETALHE */) {
|
|
715
|
+
continue;
|
|
731
716
|
}
|
|
732
|
-
|
|
717
|
+
const ocorrencia = linha.substring(108, 110);
|
|
718
|
+
if (ocorrencia !== "06" && ocorrencia !== "15" && ocorrencia !== "17" && ocorrencia !== "03") {
|
|
719
|
+
continue;
|
|
720
|
+
}
|
|
721
|
+
const motivo = linha.substring(213, 223).trim();
|
|
722
|
+
const meu_numero = linha.substring(116, 126).trim();
|
|
723
|
+
let tipo_documento = "";
|
|
724
|
+
let id_documento = "";
|
|
725
|
+
if (meu_numero.includes("-")) {
|
|
726
|
+
const [tipo, id] = meu_numero.split("-");
|
|
727
|
+
tipo_documento = tipo;
|
|
728
|
+
id_documento = id;
|
|
729
|
+
}
|
|
730
|
+
let especie = "INDEFINIDO";
|
|
731
|
+
if (tipo_documento.length) {
|
|
732
|
+
especie = tipo_documento === "N" ? "NFE" : tipo_documento === "F" ? "FAT" : tipo_documento === "L" ? "FIN" : "INDEFINIDO";
|
|
733
|
+
}
|
|
734
|
+
let dataCredito;
|
|
735
|
+
const dataCreditoString = linha.substring(328, 336);
|
|
736
|
+
if (dataCreditoString && dataCreditoString !== "00000000") {
|
|
737
|
+
dataCredito = (0, import_date_fns4.parse)(dataCreditoString, "yyyyMMdd", /* @__PURE__ */ new Date());
|
|
738
|
+
} else {
|
|
739
|
+
const dataOcorrenciaString = linha.substring(110, 116);
|
|
740
|
+
dataCredito = (0, import_date_fns4.parse)(dataOcorrenciaString, "ddMMyy", /* @__PURE__ */ new Date());
|
|
741
|
+
}
|
|
742
|
+
const valor_titulo = Number(linha.substring(152, 165)) / 100;
|
|
743
|
+
const abatimento = Number(linha.substring(227, 240)) / 100;
|
|
744
|
+
let valor_desconto = Number(linha.substring(240, 253)) / 100;
|
|
745
|
+
const valor_pago = Number(linha.substring(253, 266)) / 100;
|
|
746
|
+
let valor_juros = Number(linha.substring(266, 279)) / 100;
|
|
747
|
+
const valor_multa = Number(linha.substring(279, 292)) / 100;
|
|
748
|
+
if (valor_titulo > valor_pago && valor_desconto === 0) {
|
|
749
|
+
valor_desconto = valor_titulo - valor_pago;
|
|
750
|
+
}
|
|
751
|
+
if (valor_titulo < valor_pago && valor_juros === 0) {
|
|
752
|
+
valor_juros = valor_pago - valor_titulo;
|
|
753
|
+
}
|
|
754
|
+
const descontos = abatimento + valor_desconto;
|
|
755
|
+
const valor_total = valor_titulo + valor_multa + valor_juros - descontos;
|
|
756
|
+
let rejeitado = false;
|
|
757
|
+
let motivoRejeicao = "";
|
|
758
|
+
if (ocorrencia === "03") {
|
|
759
|
+
rejeitado = true;
|
|
760
|
+
motivoRejeicao = retornaMotivoRejeicao(motivo);
|
|
761
|
+
}
|
|
762
|
+
documentos.push({
|
|
763
|
+
id_documento,
|
|
764
|
+
especie,
|
|
765
|
+
valor: valor_pago,
|
|
766
|
+
valor_multa,
|
|
767
|
+
valor_juros,
|
|
768
|
+
valor_desconto,
|
|
769
|
+
valor_total,
|
|
770
|
+
data: dataCredito,
|
|
771
|
+
rejeitado,
|
|
772
|
+
motivo: motivoRejeicao
|
|
773
|
+
});
|
|
733
774
|
}
|
|
734
|
-
const
|
|
735
|
-
return
|
|
775
|
+
const documentosAgrupado = agruparRetorno(documentos);
|
|
776
|
+
return documentosAgrupado;
|
|
736
777
|
} catch (error) {
|
|
737
778
|
console.log(error);
|
|
738
779
|
return null;
|
|
739
780
|
}
|
|
740
781
|
}
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
782
|
+
function retornaMotivoRejeicao(codigo) {
|
|
783
|
+
switch (codigo) {
|
|
784
|
+
case "01":
|
|
785
|
+
return "C\xF3digo do banco inv\xE1lido";
|
|
786
|
+
case "02":
|
|
787
|
+
return "C\xF3digo do registro detalhe inv\xE1lido";
|
|
788
|
+
case "03":
|
|
789
|
+
return "C\xF3digo do segmento inv\xE1lido";
|
|
790
|
+
case "04":
|
|
791
|
+
return "C\xF3digo de movimento n\xE3o permitido para carteira";
|
|
792
|
+
case "05":
|
|
793
|
+
return "C\xF3digo de movimento inv\xE1lido";
|
|
794
|
+
case "06":
|
|
795
|
+
return "Tipo/n\xFAmero de inscri\xE7\xE3o do benefici\xE1rio inv\xE1lidos";
|
|
796
|
+
case "07":
|
|
797
|
+
return "Cooperativa cr\xE9dito/ag\xEAncia/conta/DV inv\xE1lido";
|
|
798
|
+
case "08":
|
|
799
|
+
return "Nosso n\xFAmero inv\xE1lido";
|
|
800
|
+
case "09":
|
|
801
|
+
return "Nosso n\xFAmero duplicado";
|
|
802
|
+
case "10":
|
|
803
|
+
return "Carteira inv\xE1lida";
|
|
804
|
+
case "11":
|
|
805
|
+
return "Forma de cadastramento do t\xEDtulo inv\xE1lido";
|
|
806
|
+
case "12":
|
|
807
|
+
return "Tipo de documento inv\xE1lido";
|
|
808
|
+
case "13":
|
|
809
|
+
return "Identifica\xE7\xE3o da emiss\xE3o do boleto inv\xE1lida";
|
|
810
|
+
case "14":
|
|
811
|
+
return "Identifica\xE7\xE3o da distribui\xE7\xE3o do boleto inv\xE1lida";
|
|
812
|
+
case "15":
|
|
813
|
+
return "Caracter\xEDsticas da cobran\xE7a incompat\xEDveis";
|
|
814
|
+
case "16":
|
|
815
|
+
return "Data de vencimento inv\xE1lida";
|
|
816
|
+
case "17":
|
|
817
|
+
return "Data de vencimento anterior a data de emiss\xE3o";
|
|
818
|
+
case "18":
|
|
819
|
+
return "Vencimento fora do prazo de opera\xE7\xE3o";
|
|
820
|
+
case "20":
|
|
821
|
+
return "Valor do t\xEDtulo inv\xE1lido";
|
|
822
|
+
case "21":
|
|
823
|
+
return "Esp\xE9cie do t\xEDtulo inv\xE1lida";
|
|
824
|
+
case "22":
|
|
825
|
+
return "Esp\xE9cie do t\xEDtulo n\xE3o permitida para a carteira";
|
|
826
|
+
case "23":
|
|
827
|
+
return "Aceite inv\xE1lido";
|
|
828
|
+
case "24":
|
|
829
|
+
return "Data da emiss\xE3o inv\xE1lida";
|
|
830
|
+
case "25":
|
|
831
|
+
return "Data da emiss\xE3o posterior a data de entrada";
|
|
832
|
+
case "26":
|
|
833
|
+
return "C\xF3digo de juros de mora inv\xE1lido";
|
|
834
|
+
case "27":
|
|
835
|
+
return "Valor/taxa de juros de mora inv\xE1lido";
|
|
836
|
+
case "28":
|
|
837
|
+
return "C\xF3digo do desconto inv\xE1lido";
|
|
838
|
+
case "29":
|
|
839
|
+
return "Valor do desconto maior ou igual ao valor do t\xEDtulo";
|
|
840
|
+
case "30":
|
|
841
|
+
return "Desconto a conceder n\xE3o confere";
|
|
842
|
+
case "31":
|
|
843
|
+
return "Concess\xE3o de desconto - j\xE1 existe desconto anterior";
|
|
844
|
+
case "33":
|
|
845
|
+
return "Valor do abatimento inv\xE1lido";
|
|
846
|
+
case "34":
|
|
847
|
+
return "Valor do abatimento maior ou igual ao valor do t\xEDtulo";
|
|
848
|
+
case "35":
|
|
849
|
+
return "Valor a conceder n\xE3o confere";
|
|
850
|
+
case "36":
|
|
851
|
+
return "Concess\xE3o de abatimento - j\xE1 existe abatimento anterior";
|
|
852
|
+
case "37":
|
|
853
|
+
return "C\xF3digo para protesto inv\xE1lido";
|
|
854
|
+
case "38":
|
|
855
|
+
return "Prazo para protesto inv\xE1lido";
|
|
856
|
+
case "39":
|
|
857
|
+
return "Pedido de protesto n\xE3o permitido para o t\xEDtulo";
|
|
858
|
+
case "40":
|
|
859
|
+
return "T\xEDtulo com ordem de protesto emitida";
|
|
860
|
+
case "41":
|
|
861
|
+
return "Pedido de cancelamento/susta\xE7\xE3o para t\xEDtulos sem instru\xE7\xE3o de protesto/negativa\xE7\xE3o";
|
|
862
|
+
case "44":
|
|
863
|
+
return "C\xF3digo da moeda inv\xE1lido";
|
|
864
|
+
case "45":
|
|
865
|
+
return "Nome do pagador n\xE3o informado";
|
|
866
|
+
case "46":
|
|
867
|
+
return "Tipo/n\xFAmero de inscri\xE7\xE3o do pagador inv\xE1lidos";
|
|
868
|
+
case "47":
|
|
869
|
+
return "Endere\xE7o do pagador n\xE3o informado";
|
|
870
|
+
case "48":
|
|
871
|
+
return "CEP inv\xE1lido";
|
|
872
|
+
case "53":
|
|
873
|
+
return "Tipo/n\xFAmero de inscri\xE7\xE3o do pagador/avalista inv\xE1lido";
|
|
874
|
+
case "54":
|
|
875
|
+
return "Pagador/avalista n\xE3o informado";
|
|
876
|
+
case "55":
|
|
877
|
+
return "Nosso n\xFAmero no banco correspondente n\xE3o informado";
|
|
878
|
+
case "56":
|
|
879
|
+
return "C\xF3digo do banco correspondente n\xE3o informado";
|
|
880
|
+
case "57":
|
|
881
|
+
return "C\xF3digo da multa inv\xE1lido";
|
|
882
|
+
case "58":
|
|
883
|
+
return "Data da multa inv\xE1lida";
|
|
884
|
+
case "59":
|
|
885
|
+
return "Valor/percentual da multa inv\xE1lido";
|
|
886
|
+
case "60":
|
|
887
|
+
return "Movimento para t\xEDtulo n\xE3o cadastrado";
|
|
888
|
+
case "61":
|
|
889
|
+
return "Altera\xE7\xE3o da cooperativa cr\xE9dito/ag\xEAncia cobradora/DV inv\xE1lida";
|
|
890
|
+
case "62":
|
|
891
|
+
return "Tipo de impress\xE3o inv\xE1lido";
|
|
892
|
+
case "63":
|
|
893
|
+
return "Entrada para t\xEDtulo j\xE1 cadastrado";
|
|
894
|
+
case "64":
|
|
895
|
+
return "N\xFAmero da linha inv\xE1lido";
|
|
896
|
+
case "79":
|
|
897
|
+
return "Data juros de mora inv\xE1lida";
|
|
898
|
+
case "80":
|
|
899
|
+
return "Data do desconto inv\xE1lida";
|
|
900
|
+
case "84":
|
|
901
|
+
return "N\xFAmero autoriza\xE7\xE3o inexistente";
|
|
902
|
+
case "85":
|
|
903
|
+
return "T\xEDtulo com pagamento vinculado";
|
|
904
|
+
case "86":
|
|
905
|
+
return "Seu n\xFAmero inv\xE1lido";
|
|
906
|
+
case "A4":
|
|
907
|
+
return "Pagador DDA";
|
|
908
|
+
case "CZ":
|
|
909
|
+
return "Instru\xE7\xE3o Inv\xE1lida";
|
|
910
|
+
case "L6":
|
|
911
|
+
return "Tipo de comando de instru\xE7\xE3o inv\xE1lida para benefici\xE1rio pessoa f\xEDsica.";
|
|
912
|
+
default:
|
|
913
|
+
return "Motivo desconhecido";
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
// src/banks/sicredi/index.ts
|
|
918
|
+
var sicredi = {
|
|
919
|
+
gerarDadosBoleto,
|
|
920
|
+
gerarPDF,
|
|
921
|
+
gerarRemessa,
|
|
922
|
+
gerarRetorno,
|
|
923
|
+
gerarPDFCarne
|
|
924
|
+
};
|
|
925
|
+
|
|
926
|
+
// src/types/Boletos.ts
|
|
927
|
+
var Banco = /* @__PURE__ */ ((Banco2) => {
|
|
928
|
+
Banco2["AILOS"] = "085";
|
|
929
|
+
Banco2["BRADESCO"] = "005";
|
|
930
|
+
Banco2["SICREDI"] = "748";
|
|
931
|
+
Banco2["SICOOB"] = "756";
|
|
932
|
+
Banco2["BANCO_BRASIL"] = "001";
|
|
933
|
+
Banco2["ITAU"] = "341";
|
|
934
|
+
return Banco2;
|
|
935
|
+
})(Banco || {});
|
|
936
|
+
|
|
937
|
+
// src/carne.ts
|
|
938
|
+
function carne({ banco, dados }) {
|
|
939
|
+
if (banco === "748" /* SICREDI */) {
|
|
940
|
+
return sicredi.gerarPDFCarne({ banco, dados });
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
// src/utils/pafLeft.ts
|
|
945
|
+
function padLeft(numero, tamanho) {
|
|
946
|
+
numero = String(numero);
|
|
947
|
+
if (numero.length < tamanho) {
|
|
948
|
+
numero = `0${numero}`;
|
|
949
|
+
return padLeft(numero, tamanho);
|
|
950
|
+
}
|
|
951
|
+
return numero;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
// src/banks/ailos/gerarDadosBoleto.ts
|
|
955
|
+
function gerarDadosBoleto2({ dados }) {
|
|
956
|
+
try {
|
|
957
|
+
const { bancario, parcela } = dados;
|
|
958
|
+
parcela.valor = Number(parcela.valor);
|
|
959
|
+
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
960
|
+
const valor = getValor2(parcela.valor);
|
|
961
|
+
const convenio = padLeft(bancario.convenio, 6);
|
|
962
|
+
const numeroDocumento = padLeft(`${parcela.id_boleto}`, 9);
|
|
963
|
+
const nossoNumero = padLeft(bancario.numero + bancario.numero_dv, 8) + numeroDocumento;
|
|
964
|
+
const campoLivre = convenio + nossoNumero + padLeft(bancario.carteira, 2);
|
|
965
|
+
const digitoGeral = getDigitoGeral2(`0859${fatorVencimento}${valor}${campoLivre}`);
|
|
966
|
+
const codigoBarra2 = `0859${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
967
|
+
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
968
|
+
const campo2 = copy(codigoBarra2, 25, 34);
|
|
969
|
+
const campo3 = copy(codigoBarra2, 35, 44);
|
|
970
|
+
const campo4 = copy(codigoBarra2, 5, 5);
|
|
971
|
+
const campo5 = copy(codigoBarra2, 6, 9) + copy(codigoBarra2, 10, 19);
|
|
972
|
+
const digito1 = getDigito2(campo1);
|
|
973
|
+
const digito2 = getDigito2(campo2);
|
|
974
|
+
const digito3 = getDigito2(campo3);
|
|
975
|
+
const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + campo5;
|
|
976
|
+
const dadosBoleto = {
|
|
977
|
+
linhaDigitavel,
|
|
978
|
+
fatorVencimento,
|
|
979
|
+
valor,
|
|
980
|
+
convenio,
|
|
981
|
+
nossoNumero,
|
|
982
|
+
campoLivre,
|
|
983
|
+
digitoGeral,
|
|
984
|
+
codigoBarra: codigoBarra2,
|
|
985
|
+
numeroDocumento
|
|
986
|
+
};
|
|
987
|
+
return dadosBoleto;
|
|
988
|
+
} catch (error) {
|
|
989
|
+
console.log("Falha ao gerar dados do boleto", error);
|
|
990
|
+
return null;
|
|
991
|
+
}
|
|
800
992
|
}
|
|
801
993
|
function getValor2(valor) {
|
|
802
994
|
const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
|
|
@@ -846,20 +1038,23 @@ function getDigito2(texto) {
|
|
|
846
1038
|
return String(digito);
|
|
847
1039
|
}
|
|
848
1040
|
|
|
849
|
-
// src/banks/
|
|
850
|
-
var
|
|
1041
|
+
// src/banks/ailos/gerarPDF.ts
|
|
1042
|
+
var import_bwip_js3 = __toESM(require("bwip-js"));
|
|
851
1043
|
function gerarPDF2(_0) {
|
|
852
1044
|
return __async(this, arguments, function* ({ dados }) {
|
|
853
1045
|
try {
|
|
854
|
-
const {
|
|
855
|
-
|
|
1046
|
+
const { generatePDF, dadosPDF } = dados;
|
|
1047
|
+
if (!dadosPDF.pagador.cpfcnpj) {
|
|
1048
|
+
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
1049
|
+
}
|
|
1050
|
+
const codigoBarra2 = yield import_bwip_js3.default.toBuffer({
|
|
856
1051
|
bcid: "interleaved2of5",
|
|
857
1052
|
text: dadosPDF.boleto.codigoBarra,
|
|
858
1053
|
height: 20
|
|
859
1054
|
});
|
|
860
|
-
dadosPDF.beneficiario.
|
|
861
|
-
dadosPDF.beneficiario.
|
|
862
|
-
dadosPDF.boleto.
|
|
1055
|
+
dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
|
|
1056
|
+
dadosPDF.beneficiario.dadosBancario.conta = dadosPDF.beneficiario.dadosBancario.conta.padStart(7, "0");
|
|
1057
|
+
dadosPDF.boleto.linhaDigitavel = maskFormat_default.codigoBarra(dadosPDF.boleto.linhaDigitavel);
|
|
863
1058
|
dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
|
|
864
1059
|
dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
|
|
865
1060
|
dadosPDF.beneficiario.cnpj
|
|
@@ -870,6 +1065,7 @@ function gerarPDF2(_0) {
|
|
|
870
1065
|
dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
871
1066
|
dadosPDF.pagador.endereco.cep
|
|
872
1067
|
);
|
|
1068
|
+
dadosPDF.pagador.cpfcnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cpfcnpj);
|
|
873
1069
|
dadosPDF.boleto.valorAcrescimo = maskFormat_default.numberToReal(
|
|
874
1070
|
dadosPDF.boleto.valorAcrescimo
|
|
875
1071
|
);
|
|
@@ -879,6 +1075,7 @@ function gerarPDF2(_0) {
|
|
|
879
1075
|
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
880
1076
|
dadosPDF.boleto.valorDescontoAbatimento
|
|
881
1077
|
);
|
|
1078
|
+
const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
|
|
882
1079
|
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
883
1080
|
dadosPDF.boleto.valorDocumento
|
|
884
1081
|
);
|
|
@@ -889,8 +1086,26 @@ function gerarPDF2(_0) {
|
|
|
889
1086
|
if (dadosPDF.boleto.quantidade) {
|
|
890
1087
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
891
1088
|
}
|
|
1089
|
+
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
1090
|
+
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
1091
|
+
if (jurosDia > 0) {
|
|
1092
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1093
|
+
}
|
|
1094
|
+
const descontoVencimento = dadosPDF.boleto.desconto > 0 ? dadosPDF.boleto.desconto : dadosPDF.beneficiario.dadosBancario.desconto > 0 ? dadosPDF.beneficiario.dadosBancario.desconto : 0;
|
|
1095
|
+
if (descontoVencimento > 0) {
|
|
1096
|
+
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1097
|
+
}
|
|
1098
|
+
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
1099
|
+
if (multaAtraso > 0) {
|
|
1100
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
1101
|
+
}
|
|
1102
|
+
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
1103
|
+
if (protestoDias > 0) {
|
|
1104
|
+
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1105
|
+
}
|
|
892
1106
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
893
|
-
|
|
1107
|
+
dadosPDF.pagador.isCnpj = dadosPDF.pagador.cpfcnpj.length > 14;
|
|
1108
|
+
const content = compileHbs(getPathTemplates("ailos-boleto.hbs"), dadosPDF);
|
|
894
1109
|
const config = {
|
|
895
1110
|
displayHeaderFooter: false,
|
|
896
1111
|
path: "./boleto.pdf",
|
|
@@ -913,242 +1128,264 @@ function gerarPDF2(_0) {
|
|
|
913
1128
|
dados: pdfBase64
|
|
914
1129
|
};
|
|
915
1130
|
} catch (error) {
|
|
1131
|
+
console.log(error);
|
|
1132
|
+
if (error instanceof Error) {
|
|
1133
|
+
return {
|
|
1134
|
+
erro: true,
|
|
1135
|
+
dados: error.message
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
916
1138
|
return {
|
|
917
1139
|
erro: true,
|
|
918
|
-
dados:
|
|
1140
|
+
dados: "Falha ao gerar impress\xE3o do boleto"
|
|
919
1141
|
};
|
|
920
1142
|
}
|
|
921
1143
|
});
|
|
922
1144
|
}
|
|
923
1145
|
|
|
924
|
-
// src/banks/
|
|
1146
|
+
// src/banks/ailos/gerarRemessa.ts
|
|
925
1147
|
var import_date_fns5 = require("date-fns");
|
|
926
|
-
function gerarRemessa2(
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1148
|
+
function gerarRemessa2({ dados }) {
|
|
1149
|
+
try {
|
|
1150
|
+
const { dadosBancario, beneficiario, boletos } = dados.remessa;
|
|
1151
|
+
const arquivo = new Arquivo();
|
|
1152
|
+
const dataAtual = /* @__PURE__ */ new Date();
|
|
1153
|
+
const data = (0, import_date_fns5.format)(dataAtual, "ddMMyyyy");
|
|
1154
|
+
const hora = (0, import_date_fns5.format)(dataAtual, "HHmmss");
|
|
1155
|
+
const convenio = dadosBancario.convenio.padStart(7, "0");
|
|
1156
|
+
const numero = dadosBancario.conta.padStart(7, "0") + dadosBancario.contaDigito;
|
|
1157
|
+
const remessa2 = `REM${convenio}-${numero}-${data}.REM`;
|
|
1158
|
+
arquivo.add("085");
|
|
1159
|
+
arquivo.add("0000");
|
|
1160
|
+
arquivo.add("0");
|
|
1161
|
+
arquivo.add(" ");
|
|
1162
|
+
arquivo.add("2");
|
|
1163
|
+
arquivo.add(beneficiario.cnpj);
|
|
1164
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
1165
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1166
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1167
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1168
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1169
|
+
arquivo.add(" ");
|
|
1170
|
+
arquivo.add(removerCaracterEspecial(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
1171
|
+
arquivo.add("AILOS".padEnd(30, " "));
|
|
1172
|
+
arquivo.add(" ");
|
|
1173
|
+
arquivo.add("1");
|
|
1174
|
+
arquivo.add(data);
|
|
1175
|
+
arquivo.add(hora);
|
|
1176
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
|
|
1177
|
+
arquivo.add("087");
|
|
1178
|
+
arquivo.add("00000");
|
|
1179
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1180
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1181
|
+
arquivo.add(" ".padEnd(29, " "));
|
|
1182
|
+
arquivo.addLine();
|
|
1183
|
+
arquivo.add("085");
|
|
1184
|
+
arquivo.add("0001");
|
|
1185
|
+
arquivo.add("1");
|
|
1186
|
+
arquivo.add("R");
|
|
1187
|
+
arquivo.add("01");
|
|
1188
|
+
arquivo.add(" ");
|
|
1189
|
+
arquivo.add("045");
|
|
1190
|
+
arquivo.add(" ");
|
|
1191
|
+
arquivo.add("2");
|
|
1192
|
+
arquivo.add(beneficiario.cnpj.padStart(15, "0"));
|
|
1193
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
1194
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1195
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1196
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1197
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1198
|
+
arquivo.add(" ");
|
|
1199
|
+
arquivo.add(removerCaracterEspecial(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
1200
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1201
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1202
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
1203
|
+
arquivo.add(data);
|
|
1204
|
+
arquivo.add("00000000");
|
|
1205
|
+
arquivo.add(" ".padEnd(33, " "));
|
|
1206
|
+
arquivo.addLine();
|
|
1207
|
+
let sequencia = 0;
|
|
1208
|
+
let quantidadeRegistro = 0;
|
|
1209
|
+
let total = 0;
|
|
1210
|
+
for (const boleto of boletos) {
|
|
1211
|
+
const { pagador } = boleto;
|
|
1212
|
+
const vencimento = (0, import_date_fns5.format)(new Date(boleto.vencimento), "ddMMyyyy");
|
|
1213
|
+
total += Number(boleto.valor);
|
|
1214
|
+
const codigoJuro = dadosBancario.jurosMes > 0 ? "2" : "3";
|
|
1215
|
+
const juros = dadosBancario.jurosMes > 0 ? dadosBancario.jurosMes.toFixed(2) : "000000000000000";
|
|
1216
|
+
const jurosVencimento = (0, import_date_fns5.format)(
|
|
1217
|
+
(0, import_date_fns5.addDays)(new Date(boleto.vencimento), 1),
|
|
1218
|
+
"ddMMyyyy"
|
|
1219
|
+
);
|
|
1220
|
+
const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
|
|
1221
|
+
const desconto = boleto.desconto > 0 ? boleto.desconto.toFixed(2) : dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
|
|
1222
|
+
let diasProtesto = "00";
|
|
1223
|
+
let protesto = "3";
|
|
1224
|
+
switch (dadosBancario.tipo_protesto) {
|
|
1225
|
+
case "Nenhum":
|
|
1226
|
+
protesto = "3";
|
|
1227
|
+
diasProtesto = "00";
|
|
1228
|
+
break;
|
|
1229
|
+
case "Protestar":
|
|
1230
|
+
protesto = "1";
|
|
1231
|
+
diasProtesto = dadosBancario.diasProtesto.toString().padStart(2, "0");
|
|
1232
|
+
break;
|
|
1233
|
+
case "Negativar":
|
|
1234
|
+
protesto = "2";
|
|
1235
|
+
diasProtesto = dadosBancario.diasProtesto.toString().padStart(2, "0");
|
|
1236
|
+
break;
|
|
1237
|
+
default:
|
|
1238
|
+
protesto = "3";
|
|
1239
|
+
diasProtesto = "00";
|
|
1240
|
+
break;
|
|
1241
|
+
}
|
|
1242
|
+
arquivo.add("085");
|
|
1243
|
+
arquivo.add("0001");
|
|
1244
|
+
arquivo.add("3");
|
|
1245
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1246
|
+
arquivo.add("P");
|
|
1247
|
+
arquivo.add(" ");
|
|
1248
|
+
arquivo.add("01");
|
|
1249
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1250
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1251
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1252
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1253
|
+
arquivo.add(" ");
|
|
1254
|
+
arquivo.add(boleto.nossoNumero.padEnd(20, " "));
|
|
1255
|
+
arquivo.add("1");
|
|
1256
|
+
arquivo.add("1");
|
|
1257
|
+
arquivo.add("1");
|
|
1258
|
+
arquivo.add("2");
|
|
1259
|
+
arquivo.add("2");
|
|
1260
|
+
arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
|
|
1261
|
+
arquivo.add(vencimento);
|
|
1262
|
+
arquivo.add(
|
|
1263
|
+
Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
|
|
1264
|
+
);
|
|
1265
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1266
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1267
|
+
arquivo.add("02");
|
|
1268
|
+
arquivo.add(boleto.aceite);
|
|
1269
|
+
arquivo.add(data);
|
|
1270
|
+
arquivo.add(codigoJuro);
|
|
1271
|
+
arquivo.add(jurosVencimento);
|
|
1272
|
+
arquivo.add(juros.replace(".", "").padStart(15, "0"));
|
|
1273
|
+
arquivo.add(codigoDesconto);
|
|
1274
|
+
arquivo.add(vencimento);
|
|
1275
|
+
arquivo.add(desconto.replace(".", "").padStart(15, "0"));
|
|
1276
|
+
arquivo.add("000000000000000");
|
|
1277
|
+
arquivo.add("000000000000000");
|
|
1278
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
1279
|
+
arquivo.add(protesto);
|
|
1280
|
+
arquivo.add(diasProtesto);
|
|
1281
|
+
arquivo.add("2");
|
|
1282
|
+
arquivo.add(" ");
|
|
1283
|
+
arquivo.add("09");
|
|
1284
|
+
arquivo.add("0000000000");
|
|
1285
|
+
arquivo.add(" ");
|
|
1286
|
+
arquivo.addLine();
|
|
1287
|
+
let tipoInscricao = "1";
|
|
1288
|
+
if (pagador.pessoa === "F") {
|
|
1289
|
+
tipoInscricao = "1";
|
|
1290
|
+
} else {
|
|
1291
|
+
tipoInscricao = "2";
|
|
1292
|
+
}
|
|
1293
|
+
pagador.endereco.logradouro = `${removerCaracterEspecial(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
1294
|
+
arquivo.add("085");
|
|
1295
|
+
arquivo.add("0001");
|
|
1296
|
+
arquivo.add("3");
|
|
1297
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1298
|
+
arquivo.add("Q");
|
|
1299
|
+
arquivo.add(" ");
|
|
1300
|
+
arquivo.add("01");
|
|
1301
|
+
arquivo.add(tipoInscricao);
|
|
1302
|
+
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
1303
|
+
arquivo.add(removerCaracterEspecial(pagador.nome).substring(0, 40).padEnd(40, " "));
|
|
1304
|
+
arquivo.add(removerCaracterEspecial(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
|
|
1305
|
+
arquivo.add(removerCaracterEspecial(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
|
|
1306
|
+
arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
|
|
1307
|
+
arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
|
|
1308
|
+
arquivo.add(removerCaracterEspecial(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
|
|
1309
|
+
arquivo.add(removerCaracterEspecial(pagador.endereco.uf).padEnd(2, " "));
|
|
1310
|
+
arquivo.add("0");
|
|
1311
|
+
arquivo.add("000000000000000");
|
|
1312
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1313
|
+
arquivo.add("000");
|
|
1314
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1315
|
+
arquivo.add(" ".padEnd(8, " "));
|
|
1316
|
+
arquivo.addLine();
|
|
1317
|
+
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
1318
|
+
if (dadosBancario.multaAtraso > 0) {
|
|
1319
|
+
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
1003
1320
|
arquivo.add("085");
|
|
1004
1321
|
arquivo.add("0001");
|
|
1005
1322
|
arquivo.add("3");
|
|
1006
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1007
|
-
arquivo.add("
|
|
1323
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1324
|
+
arquivo.add("R");
|
|
1008
1325
|
arquivo.add(" ");
|
|
1009
1326
|
arquivo.add("01");
|
|
1010
|
-
arquivo.add(
|
|
1011
|
-
arquivo.add(
|
|
1012
|
-
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1013
|
-
arquivo.add(dadosBancario.contaDigito);
|
|
1014
|
-
arquivo.add(" ");
|
|
1015
|
-
arquivo.add(boleto.nossoNumero.padEnd(20, " "));
|
|
1016
|
-
arquivo.add("1");
|
|
1017
|
-
arquivo.add("1");
|
|
1018
|
-
arquivo.add("1");
|
|
1019
|
-
arquivo.add("2");
|
|
1020
|
-
arquivo.add("2");
|
|
1021
|
-
arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
|
|
1022
|
-
arquivo.add(vencimento);
|
|
1023
|
-
arquivo.add(
|
|
1024
|
-
Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
|
|
1025
|
-
);
|
|
1026
|
-
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1027
|
-
arquivo.add(dadosBancario.agenciaDigito);
|
|
1028
|
-
arquivo.add("02");
|
|
1029
|
-
arquivo.add("A");
|
|
1030
|
-
arquivo.add(data);
|
|
1031
|
-
arquivo.add(codigoJuro);
|
|
1032
|
-
arquivo.add(jurosVencimento);
|
|
1033
|
-
arquivo.add(juros.replace(".", "").padStart(15, "0"));
|
|
1034
|
-
arquivo.add(codigoDesconto);
|
|
1035
|
-
arquivo.add(vencimento);
|
|
1036
|
-
arquivo.add(desconto.replace(".", "").padStart(15, "0"));
|
|
1327
|
+
arquivo.add("0");
|
|
1328
|
+
arquivo.add("00000000");
|
|
1037
1329
|
arquivo.add("000000000000000");
|
|
1330
|
+
arquivo.add("0");
|
|
1331
|
+
arquivo.add("00000000");
|
|
1038
1332
|
arquivo.add("000000000000000");
|
|
1039
|
-
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
1040
|
-
arquivo.add(protesto);
|
|
1041
|
-
arquivo.add(diasProtesto.padStart(1, "0"));
|
|
1042
1333
|
arquivo.add("2");
|
|
1043
|
-
arquivo.add(
|
|
1044
|
-
arquivo.add("
|
|
1045
|
-
arquivo.add("
|
|
1334
|
+
arquivo.add(vencimento);
|
|
1335
|
+
arquivo.add(multa.replace(".", "").padStart(15, "0"));
|
|
1336
|
+
arquivo.add(" ".padEnd(10, " "));
|
|
1337
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1338
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1339
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1340
|
+
arquivo.add("00000000");
|
|
1341
|
+
arquivo.add("000");
|
|
1342
|
+
arquivo.add("00000");
|
|
1343
|
+
arquivo.add(" ");
|
|
1344
|
+
arquivo.add("000000000000");
|
|
1046
1345
|
arquivo.add(" ");
|
|
1047
|
-
sequencia++;
|
|
1048
|
-
arquivo.addLine();
|
|
1049
|
-
let tipoInscricao = "1";
|
|
1050
|
-
if (pagador.pessoa === "F") {
|
|
1051
|
-
tipoInscricao = "1";
|
|
1052
|
-
} else {
|
|
1053
|
-
tipoInscricao = "2";
|
|
1054
|
-
}
|
|
1055
|
-
pagador.endereco.logradouro = `${pagador.endereco.logradouro.substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
1056
|
-
arquivo.add("085");
|
|
1057
|
-
arquivo.add("0001");
|
|
1058
|
-
arquivo.add("3");
|
|
1059
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1060
|
-
arquivo.add("Q");
|
|
1061
1346
|
arquivo.add(" ");
|
|
1062
|
-
arquivo.add("01");
|
|
1063
|
-
arquivo.add(tipoInscricao);
|
|
1064
|
-
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
1065
|
-
arquivo.add(pagador.nome.substring(0, 40).padEnd(40, " "));
|
|
1066
|
-
arquivo.add(pagador.endereco.logradouro.substring(0, 40).padEnd(40, " "));
|
|
1067
|
-
arquivo.add(pagador.endereco.bairro.substring(0, 15).padEnd(15, " "));
|
|
1068
|
-
arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
|
|
1069
|
-
arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
|
|
1070
|
-
arquivo.add(pagador.endereco.municipio.substring(0, 15).padEnd(15, " "));
|
|
1071
|
-
arquivo.add(pagador.endereco.uf.padEnd(2, " "));
|
|
1072
1347
|
arquivo.add("0");
|
|
1073
|
-
arquivo.add("
|
|
1074
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
1075
|
-
arquivo.add("000");
|
|
1076
|
-
arquivo.add(" ".padEnd(20, " "));
|
|
1077
|
-
arquivo.add(" ".padEnd(8, " "));
|
|
1078
|
-
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
1079
|
-
if (dadosBancario.multaAtraso > 0) {
|
|
1080
|
-
arquivo.addLine();
|
|
1081
|
-
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
1082
|
-
sequencia++;
|
|
1083
|
-
arquivo.add("085");
|
|
1084
|
-
arquivo.add("0001");
|
|
1085
|
-
arquivo.add("3");
|
|
1086
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1087
|
-
arquivo.add("R");
|
|
1088
|
-
arquivo.add(" ");
|
|
1089
|
-
arquivo.add("01");
|
|
1090
|
-
arquivo.add("0");
|
|
1091
|
-
arquivo.add("00000000");
|
|
1092
|
-
arquivo.add("000000000000000");
|
|
1093
|
-
arquivo.add("0");
|
|
1094
|
-
arquivo.add("00000000");
|
|
1095
|
-
arquivo.add("000000000000000");
|
|
1096
|
-
arquivo.add("2");
|
|
1097
|
-
arquivo.add(vencimento);
|
|
1098
|
-
arquivo.add(multa.replace(".", "").padStart(15, "0"));
|
|
1099
|
-
arquivo.add(" ".padEnd(10, " "));
|
|
1100
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
1101
|
-
arquivo.add(" ".padEnd(40, " "));
|
|
1102
|
-
arquivo.add(" ".padEnd(20, " "));
|
|
1103
|
-
arquivo.add("00000000");
|
|
1104
|
-
arquivo.add("000");
|
|
1105
|
-
arquivo.add("00000");
|
|
1106
|
-
arquivo.add(" ");
|
|
1107
|
-
arquivo.add("000000000000");
|
|
1108
|
-
arquivo.add(" ");
|
|
1109
|
-
arquivo.add(" ");
|
|
1110
|
-
arquivo.add("0");
|
|
1111
|
-
arquivo.add("000000000");
|
|
1112
|
-
}
|
|
1348
|
+
arquivo.add("000000000");
|
|
1113
1349
|
arquivo.addLine();
|
|
1114
|
-
quantidadeRegistro++;
|
|
1115
1350
|
}
|
|
1116
|
-
|
|
1117
|
-
arquivo.add("0001");
|
|
1118
|
-
arquivo.add("5");
|
|
1119
|
-
arquivo.add(" ".padEnd(9, " "));
|
|
1120
|
-
arquivo.add((sequencia + 3).toString().padStart(6, "0"));
|
|
1121
|
-
arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
|
|
1122
|
-
arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
|
|
1123
|
-
arquivo.add("0".padStart(6, "0"));
|
|
1124
|
-
arquivo.add("0".padStart(17, "0"));
|
|
1125
|
-
arquivo.add("0".padStart(6, "0"));
|
|
1126
|
-
arquivo.add("0".padStart(17, "0"));
|
|
1127
|
-
arquivo.add("0".padStart(6, "0"));
|
|
1128
|
-
arquivo.add("0".padStart(17, "0"));
|
|
1129
|
-
arquivo.add(" ".padStart(8, " "));
|
|
1130
|
-
arquivo.add(" ".padStart(117, " "));
|
|
1131
|
-
arquivo.addLine();
|
|
1132
|
-
arquivo.add("085");
|
|
1133
|
-
arquivo.add("9999");
|
|
1134
|
-
arquivo.add("9");
|
|
1135
|
-
arquivo.add(" ".padEnd(9, " "));
|
|
1136
|
-
arquivo.add("000001");
|
|
1137
|
-
arquivo.add((sequencia + 4).toString().padStart(6, "0"));
|
|
1138
|
-
arquivo.add("000000");
|
|
1139
|
-
arquivo.add(" ".padEnd(205, " "));
|
|
1140
|
-
return {
|
|
1141
|
-
download: remessa2,
|
|
1142
|
-
arquivo: arquivo.getArquivo()
|
|
1143
|
-
};
|
|
1144
|
-
} catch (error) {
|
|
1145
|
-
console.log(error);
|
|
1146
|
-
return null;
|
|
1351
|
+
quantidadeRegistro++;
|
|
1147
1352
|
}
|
|
1148
|
-
|
|
1353
|
+
arquivo.add("085");
|
|
1354
|
+
arquivo.add("0001");
|
|
1355
|
+
arquivo.add("5");
|
|
1356
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
1357
|
+
arquivo.add((sequencia + 3).toString().padStart(6, "0"));
|
|
1358
|
+
arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
|
|
1359
|
+
arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
|
|
1360
|
+
arquivo.add("0".padStart(6, "0"));
|
|
1361
|
+
arquivo.add("0".padStart(17, "0"));
|
|
1362
|
+
arquivo.add("0".padStart(6, "0"));
|
|
1363
|
+
arquivo.add("0".padStart(17, "0"));
|
|
1364
|
+
arquivo.add("0".padStart(6, "0"));
|
|
1365
|
+
arquivo.add("0".padStart(17, "0"));
|
|
1366
|
+
arquivo.add(" ".padStart(8, " "));
|
|
1367
|
+
arquivo.add(" ".padStart(117, " "));
|
|
1368
|
+
arquivo.addLine();
|
|
1369
|
+
arquivo.add("085");
|
|
1370
|
+
arquivo.add("9999");
|
|
1371
|
+
arquivo.add("9");
|
|
1372
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
1373
|
+
arquivo.add("000001");
|
|
1374
|
+
arquivo.add((sequencia + 4).toString().padStart(6, "0"));
|
|
1375
|
+
arquivo.add("000000");
|
|
1376
|
+
arquivo.add(" ".padEnd(205, " "));
|
|
1377
|
+
return {
|
|
1378
|
+
download: remessa2,
|
|
1379
|
+
arquivo: arquivo.getArquivo()
|
|
1380
|
+
};
|
|
1381
|
+
} catch (error) {
|
|
1382
|
+
console.log(error);
|
|
1383
|
+
return null;
|
|
1384
|
+
}
|
|
1149
1385
|
}
|
|
1150
1386
|
|
|
1151
|
-
// src/banks/
|
|
1387
|
+
// src/banks/ailos/gerarRetorno.ts
|
|
1388
|
+
var import_date_fns6 = require("date-fns");
|
|
1152
1389
|
function gerarRetorno2({ dados }) {
|
|
1153
1390
|
try {
|
|
1154
1391
|
const { arquivo } = dados;
|
|
@@ -1156,23 +1393,31 @@ function gerarRetorno2({ dados }) {
|
|
|
1156
1393
|
let index = 0;
|
|
1157
1394
|
for (const item of arquivo) {
|
|
1158
1395
|
let linha = item;
|
|
1159
|
-
const banco = linha.substring(0, 3);
|
|
1160
1396
|
const codigoRetorno = linha.substring(15, 17);
|
|
1161
|
-
if (
|
|
1397
|
+
if (codigoRetorno === "06" || codigoRetorno === "17" || codigoRetorno === "03") {
|
|
1162
1398
|
let segmento = linha.substring(13, 14);
|
|
1163
1399
|
if (segmento === "T") {
|
|
1164
|
-
|
|
1165
|
-
let idDocumento = "";
|
|
1400
|
+
const motivo = linha.substring(213, 223).trim();
|
|
1166
1401
|
const linhaDoc = linha.substring(105, 130).trimEnd();
|
|
1402
|
+
let tipoDocumento = "INDEFINIDO";
|
|
1403
|
+
let idDocumento = linhaDoc;
|
|
1167
1404
|
if (linhaDoc.includes("-")) {
|
|
1168
|
-
[
|
|
1169
|
-
|
|
1170
|
-
idDocumento =
|
|
1405
|
+
const [tipoDoc, idDoc] = linhaDoc.split("-");
|
|
1406
|
+
tipoDocumento = tipoDoc;
|
|
1407
|
+
idDocumento = idDoc;
|
|
1171
1408
|
}
|
|
1172
1409
|
const especie = tipoDocumento.length ? tipoDocumento : "INDEFINIDO";
|
|
1173
1410
|
linha = arquivo[index + 1];
|
|
1174
1411
|
segmento = linha.substring(13, 14);
|
|
1175
1412
|
if (segmento === "U") {
|
|
1413
|
+
let dataCredito;
|
|
1414
|
+
const dataCreditoString = linha.substring(145, 153);
|
|
1415
|
+
if (dataCreditoString && dataCreditoString !== "00000000") {
|
|
1416
|
+
dataCredito = (0, import_date_fns6.parse)(dataCreditoString, "ddMMyyyy", /* @__PURE__ */ new Date());
|
|
1417
|
+
} else {
|
|
1418
|
+
const dataOcorrenciaString = linha.substring(157, 165);
|
|
1419
|
+
dataCredito = (0, import_date_fns6.parse)(dataOcorrenciaString, "ddMMyyyy", /* @__PURE__ */ new Date());
|
|
1420
|
+
}
|
|
1176
1421
|
const valorAbatimentoString = linha.substring(47, 62);
|
|
1177
1422
|
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
1178
1423
|
const valorDescontoString = linha.substring(32, 47);
|
|
@@ -1184,15 +1429,23 @@ function gerarRetorno2({ dados }) {
|
|
|
1184
1429
|
const valorMulta = 0;
|
|
1185
1430
|
const descontos = valorAbatimento + valorDesconto;
|
|
1186
1431
|
const valorTotal = valorPago - valorJuros + descontos;
|
|
1432
|
+
let rejeitado = false;
|
|
1433
|
+
let motivoRejeicao = "";
|
|
1434
|
+
if (codigoRetorno === "03") {
|
|
1435
|
+
rejeitado = true;
|
|
1436
|
+
motivoRejeicao = retornaMotivoRejeicao2(motivo);
|
|
1437
|
+
}
|
|
1187
1438
|
const documento = {
|
|
1188
1439
|
id_documento: idDocumento,
|
|
1189
1440
|
especie,
|
|
1190
|
-
valor:
|
|
1191
|
-
|
|
1192
|
-
valor_juros:
|
|
1193
|
-
|
|
1194
|
-
valor_total:
|
|
1195
|
-
data:
|
|
1441
|
+
valor: valorPago,
|
|
1442
|
+
valor_multa: valorMulta,
|
|
1443
|
+
valor_juros: valorJuros,
|
|
1444
|
+
valor_desconto: valorDesconto,
|
|
1445
|
+
valor_total: valorTotal,
|
|
1446
|
+
data: dataCredito,
|
|
1447
|
+
rejeitado,
|
|
1448
|
+
motivo: motivoRejeicao
|
|
1196
1449
|
};
|
|
1197
1450
|
documentos.push(documento);
|
|
1198
1451
|
}
|
|
@@ -1207,126 +1460,247 @@ function gerarRetorno2({ dados }) {
|
|
|
1207
1460
|
return null;
|
|
1208
1461
|
}
|
|
1209
1462
|
}
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1463
|
+
function retornaMotivoRejeicao2(codigo) {
|
|
1464
|
+
switch (codigo) {
|
|
1465
|
+
case "01":
|
|
1466
|
+
return "C\xF3digo do Banco Inv\xE1lido";
|
|
1467
|
+
case "02":
|
|
1468
|
+
return "C\xF3digo do Registro Detalhe Inv\xE1lido";
|
|
1469
|
+
case "03":
|
|
1470
|
+
return "C\xF3digo do Segmento Inv\xE1lido";
|
|
1471
|
+
case "04":
|
|
1472
|
+
return "C\xF3digo de Movimento N\xE3o Permitido para Carteira";
|
|
1473
|
+
case "05":
|
|
1474
|
+
return "C\xF3digo de Movimento Inv\xE1lido";
|
|
1475
|
+
case "06":
|
|
1476
|
+
return "Tipo/N\xFAmero de Inscri\xE7\xE3o do Cedente Inv\xE1lidos";
|
|
1477
|
+
case "07":
|
|
1478
|
+
return "Ag\xEAncia/Conta/DV Inv\xE1lido";
|
|
1479
|
+
case "08":
|
|
1480
|
+
return "Nosso N\xFAmero Inv\xE1lido";
|
|
1481
|
+
case "09":
|
|
1482
|
+
return "Nosso N\xFAmero Duplicado";
|
|
1483
|
+
case "10":
|
|
1484
|
+
return "Carteira Inv\xE1lida";
|
|
1485
|
+
case "11":
|
|
1486
|
+
return "Forma de Cadastramento do T\xEDtulo Inv\xE1lido";
|
|
1487
|
+
case "12":
|
|
1488
|
+
return "Tipo de Documento Inv\xE1lido";
|
|
1489
|
+
case "13":
|
|
1490
|
+
return "Identifica\xE7\xE3o da Emiss\xE3o do Boleto Inv\xE1lida";
|
|
1491
|
+
case "14":
|
|
1492
|
+
return "Identifica\xE7\xE3o da Distribui\xE7\xE3o do Boleto Inv\xE1lida";
|
|
1493
|
+
case "15":
|
|
1494
|
+
return "Caracter\xEDsticas da Cobran\xE7a Incompat\xEDveis";
|
|
1495
|
+
case "16":
|
|
1496
|
+
return "Data de Vencimento Inv\xE1lida";
|
|
1497
|
+
case "17":
|
|
1498
|
+
return "Data de Vencimento Anterior \xE0 Data de Emiss\xE3o";
|
|
1499
|
+
case "18":
|
|
1500
|
+
return "Vencimento Fora do Prazo de Opera\xE7\xE3o";
|
|
1501
|
+
case "19":
|
|
1502
|
+
return "T\xEDtulo a Cargo de Bancos Correspondentes com Vencimento Inferior a XX Dias";
|
|
1503
|
+
case "20":
|
|
1504
|
+
return "Valor do T\xEDtulo Inv\xE1lido";
|
|
1505
|
+
case "21":
|
|
1506
|
+
return "Esp\xE9cie do T\xEDtulo Inv\xE1lida";
|
|
1507
|
+
case "22":
|
|
1508
|
+
return "Esp\xE9cie do T\xEDtulo N\xE3o Permitida para a Carteira";
|
|
1509
|
+
case "23":
|
|
1510
|
+
return "Aceite Inv\xE1lido";
|
|
1511
|
+
case "24":
|
|
1512
|
+
return "Data da Emiss\xE3o Inv\xE1lida";
|
|
1513
|
+
case "25":
|
|
1514
|
+
return "Data da Emiss\xE3o Posterior a Data de Entrada";
|
|
1515
|
+
case "26":
|
|
1516
|
+
return "C\xF3digo de Juros de Mora Inv\xE1lido";
|
|
1517
|
+
case "27":
|
|
1518
|
+
return "Vlr/Taxa de Juros de Mora Inv\xE1lido";
|
|
1519
|
+
case "28":
|
|
1520
|
+
return "C\xF3digo do Desconto Inv\xE1lido";
|
|
1521
|
+
case "29":
|
|
1522
|
+
return "Valor do Desconto Maior ou Igual ao Valor do T\xEDtulo";
|
|
1523
|
+
case "30":
|
|
1524
|
+
return "Desconto a Conceder N\xE3o Confere";
|
|
1525
|
+
case "31":
|
|
1526
|
+
return "Concess\xE3o de Desconto - J\xE1 Existe Desconto Anterior";
|
|
1527
|
+
case "33":
|
|
1528
|
+
return "Valor do Abatimento Inv\xE1lido";
|
|
1529
|
+
case "34":
|
|
1530
|
+
return "Valor do Abatimento Maior ou Igual ao Valor do T\xEDtulo";
|
|
1531
|
+
case "35":
|
|
1532
|
+
return "Valor a Conceder N\xE3o Confere";
|
|
1533
|
+
case "36":
|
|
1534
|
+
return "Concess\xE3o de Abatimento - J\xE1 Existe Abatimento Anterior";
|
|
1535
|
+
case "37":
|
|
1536
|
+
return "C\xF3digo para Protesto Inv\xE1lido";
|
|
1537
|
+
case "38":
|
|
1538
|
+
return "Prazo para Protesto Inv\xE1lido";
|
|
1539
|
+
case "39":
|
|
1540
|
+
return "Pedido de Protesto N\xE3o Permitido para o T\xEDtulo";
|
|
1541
|
+
case "40":
|
|
1542
|
+
return "T\xEDtulo com Ordem de Protesto Emitida";
|
|
1543
|
+
case "41":
|
|
1544
|
+
return "Pedido de Cancelamento/Susta\xE7\xE3o para T\xEDtulos sem Instru\xE7\xE3o de Protesto";
|
|
1545
|
+
case "42":
|
|
1546
|
+
return "C\xF3digo para Baixa/Devolu\xE7\xE3o Inv\xE1lido";
|
|
1547
|
+
case "43":
|
|
1548
|
+
return "Prazo para Baixa/Devolu\xE7\xE3o Inv\xE1lido";
|
|
1549
|
+
case "44":
|
|
1550
|
+
return "C\xF3digo da Moeda Inv\xE1lido";
|
|
1551
|
+
case "45":
|
|
1552
|
+
return "Nome do Sacado N\xE3o Informado";
|
|
1553
|
+
case "46":
|
|
1554
|
+
return "Tipo/N\xFAmero de Inscri\xE7\xE3o do Sacado Inv\xE1lidos";
|
|
1555
|
+
case "47":
|
|
1556
|
+
return "Endere\xE7o do Sacado N\xE3o Informado";
|
|
1557
|
+
case "48":
|
|
1558
|
+
return "CEP Inv\xE1lido";
|
|
1559
|
+
case "49":
|
|
1560
|
+
return "CEP Sem Pra\xE7a de Cobran\xE7a (N\xE3o Localizado)";
|
|
1561
|
+
case "50":
|
|
1562
|
+
return "CEP Referente a um Banco Correspondente";
|
|
1563
|
+
case "51":
|
|
1564
|
+
return "CEP incompat\xEDvel com a Unidade da Federa\xE7\xE3o";
|
|
1565
|
+
case "52":
|
|
1566
|
+
return "Unidade da Federa\xE7\xE3o Inv\xE1lida";
|
|
1567
|
+
case "53":
|
|
1568
|
+
return "Tipo/N\xFAmero de Inscri\xE7\xE3o do Sacador/Avalista Inv\xE1lidos";
|
|
1569
|
+
case "54":
|
|
1570
|
+
return "Sacador/Avalista N\xE3o Informado";
|
|
1571
|
+
case "55":
|
|
1572
|
+
return "Nosso n\xFAmero no Banco Correspondente N\xE3o Informado";
|
|
1573
|
+
case "56":
|
|
1574
|
+
return "C\xF3digo do Banco Correspondente N\xE3o Informado";
|
|
1575
|
+
case "57":
|
|
1576
|
+
return "C\xF3digo da Multa Inv\xE1lido";
|
|
1577
|
+
case "58":
|
|
1578
|
+
return "Data da Multa Inv\xE1lida";
|
|
1579
|
+
case "59":
|
|
1580
|
+
return "Valor/Percentual da Multa Inv\xE1lido";
|
|
1581
|
+
case "60":
|
|
1582
|
+
return "Movimento para T\xEDtulo N\xE3o Cadastrado";
|
|
1583
|
+
case "61":
|
|
1584
|
+
return "Altera\xE7\xE3o da Ag\xEAncia Cobradora/DV Inv\xE1lida";
|
|
1585
|
+
case "62":
|
|
1586
|
+
return "Tipo de Impress\xE3o Inv\xE1lido";
|
|
1587
|
+
case "63":
|
|
1588
|
+
return "Entrada para T\xEDtulo j\xE1 cadastrado";
|
|
1589
|
+
case "64":
|
|
1590
|
+
return "N\xFAmero da Linha Inv\xE1lido";
|
|
1591
|
+
case "65":
|
|
1592
|
+
return "C\xF3digo do Banco para D\xE9bito Inv\xE1lido";
|
|
1593
|
+
case "66":
|
|
1594
|
+
return "Ag\xEAncia/Conta/DV para D\xE9bito Inv\xE1lido";
|
|
1595
|
+
case "79":
|
|
1596
|
+
return "Data Juros de Mora Inv\xE1lido";
|
|
1597
|
+
case "80":
|
|
1598
|
+
return "Data do Desconto Inv\xE1lida";
|
|
1599
|
+
case "86":
|
|
1600
|
+
return "Seu N\xFAmero Inv\xE1lido";
|
|
1601
|
+
case "89":
|
|
1602
|
+
return "E-mail/SMS devolvido - endere\xE7o de e-mail ou n\xFAmero do celular incorreto";
|
|
1603
|
+
case "91":
|
|
1604
|
+
return "E-mail/n\xFAmero do celular do sacado n\xE3o informado";
|
|
1605
|
+
case "96":
|
|
1606
|
+
return "N\xFAmero do Convenio invalido";
|
|
1607
|
+
case "97":
|
|
1608
|
+
return "Rejei\xE7\xE3o da altera\xE7\xE3o do prazo limite de recebimento";
|
|
1609
|
+
case "98":
|
|
1610
|
+
return "Rejei\xE7\xE3o de dispensa de prazo limite de recebimento";
|
|
1611
|
+
case "99":
|
|
1612
|
+
return "Rejei\xE7\xE3o da altera\xE7\xE3o do n\xFAmero do t\xEDtulo dado pelo cedente";
|
|
1613
|
+
case "A2":
|
|
1614
|
+
return "Rejei\xE7\xE3o da altera\xE7\xE3o dos dados do sacado";
|
|
1615
|
+
case "A3":
|
|
1616
|
+
return "Rejei\xE7\xE3o da altera\xE7\xE3o dos dados do sacador/avalista";
|
|
1617
|
+
case "A4":
|
|
1618
|
+
return "Sacado DDA";
|
|
1619
|
+
case "A4R1":
|
|
1620
|
+
return "Sacado DDA / Registro online";
|
|
1621
|
+
default:
|
|
1622
|
+
return "Motivo de rejei\xE7\xE3o desconhecido";
|
|
1623
|
+
}
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1626
|
+
// src/banks/ailos/index.ts
|
|
1627
|
+
var ailos = {
|
|
1628
|
+
gerarDadosBoleto: gerarDadosBoleto2,
|
|
1629
|
+
gerarPDF: gerarPDF2,
|
|
1630
|
+
gerarRemessa: gerarRemessa2,
|
|
1631
|
+
gerarRetorno: gerarRetorno2
|
|
1632
|
+
};
|
|
1633
|
+
|
|
1634
|
+
// src/banks/bradesco/gerarDadosBoleto.ts
|
|
1635
|
+
function gerarDadosBoleto3({ dados }) {
|
|
1636
|
+
try {
|
|
1637
|
+
const { bancario, parcela } = dados;
|
|
1638
|
+
parcela.valor = Number(parcela.valor);
|
|
1639
|
+
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
1640
|
+
const valor = getValor3(parcela.valor);
|
|
1641
|
+
const convenio = padLeft(bancario.convenio, 6);
|
|
1642
|
+
const numeroDocumento = padLeft(`${parcela.id_boleto}`, 9);
|
|
1643
|
+
const nossoNumero = padLeft(bancario.numero + bancario.numero_dv, 8) + numeroDocumento;
|
|
1644
|
+
const campoLivre = convenio + nossoNumero + padLeft(bancario.carteira, 2);
|
|
1645
|
+
const digitoGeral = getDigitoGeral3(`0859${fatorVencimento}${valor}${campoLivre}`);
|
|
1646
|
+
const codigoBarra2 = `0859${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
1647
|
+
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
1648
|
+
const campo2 = copy(codigoBarra2, 25, 34);
|
|
1649
|
+
const campo3 = copy(codigoBarra2, 35, 44);
|
|
1650
|
+
const campo4 = copy(codigoBarra2, 5, 5);
|
|
1651
|
+
const campo5 = copy(codigoBarra2, 6, 9) + copy(codigoBarra2, 10, 19);
|
|
1652
|
+
const digito1 = getDigito3(campo1);
|
|
1653
|
+
const digito2 = getDigito3(campo2);
|
|
1654
|
+
const digito3 = getDigito3(campo3);
|
|
1655
|
+
const digito4 = getDigito3(campo4);
|
|
1656
|
+
const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + digito4 + campo5;
|
|
1657
|
+
const dadosBoleto = {
|
|
1658
|
+
linhaDigitavel,
|
|
1659
|
+
fatorVencimento,
|
|
1660
|
+
valor,
|
|
1661
|
+
convenio,
|
|
1662
|
+
nossoNumero,
|
|
1663
|
+
campoLivre,
|
|
1664
|
+
digitoGeral,
|
|
1665
|
+
codigoBarra: codigoBarra2,
|
|
1666
|
+
numeroDocumento
|
|
1667
|
+
};
|
|
1668
|
+
return dadosBoleto;
|
|
1669
|
+
} catch (error) {
|
|
1670
|
+
console.log("Falha ao gerar dados do boleto", error);
|
|
1671
|
+
return null;
|
|
1672
|
+
}
|
|
1673
|
+
}
|
|
1674
|
+
function getValor3(valor) {
|
|
1675
|
+
const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
|
|
1676
|
+
return padLeft(valorFormatado, 10);
|
|
1677
|
+
}
|
|
1678
|
+
function getDigitoGeral3(texto) {
|
|
1679
|
+
let i = 43;
|
|
1680
|
+
let j = 1;
|
|
1681
|
+
let soma = 0;
|
|
1682
|
+
let digito = 0;
|
|
1683
|
+
while (i >= 1) {
|
|
1684
|
+
j++;
|
|
1685
|
+
if (j === 10)
|
|
1686
|
+
j = 2;
|
|
1687
|
+
const valor = Number(copy(texto, i, i));
|
|
1688
|
+
soma += j * valor;
|
|
1689
|
+
i--;
|
|
1690
|
+
}
|
|
1691
|
+
const restoDivisao = soma % 11;
|
|
1692
|
+
digito = 11 - restoDivisao;
|
|
1693
|
+
if (digito === 0 || digito === 1 || digito > 9)
|
|
1694
|
+
digito = 1;
|
|
1695
|
+
return String(digito);
|
|
1696
|
+
}
|
|
1697
|
+
function getDigito3(texto) {
|
|
1698
|
+
let i = texto.length;
|
|
1699
|
+
let j = 1;
|
|
1700
|
+
let total = 0;
|
|
1701
|
+
let soma = 0;
|
|
1702
|
+
let digito = 0;
|
|
1703
|
+
while (i >= 1) {
|
|
1330
1704
|
j = j === 1 ? 2 : 1;
|
|
1331
1705
|
let valor = Number(copy(texto, i, i));
|
|
1332
1706
|
total = valor * j;
|
|
@@ -1345,22 +1719,20 @@ function getDigito3(texto) {
|
|
|
1345
1719
|
return String(digito);
|
|
1346
1720
|
}
|
|
1347
1721
|
|
|
1348
|
-
// src/banks/
|
|
1349
|
-
var
|
|
1722
|
+
// src/banks/bradesco/gerarPDF.ts
|
|
1723
|
+
var import_bwip_js4 = __toESM(require("bwip-js"));
|
|
1350
1724
|
function gerarPDF3(_0) {
|
|
1351
1725
|
return __async(this, arguments, function* ({ dados }) {
|
|
1352
1726
|
try {
|
|
1353
|
-
const {
|
|
1354
|
-
|
|
1355
|
-
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
1356
|
-
}
|
|
1357
|
-
const codigoBarra2 = yield import_bwip_js3.default.toBuffer({
|
|
1727
|
+
const { dadosPDF, generatePDF } = dados;
|
|
1728
|
+
const codigoBarra2 = yield import_bwip_js4.default.toBuffer({
|
|
1358
1729
|
bcid: "interleaved2of5",
|
|
1359
1730
|
text: dadosPDF.boleto.codigoBarra,
|
|
1360
1731
|
height: 20
|
|
1361
1732
|
});
|
|
1362
|
-
dadosPDF.beneficiario.
|
|
1363
|
-
dadosPDF.
|
|
1733
|
+
dadosPDF.beneficiario.dadosBancarios.agencia = dadosPDF.beneficiario.dadosBancarios.agencia.padStart(4, "0");
|
|
1734
|
+
dadosPDF.beneficiario.dadosBancarios.conta = dadosPDF.beneficiario.dadosBancarios.conta.padStart(7, "0");
|
|
1735
|
+
dadosPDF.boleto.codigoBarra = maskFormat_default.codigoBarra(dadosPDF.boleto.codigoBarra);
|
|
1364
1736
|
dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
|
|
1365
1737
|
dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
|
|
1366
1738
|
dadosPDF.beneficiario.cnpj
|
|
@@ -1371,7 +1743,6 @@ function gerarPDF3(_0) {
|
|
|
1371
1743
|
dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
|
|
1372
1744
|
dadosPDF.pagador.endereco.cep
|
|
1373
1745
|
);
|
|
1374
|
-
dadosPDF.pagador.cpfcnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cpfcnpj);
|
|
1375
1746
|
dadosPDF.boleto.valorAcrescimo = maskFormat_default.numberToReal(
|
|
1376
1747
|
dadosPDF.boleto.valorAcrescimo
|
|
1377
1748
|
);
|
|
@@ -1381,7 +1752,6 @@ function gerarPDF3(_0) {
|
|
|
1381
1752
|
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
1382
1753
|
dadosPDF.boleto.valorDescontoAbatimento
|
|
1383
1754
|
);
|
|
1384
|
-
const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
|
|
1385
1755
|
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
1386
1756
|
dadosPDF.boleto.valorDocumento
|
|
1387
1757
|
);
|
|
@@ -1392,26 +1762,8 @@ function gerarPDF3(_0) {
|
|
|
1392
1762
|
if (dadosPDF.boleto.quantidade) {
|
|
1393
1763
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
1394
1764
|
}
|
|
1395
|
-
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
1396
|
-
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
1397
|
-
if (jurosDia > 0) {
|
|
1398
|
-
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1399
|
-
}
|
|
1400
|
-
const descontoVencimento = dadosPDF.boleto.desconto > 0 ? dadosPDF.boleto.desconto : dadosPDF.beneficiario.dadosBancario.desconto > 0 ? dadosPDF.beneficiario.dadosBancario.desconto : 0;
|
|
1401
|
-
if (descontoVencimento > 0) {
|
|
1402
|
-
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1403
|
-
}
|
|
1404
|
-
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
1405
|
-
if (multaAtraso > 0) {
|
|
1406
|
-
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
1407
|
-
}
|
|
1408
|
-
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
1409
|
-
if (protestoDias > 0) {
|
|
1410
|
-
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1411
|
-
}
|
|
1412
1765
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
1413
|
-
|
|
1414
|
-
const content = compileHbs(getPathTemplates("sicredi-boleto.hbs"), dadosPDF);
|
|
1766
|
+
const content = compileHbs(getPathTemplates("bradesco-boleto.hbs"), dadosPDF);
|
|
1415
1767
|
const config = {
|
|
1416
1768
|
displayHeaderFooter: false,
|
|
1417
1769
|
path: "./boleto.pdf",
|
|
@@ -1434,225 +1786,303 @@ function gerarPDF3(_0) {
|
|
|
1434
1786
|
dados: pdfBase64
|
|
1435
1787
|
};
|
|
1436
1788
|
} catch (error) {
|
|
1437
|
-
console.log(error);
|
|
1438
|
-
if (error instanceof Error) {
|
|
1439
|
-
return {
|
|
1440
|
-
erro: true,
|
|
1441
|
-
dados: error.message
|
|
1442
|
-
};
|
|
1443
|
-
}
|
|
1444
1789
|
return {
|
|
1445
1790
|
erro: true,
|
|
1446
|
-
dados:
|
|
1791
|
+
dados: null
|
|
1447
1792
|
};
|
|
1448
1793
|
}
|
|
1449
1794
|
});
|
|
1450
1795
|
}
|
|
1451
1796
|
|
|
1452
|
-
// src/banks/
|
|
1453
|
-
var
|
|
1454
|
-
function gerarRemessa3(
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
case "Protestar":
|
|
1467
|
-
protestar = "06";
|
|
1468
|
-
negativar = "0000";
|
|
1469
|
-
break;
|
|
1470
|
-
case "Negativar":
|
|
1471
|
-
protestar = "00";
|
|
1472
|
-
negativar = "06" + String(dadosBancario.diasProtesto).padStart(2, "0");
|
|
1473
|
-
break;
|
|
1474
|
-
default:
|
|
1475
|
-
protestar = "00";
|
|
1476
|
-
negativar = "0000";
|
|
1477
|
-
break;
|
|
1478
|
-
}
|
|
1479
|
-
arquivo.add("01REMESSA");
|
|
1480
|
-
arquivo.add("01");
|
|
1481
|
-
arquivo.add("COBRANCA".padEnd(15, " "));
|
|
1482
|
-
arquivo.add(dadosBancario.codigo_cedente);
|
|
1483
|
-
arquivo.add(beneficiario.cnpj);
|
|
1484
|
-
arquivo.add(" ".padEnd(31, " "));
|
|
1485
|
-
arquivo.add("748");
|
|
1486
|
-
arquivo.add("SICREDI".padEnd(15, " "));
|
|
1487
|
-
arquivo.add((0, import_date_fns6.format)(data, "yyyyMMdd"));
|
|
1488
|
-
arquivo.add(" ".padEnd(8, " "));
|
|
1489
|
-
arquivo.add(dadosBancario.numeroRemessa.padStart(7, "0"));
|
|
1490
|
-
arquivo.add(" ".padEnd(273, " "));
|
|
1491
|
-
arquivo.add("2.00");
|
|
1492
|
-
arquivo.add("000001");
|
|
1493
|
-
arquivo.addLine();
|
|
1494
|
-
let sequencia = 2;
|
|
1495
|
-
let total = 0;
|
|
1496
|
-
for (const boleto of boletos) {
|
|
1497
|
-
const { pagador } = boleto;
|
|
1498
|
-
total += Number(boleto.valor);
|
|
1499
|
-
let tipoInscricao = pagador.pessoa === "F" ? "1" : "2";
|
|
1500
|
-
let desconto = "0000000000000";
|
|
1501
|
-
let dataDesconto = "000000";
|
|
1502
|
-
if (boleto.desconto) {
|
|
1503
|
-
desconto = boleto.desconto.toFixed(2).replace(".", "").padStart(13, "0");
|
|
1504
|
-
dataDesconto = (0, import_date_fns6.format)(new Date(boleto.vencimento), "ddMMyy");
|
|
1505
|
-
}
|
|
1506
|
-
if (!boleto.desconto && dadosBancario.descontoPagamento) {
|
|
1507
|
-
desconto = dadosBancario.descontoPagamento.toFixed(2).replace(".", "").padStart(13, "0");
|
|
1508
|
-
dataDesconto = (0, import_date_fns6.format)(new Date(boleto.vencimento), "ddMMyy");
|
|
1509
|
-
}
|
|
1510
|
-
let valorJurosDias = Number(boleto.valor) * Number(dadosBancario.jurosMes) / 100 / 30;
|
|
1511
|
-
let multaAtraso = String(dadosBancario.multaAtraso * 100);
|
|
1512
|
-
arquivo.add("1");
|
|
1513
|
-
arquivo.add("AAA");
|
|
1514
|
-
arquivo.add(" ".padEnd(12, " "));
|
|
1515
|
-
arquivo.add("AAA");
|
|
1516
|
-
arquivo.add(" ".padEnd(28, " "));
|
|
1517
|
-
arquivo.add(boleto.nossoNumero.padEnd(9, " "));
|
|
1518
|
-
arquivo.add(" ".padEnd(6, " "));
|
|
1519
|
-
arquivo.add((0, import_date_fns6.format)(new Date(boleto.emissao), "yyyyMMdd"));
|
|
1520
|
-
arquivo.add(" ");
|
|
1521
|
-
arquivo.add("N");
|
|
1522
|
-
arquivo.add(" ");
|
|
1523
|
-
arquivo.add("B");
|
|
1797
|
+
// src/banks/bradesco/gerarRemessa.ts
|
|
1798
|
+
var import_date_fns7 = require("date-fns");
|
|
1799
|
+
function gerarRemessa3(_0) {
|
|
1800
|
+
return __async(this, arguments, function* ({ dados }) {
|
|
1801
|
+
try {
|
|
1802
|
+
const { dadosBancario, beneficiario, boletos } = dados.remessa;
|
|
1803
|
+
const arquivo = new Arquivo();
|
|
1804
|
+
const dataAtual = /* @__PURE__ */ new Date();
|
|
1805
|
+
const data = (0, import_date_fns7.format)(dataAtual, "ddMMyyyy");
|
|
1806
|
+
const hora = (0, import_date_fns7.format)(dataAtual, "HHmmss");
|
|
1807
|
+
const convenio = dadosBancario.convenio.padStart(7, "0");
|
|
1808
|
+
const numero = dadosBancario.conta.padStart(7, "0") + dadosBancario.contaDigito;
|
|
1809
|
+
const remessa2 = `REM${convenio}-${numero}-${data}.REM`;
|
|
1810
|
+
arquivo.add("085");
|
|
1524
1811
|
arquivo.add("0000");
|
|
1525
|
-
arquivo.add(" ".padEnd(4, " "));
|
|
1526
|
-
arquivo.add("0".padEnd(10, "0"));
|
|
1527
|
-
arquivo.add(multaAtraso.padStart(4, "0"));
|
|
1528
|
-
arquivo.add(" ".padEnd(12, " "));
|
|
1529
|
-
arquivo.add("01");
|
|
1530
|
-
arquivo.add(boleto.identificacaoTitulo.padEnd(10, " "));
|
|
1531
|
-
arquivo.add((0, import_date_fns6.format)(new Date(boleto.vencimento), "ddMMyy"));
|
|
1532
|
-
arquivo.add(Number(boleto.valor).toFixed(2).replace(".", "").padStart(13, "0"));
|
|
1533
|
-
arquivo.add(" ".padEnd(9, " "));
|
|
1534
|
-
arquivo.add("A");
|
|
1535
|
-
arquivo.add(boleto.aceite);
|
|
1536
|
-
arquivo.add((0, import_date_fns6.format)(new Date(boleto.emissao), "ddMMyy"));
|
|
1537
|
-
arquivo.add(protestar);
|
|
1538
|
-
arquivo.add(String(dadosBancario.diasProtesto).padStart(2, "0"));
|
|
1539
|
-
arquivo.add(Number(valorJurosDias).toFixed(2).replace(".", "").padStart(13, "0"));
|
|
1540
|
-
arquivo.add(dataDesconto);
|
|
1541
|
-
arquivo.add(desconto);
|
|
1542
|
-
arquivo.add(negativar);
|
|
1543
|
-
arquivo.add("0".padEnd(22, "0"));
|
|
1544
|
-
arquivo.add(tipoInscricao);
|
|
1545
1812
|
arquivo.add("0");
|
|
1546
|
-
arquivo.add(
|
|
1547
|
-
arquivo.add(
|
|
1548
|
-
arquivo.add(
|
|
1549
|
-
arquivo.add(
|
|
1813
|
+
arquivo.add(" ");
|
|
1814
|
+
arquivo.add("2");
|
|
1815
|
+
arquivo.add(beneficiario.cnpj);
|
|
1816
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
1817
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1818
|
+
arquivo.add(dadosBancario.agencia);
|
|
1819
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1820
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1550
1821
|
arquivo.add(" ");
|
|
1551
|
-
arquivo.add(
|
|
1822
|
+
arquivo.add(beneficiario.nome.substring(0, 30).padEnd(30, " "));
|
|
1823
|
+
arquivo.add("AILOS".padEnd(30, " "));
|
|
1824
|
+
arquivo.add(" ");
|
|
1825
|
+
arquivo.add("1");
|
|
1826
|
+
arquivo.add(data);
|
|
1827
|
+
arquivo.add(hora);
|
|
1828
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
|
|
1829
|
+
arquivo.add("087");
|
|
1552
1830
|
arquivo.add("00000");
|
|
1553
|
-
arquivo.add(" ".padEnd(
|
|
1554
|
-
arquivo.add(
|
|
1831
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1832
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1833
|
+
arquivo.add(" ".padEnd(29, " "));
|
|
1834
|
+
arquivo.addLine();
|
|
1835
|
+
arquivo.add("085");
|
|
1836
|
+
arquivo.add("0001");
|
|
1837
|
+
arquivo.add("1");
|
|
1838
|
+
arquivo.add("R");
|
|
1839
|
+
arquivo.add("01");
|
|
1840
|
+
arquivo.add(" ");
|
|
1841
|
+
arquivo.add("045");
|
|
1842
|
+
arquivo.add(" ");
|
|
1843
|
+
arquivo.add("2");
|
|
1844
|
+
arquivo.add(beneficiario.cnpj.padStart(15, "0"));
|
|
1845
|
+
arquivo.add(dadosBancario.convenio.padEnd(20, " "));
|
|
1846
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1847
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1848
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1849
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1850
|
+
arquivo.add(" ");
|
|
1851
|
+
arquivo.add(beneficiario.nome.substring(0, 30).padEnd(30, " "));
|
|
1852
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1853
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1854
|
+
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
1855
|
+
arquivo.add(data);
|
|
1856
|
+
arquivo.add("00000000");
|
|
1857
|
+
arquivo.add(" ".padEnd(33, " "));
|
|
1858
|
+
arquivo.addLine();
|
|
1859
|
+
let sequencia = 1;
|
|
1860
|
+
let quantidadeRegistro = 1;
|
|
1861
|
+
let total = 0;
|
|
1862
|
+
for (const boleto of boletos) {
|
|
1863
|
+
const { pagador } = boleto;
|
|
1864
|
+
const vencimento = (0, import_date_fns7.format)(new Date(boleto.vencimento), "ddMMyyyy");
|
|
1865
|
+
total += Number(boleto.valor);
|
|
1866
|
+
const codigoJuro = dadosBancario.jurosMes > 0 ? "2" : "3";
|
|
1867
|
+
const juros = dadosBancario.jurosMes > 0 ? dadosBancario.jurosMes.toFixed(2) : "000000000000000";
|
|
1868
|
+
const jurosVencimento = (0, import_date_fns7.format)(
|
|
1869
|
+
(0, import_date_fns7.addDays)(new Date(boleto.vencimento), 1),
|
|
1870
|
+
"ddMMyyyy"
|
|
1871
|
+
);
|
|
1872
|
+
const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
|
|
1873
|
+
const desconto = dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
|
|
1874
|
+
const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
|
|
1875
|
+
const diasProtesto = protesto === "1" ? dadosBancario.diasProtesto.toString() : "00";
|
|
1876
|
+
arquivo.add("085");
|
|
1877
|
+
arquivo.add("0001");
|
|
1878
|
+
arquivo.add("3");
|
|
1879
|
+
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1880
|
+
arquivo.add("P");
|
|
1881
|
+
arquivo.add(" ");
|
|
1882
|
+
arquivo.add("01");
|
|
1883
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1884
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1885
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1886
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1887
|
+
arquivo.add(" ");
|
|
1888
|
+
arquivo.add(boleto.nossoNumero.padEnd(20, " "));
|
|
1889
|
+
arquivo.add("1");
|
|
1890
|
+
arquivo.add("1");
|
|
1891
|
+
arquivo.add("1");
|
|
1892
|
+
arquivo.add("2");
|
|
1893
|
+
arquivo.add("2");
|
|
1894
|
+
arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
|
|
1895
|
+
arquivo.add(vencimento);
|
|
1896
|
+
arquivo.add(
|
|
1897
|
+
Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
|
|
1898
|
+
);
|
|
1899
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1900
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1901
|
+
arquivo.add("02");
|
|
1902
|
+
arquivo.add("A");
|
|
1903
|
+
arquivo.add(data);
|
|
1904
|
+
arquivo.add(codigoJuro);
|
|
1905
|
+
arquivo.add(jurosVencimento);
|
|
1906
|
+
arquivo.add(juros.replace(".", "").padStart(15, "0"));
|
|
1907
|
+
arquivo.add(codigoDesconto);
|
|
1908
|
+
arquivo.add(vencimento);
|
|
1909
|
+
arquivo.add(desconto.replace(".", "").padStart(15, "0"));
|
|
1910
|
+
arquivo.add("000000000000000");
|
|
1911
|
+
arquivo.add("000000000000000");
|
|
1912
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
1913
|
+
arquivo.add(protesto);
|
|
1914
|
+
arquivo.add(diasProtesto.padStart(1, "0"));
|
|
1915
|
+
arquivo.add("2");
|
|
1916
|
+
arquivo.add(" ");
|
|
1917
|
+
arquivo.add("09");
|
|
1918
|
+
arquivo.add("0000000000");
|
|
1919
|
+
arquivo.add(" ");
|
|
1920
|
+
sequencia++;
|
|
1921
|
+
arquivo.addLine();
|
|
1922
|
+
let tipoInscricao = "1";
|
|
1923
|
+
if (pagador.pessoa === "F") {
|
|
1924
|
+
tipoInscricao = "1";
|
|
1925
|
+
} else {
|
|
1926
|
+
tipoInscricao = "2";
|
|
1927
|
+
}
|
|
1928
|
+
pagador.endereco.logradouro = `${pagador.endereco.logradouro.substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
1929
|
+
arquivo.add("085");
|
|
1930
|
+
arquivo.add("0001");
|
|
1931
|
+
arquivo.add("3");
|
|
1932
|
+
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1933
|
+
arquivo.add("Q");
|
|
1934
|
+
arquivo.add(" ");
|
|
1935
|
+
arquivo.add("01");
|
|
1936
|
+
arquivo.add(tipoInscricao);
|
|
1937
|
+
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
1938
|
+
arquivo.add(pagador.nome.substring(0, 40).padEnd(40, " "));
|
|
1939
|
+
arquivo.add(pagador.endereco.logradouro.substring(0, 40).padEnd(40, " "));
|
|
1940
|
+
arquivo.add(pagador.endereco.bairro.substring(0, 15).padEnd(15, " "));
|
|
1941
|
+
arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
|
|
1942
|
+
arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
|
|
1943
|
+
arquivo.add(pagador.endereco.municipio.substring(0, 15).padEnd(15, " "));
|
|
1944
|
+
arquivo.add(pagador.endereco.uf.padEnd(2, " "));
|
|
1945
|
+
arquivo.add("0");
|
|
1946
|
+
arquivo.add("000000000000000");
|
|
1947
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1948
|
+
arquivo.add("000");
|
|
1949
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1950
|
+
arquivo.add(" ".padEnd(8, " "));
|
|
1951
|
+
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
1952
|
+
if (dadosBancario.multaAtraso > 0) {
|
|
1953
|
+
arquivo.addLine();
|
|
1954
|
+
const multa = dadosBancario.multaAtraso.toFixed(2);
|
|
1955
|
+
sequencia++;
|
|
1956
|
+
arquivo.add("085");
|
|
1957
|
+
arquivo.add("0001");
|
|
1958
|
+
arquivo.add("3");
|
|
1959
|
+
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1960
|
+
arquivo.add("R");
|
|
1961
|
+
arquivo.add(" ");
|
|
1962
|
+
arquivo.add("01");
|
|
1963
|
+
arquivo.add("0");
|
|
1964
|
+
arquivo.add("00000000");
|
|
1965
|
+
arquivo.add("000000000000000");
|
|
1966
|
+
arquivo.add("0");
|
|
1967
|
+
arquivo.add("00000000");
|
|
1968
|
+
arquivo.add("000000000000000");
|
|
1969
|
+
arquivo.add("2");
|
|
1970
|
+
arquivo.add(vencimento);
|
|
1971
|
+
arquivo.add(multa.replace(".", "").padStart(15, "0"));
|
|
1972
|
+
arquivo.add(" ".padEnd(10, " "));
|
|
1973
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1974
|
+
arquivo.add(" ".padEnd(40, " "));
|
|
1975
|
+
arquivo.add(" ".padEnd(20, " "));
|
|
1976
|
+
arquivo.add("00000000");
|
|
1977
|
+
arquivo.add("000");
|
|
1978
|
+
arquivo.add("00000");
|
|
1979
|
+
arquivo.add(" ");
|
|
1980
|
+
arquivo.add("000000000000");
|
|
1981
|
+
arquivo.add(" ");
|
|
1982
|
+
arquivo.add(" ");
|
|
1983
|
+
arquivo.add("0");
|
|
1984
|
+
arquivo.add("000000000");
|
|
1985
|
+
}
|
|
1986
|
+
arquivo.addLine();
|
|
1987
|
+
quantidadeRegistro++;
|
|
1988
|
+
}
|
|
1989
|
+
arquivo.add("085");
|
|
1990
|
+
arquivo.add("0001");
|
|
1991
|
+
arquivo.add("5");
|
|
1992
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
1993
|
+
arquivo.add((sequencia + 3).toString().padStart(6, "0"));
|
|
1994
|
+
arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
|
|
1995
|
+
arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
|
|
1996
|
+
arquivo.add("0".padStart(6, "0"));
|
|
1997
|
+
arquivo.add("0".padStart(17, "0"));
|
|
1998
|
+
arquivo.add("0".padStart(6, "0"));
|
|
1999
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2000
|
+
arquivo.add("0".padStart(6, "0"));
|
|
2001
|
+
arquivo.add("0".padStart(17, "0"));
|
|
2002
|
+
arquivo.add(" ".padStart(8, " "));
|
|
2003
|
+
arquivo.add(" ".padStart(117, " "));
|
|
1555
2004
|
arquivo.addLine();
|
|
1556
|
-
|
|
2005
|
+
arquivo.add("085");
|
|
2006
|
+
arquivo.add("9999");
|
|
2007
|
+
arquivo.add("9");
|
|
2008
|
+
arquivo.add(" ".padEnd(9, " "));
|
|
2009
|
+
arquivo.add("000001");
|
|
2010
|
+
arquivo.add((sequencia + 4).toString().padStart(6, "0"));
|
|
2011
|
+
arquivo.add("000000");
|
|
2012
|
+
arquivo.add(" ".padEnd(205, " "));
|
|
2013
|
+
return {
|
|
2014
|
+
download: remessa2,
|
|
2015
|
+
arquivo: arquivo.getArquivo()
|
|
2016
|
+
};
|
|
2017
|
+
} catch (error) {
|
|
2018
|
+
console.log(error);
|
|
2019
|
+
return null;
|
|
1557
2020
|
}
|
|
1558
|
-
|
|
1559
|
-
arquivo.add(dadosBancario.codigo_cedente);
|
|
1560
|
-
arquivo.add(" ".padEnd(384, " "));
|
|
1561
|
-
arquivo.add(String(sequencia).padStart(6, "0"));
|
|
1562
|
-
arquivo.addLine();
|
|
1563
|
-
return {
|
|
1564
|
-
download: `${dadosBancario.codigo_cedente}${retornaMes(data)}${(0, import_date_fns6.format)(data, "dd")}.crm`,
|
|
1565
|
-
arquivo: arquivo.getArquivo()
|
|
1566
|
-
};
|
|
1567
|
-
} catch (error) {
|
|
1568
|
-
console.log(error);
|
|
1569
|
-
return null;
|
|
1570
|
-
}
|
|
1571
|
-
}
|
|
1572
|
-
function retornaMes(data) {
|
|
1573
|
-
const mes = data.getMonth() + 1;
|
|
1574
|
-
switch (mes) {
|
|
1575
|
-
case 10:
|
|
1576
|
-
return "O";
|
|
1577
|
-
case 11:
|
|
1578
|
-
return "N";
|
|
1579
|
-
case 12:
|
|
1580
|
-
return "D";
|
|
1581
|
-
default:
|
|
1582
|
-
return mes.toString();
|
|
1583
|
-
}
|
|
2021
|
+
});
|
|
1584
2022
|
}
|
|
1585
2023
|
|
|
1586
|
-
// src/banks/
|
|
1587
|
-
var import_date_fns7 = require("date-fns");
|
|
2024
|
+
// src/banks/bradesco/gerarRetorno.ts
|
|
1588
2025
|
function gerarRetorno3({ dados }) {
|
|
1589
2026
|
try {
|
|
1590
2027
|
const { arquivo } = dados;
|
|
1591
2028
|
const documentos = [];
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
2029
|
+
let index = 0;
|
|
2030
|
+
for (const item of arquivo) {
|
|
2031
|
+
let linha = item;
|
|
2032
|
+
const banco = linha.substring(0, 3);
|
|
2033
|
+
const codigoRetorno = linha.substring(15, 17);
|
|
2034
|
+
if ((banco === "001" || banco === "085") && (codigoRetorno === "06" || codigoRetorno === "17")) {
|
|
2035
|
+
let segmento = linha.substring(13, 14);
|
|
2036
|
+
if (segmento === "T") {
|
|
2037
|
+
let tipoDocumento = "";
|
|
2038
|
+
let idDocumento = "";
|
|
2039
|
+
const linhaDoc = linha.substring(105, 130).trimEnd();
|
|
2040
|
+
if (linhaDoc.includes("-")) {
|
|
2041
|
+
[tipoDocumento, idDocumento] = linha.split("-");
|
|
2042
|
+
} else {
|
|
2043
|
+
idDocumento = linhaDoc;
|
|
2044
|
+
}
|
|
2045
|
+
const especie = tipoDocumento.length ? tipoDocumento : "INDEFINIDO";
|
|
2046
|
+
linha = arquivo[index + 1];
|
|
2047
|
+
segmento = linha.substring(13, 14);
|
|
2048
|
+
if (segmento === "U") {
|
|
2049
|
+
const valorAbatimentoString = linha.substring(47, 62);
|
|
2050
|
+
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
2051
|
+
const valorDescontoString = linha.substring(32, 47);
|
|
2052
|
+
const valorDesconto = Number(valorDescontoString) / 100;
|
|
2053
|
+
const valorPagoString = linha.substring(77, 92);
|
|
2054
|
+
const valorPago = Number(valorPagoString) / 100;
|
|
2055
|
+
const valorJurosString = linha.substring(17, 32);
|
|
2056
|
+
const valorJuros = Number(valorJurosString) / 100;
|
|
2057
|
+
const valorMulta = 0;
|
|
2058
|
+
const descontos = valorAbatimento + valorDesconto;
|
|
2059
|
+
const valorTotal = valorPago - valorJuros + descontos;
|
|
2060
|
+
const documento = {
|
|
2061
|
+
id_documento: idDocumento,
|
|
2062
|
+
especie,
|
|
2063
|
+
valor: valorTotal,
|
|
2064
|
+
valor_desconto: 0,
|
|
2065
|
+
valor_juros: 0,
|
|
2066
|
+
valor_multa: 0,
|
|
2067
|
+
valor_total: 0,
|
|
2068
|
+
data: /* @__PURE__ */ new Date()
|
|
2069
|
+
};
|
|
2070
|
+
documentos.push(documento);
|
|
2071
|
+
}
|
|
2072
|
+
}
|
|
1632
2073
|
}
|
|
1633
|
-
|
|
1634
|
-
const valor_total = valor_titulo + valor_multa + valor_juros - descontos;
|
|
1635
|
-
documentos.push({
|
|
1636
|
-
id_documento,
|
|
1637
|
-
especie,
|
|
1638
|
-
valor: valor_pago,
|
|
1639
|
-
valor_multa,
|
|
1640
|
-
valor_juros,
|
|
1641
|
-
valor_desconto,
|
|
1642
|
-
valor_total,
|
|
1643
|
-
data: dataCredito
|
|
1644
|
-
});
|
|
2074
|
+
index++;
|
|
1645
2075
|
}
|
|
1646
|
-
const
|
|
1647
|
-
return
|
|
2076
|
+
const documentoAgrupado = agruparRetorno(documentos);
|
|
2077
|
+
return documentoAgrupado;
|
|
1648
2078
|
} catch (error) {
|
|
1649
2079
|
console.log(error);
|
|
1650
2080
|
return null;
|
|
1651
2081
|
}
|
|
1652
2082
|
}
|
|
1653
2083
|
|
|
1654
|
-
// src/banks/
|
|
1655
|
-
var
|
|
2084
|
+
// src/banks/bradesco/index.ts
|
|
2085
|
+
var bradesco = {
|
|
1656
2086
|
gerarDadosBoleto: gerarDadosBoleto3,
|
|
1657
2087
|
gerarPDF: gerarPDF3,
|
|
1658
2088
|
gerarRemessa: gerarRemessa3,
|
|
@@ -1988,7 +2418,7 @@ function gerarRemessa4({ dados }) {
|
|
|
1988
2418
|
}
|
|
1989
2419
|
|
|
1990
2420
|
// src/banks/sicoob/gerarPDF.ts
|
|
1991
|
-
var
|
|
2421
|
+
var import_bwip_js5 = __toESM(require("bwip-js"));
|
|
1992
2422
|
var import_string_mask2 = __toESM(require("string-mask"));
|
|
1993
2423
|
function gerarPDF4(_0) {
|
|
1994
2424
|
return __async(this, arguments, function* ({ dados }) {
|
|
@@ -1997,7 +2427,7 @@ function gerarPDF4(_0) {
|
|
|
1997
2427
|
if (!dadosPDF.pagador.cpfcnpj) {
|
|
1998
2428
|
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
1999
2429
|
}
|
|
2000
|
-
const codigoBarra2 = yield
|
|
2430
|
+
const codigoBarra2 = yield import_bwip_js5.default.toBuffer({
|
|
2001
2431
|
bcid: "interleaved2of5",
|
|
2002
2432
|
text: dadosPDF.boleto.codigoBarra,
|
|
2003
2433
|
height: 20
|
|
@@ -2119,53 +2549,61 @@ function gerarRetorno4({ dados }) {
|
|
|
2119
2549
|
continue;
|
|
2120
2550
|
}
|
|
2121
2551
|
const ocorrencia = linha.substring(15, 17);
|
|
2122
|
-
if (ocorrencia
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2552
|
+
if (ocorrencia === "06" || ocorrencia === "17" || ocorrencia === "03") {
|
|
2553
|
+
let segmento = linha.substring(13, 14);
|
|
2554
|
+
if (segmento === "T") {
|
|
2555
|
+
const motivo = linha.substring(213, 223).trim();
|
|
2556
|
+
const meu_numero = linha.substring(105, 130).trimEnd();
|
|
2557
|
+
let tipo_documento = "INDEFINIDO";
|
|
2558
|
+
let id_documento = meu_numero;
|
|
2559
|
+
if (meu_numero.includes("-")) {
|
|
2560
|
+
const [tipo, id] = meu_numero.split("-");
|
|
2561
|
+
tipo_documento = tipo;
|
|
2562
|
+
id_documento = id;
|
|
2563
|
+
}
|
|
2564
|
+
const especie = tipo_documento.length ? tipo_documento : "INDEFINIDO";
|
|
2565
|
+
linha = arquivo[++i];
|
|
2566
|
+
segmento = linha.substring(13, 14);
|
|
2567
|
+
if (segmento === "U") {
|
|
2568
|
+
let dataCredito;
|
|
2569
|
+
const dataCreditoString = linha.substring(145, 153);
|
|
2570
|
+
if (dataCreditoString && dataCreditoString !== "00000000") {
|
|
2571
|
+
dataCredito = (0, import_date_fns9.parse)(dataCreditoString, "ddMMyyyy", /* @__PURE__ */ new Date());
|
|
2572
|
+
} else {
|
|
2573
|
+
const dataOcorrenciaString = linha.substring(137, 145);
|
|
2574
|
+
dataCredito = (0, import_date_fns9.parse)(dataOcorrenciaString, "ddMMyyyy", /* @__PURE__ */ new Date());
|
|
2575
|
+
}
|
|
2576
|
+
const valorAbatimentoString = linha.substring(47, 62);
|
|
2577
|
+
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
2578
|
+
const valorDescontoString = linha.substring(32, 47);
|
|
2579
|
+
const valorDesconto = Number(valorDescontoString) / 100;
|
|
2580
|
+
const valorPagoString = linha.substring(77, 92);
|
|
2581
|
+
const valorPago = Number(valorPagoString) / 100;
|
|
2582
|
+
const valorJurosString = linha.substring(17, 32);
|
|
2583
|
+
const valorJuros = Number(valorJurosString) / 100;
|
|
2584
|
+
const valorMulta = 0;
|
|
2585
|
+
const descontos = valorAbatimento + valorDesconto;
|
|
2586
|
+
const valorTotal = valorPago - valorJuros + descontos;
|
|
2587
|
+
let rejeitado = false;
|
|
2588
|
+
let motivoRejeicao = "";
|
|
2589
|
+
if (ocorrencia === "03") {
|
|
2590
|
+
rejeitado = true;
|
|
2591
|
+
motivoRejeicao = retornaMotivoRejeicao3(motivo);
|
|
2592
|
+
}
|
|
2593
|
+
const documento = {
|
|
2594
|
+
id_documento,
|
|
2595
|
+
especie,
|
|
2596
|
+
valor: valorPago,
|
|
2597
|
+
valor_multa: valorMulta,
|
|
2598
|
+
valor_juros: valorJuros,
|
|
2599
|
+
valor_desconto: valorDesconto,
|
|
2600
|
+
valor_total: valorTotal,
|
|
2601
|
+
data: dataCredito,
|
|
2602
|
+
rejeitado,
|
|
2603
|
+
motivo: motivoRejeicao
|
|
2604
|
+
};
|
|
2605
|
+
documentos.push(documento);
|
|
2146
2606
|
}
|
|
2147
|
-
const valorAbatimentoString = linha.substring(47, 62);
|
|
2148
|
-
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
2149
|
-
const valorDescontoString = linha.substring(32, 47);
|
|
2150
|
-
const valorDesconto = Number(valorDescontoString) / 100;
|
|
2151
|
-
const valorPagoString = linha.substring(77, 92);
|
|
2152
|
-
const valorPago = Number(valorPagoString) / 100;
|
|
2153
|
-
const valorJurosString = linha.substring(17, 32);
|
|
2154
|
-
const valorJuros = Number(valorJurosString) / 100;
|
|
2155
|
-
const valorMulta = 0;
|
|
2156
|
-
const descontos = valorAbatimento + valorDesconto;
|
|
2157
|
-
const valorTotal = valorPago - valorJuros + descontos;
|
|
2158
|
-
const documento = {
|
|
2159
|
-
id_documento,
|
|
2160
|
-
especie,
|
|
2161
|
-
valor: valorPago,
|
|
2162
|
-
valor_multa: valorMulta,
|
|
2163
|
-
valor_juros: valorJuros,
|
|
2164
|
-
valor_desconto: valorDesconto,
|
|
2165
|
-
valor_total: valorTotal,
|
|
2166
|
-
data: dataCredito
|
|
2167
|
-
};
|
|
2168
|
-
documentos.push(documento);
|
|
2169
2607
|
}
|
|
2170
2608
|
}
|
|
2171
2609
|
}
|
|
@@ -2176,6 +2614,42 @@ function gerarRetorno4({ dados }) {
|
|
|
2176
2614
|
return null;
|
|
2177
2615
|
}
|
|
2178
2616
|
}
|
|
2617
|
+
function retornaMotivoRejeicao3(codigo) {
|
|
2618
|
+
switch (codigo) {
|
|
2619
|
+
case "03":
|
|
2620
|
+
return "Tarifa de Desist\xEAncia";
|
|
2621
|
+
case "04":
|
|
2622
|
+
return "Tarifa de Protesto";
|
|
2623
|
+
case "08":
|
|
2624
|
+
return "Custas de Protesto";
|
|
2625
|
+
case "11":
|
|
2626
|
+
return "Forma de Cadastramento do T\xEDtulo Inv\xE1lido";
|
|
2627
|
+
case "21":
|
|
2628
|
+
return "Tarifa de Grava\xE7\xE3o Eletr\xF4nica = CRA";
|
|
2629
|
+
case "28":
|
|
2630
|
+
return "C\xF3digo do Desconto Inv\xE1lido";
|
|
2631
|
+
case "29":
|
|
2632
|
+
return "Valor do Desconto Maior ou Igual ao Valor do T\xEDtulo";
|
|
2633
|
+
case "30":
|
|
2634
|
+
return "Desconto a Conceder N\xE3o Confere";
|
|
2635
|
+
case "31":
|
|
2636
|
+
return "Concess\xE3o de Desconto - J\xE1 Existe Desconto Anterior";
|
|
2637
|
+
case "39":
|
|
2638
|
+
return "Pedido de Protesto/Negativa\xE7\xE3o N\xE3o Permitido para o T\xEDtulo";
|
|
2639
|
+
case "40":
|
|
2640
|
+
return "T\xEDtulo com Ordem de Protesto/Negativa\xE7\xE3o Emitida";
|
|
2641
|
+
case "41":
|
|
2642
|
+
return "Pedido de Cancelamento/Susta\xE7\xE3o para T\xEDtulos sem Instru\xE7\xE3o de Negativa\xE7\xE3o/Protesto";
|
|
2643
|
+
case "58":
|
|
2644
|
+
return "Data da Multa Inv\xE1lida";
|
|
2645
|
+
case "79":
|
|
2646
|
+
return "Data Juros de Mora Inv\xE1lido";
|
|
2647
|
+
case "80":
|
|
2648
|
+
return "Data do Desconto Inv\xE1lida";
|
|
2649
|
+
default:
|
|
2650
|
+
return "Motivo de rejei\xE7\xE3o n\xE3o identificado";
|
|
2651
|
+
}
|
|
2652
|
+
}
|
|
2179
2653
|
|
|
2180
2654
|
// src/banks/sicoob/index.ts
|
|
2181
2655
|
var sicoob = {
|
|
@@ -2319,7 +2793,7 @@ function getDigito5(texto) {
|
|
|
2319
2793
|
}
|
|
2320
2794
|
|
|
2321
2795
|
// src/banks/banco-brasil/gerarPDF.ts
|
|
2322
|
-
var
|
|
2796
|
+
var import_bwip_js6 = __toESM(require("bwip-js"));
|
|
2323
2797
|
function gerarPDF5(_0) {
|
|
2324
2798
|
return __async(this, arguments, function* ({ dados }) {
|
|
2325
2799
|
try {
|
|
@@ -2327,7 +2801,7 @@ function gerarPDF5(_0) {
|
|
|
2327
2801
|
if (!dadosPDF.pagador.cpfcnpj) {
|
|
2328
2802
|
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
2329
2803
|
}
|
|
2330
|
-
const codigoBarra2 = yield
|
|
2804
|
+
const codigoBarra2 = yield import_bwip_js6.default.toBuffer({
|
|
2331
2805
|
bcid: "interleaved2of5",
|
|
2332
2806
|
text: dadosPDF.boleto.codigoBarra,
|
|
2333
2807
|
height: 20
|
|
@@ -2745,7 +3219,7 @@ function gerarRetorno5({ dados }) {
|
|
|
2745
3219
|
let motivoRejeicao = "";
|
|
2746
3220
|
if (ocorrencia === "03") {
|
|
2747
3221
|
rejeitado = true;
|
|
2748
|
-
motivoRejeicao =
|
|
3222
|
+
motivoRejeicao = retornaMotivoRejeicao4(motivo);
|
|
2749
3223
|
}
|
|
2750
3224
|
const documento = {
|
|
2751
3225
|
id_documento,
|
|
@@ -2772,7 +3246,7 @@ function gerarRetorno5({ dados }) {
|
|
|
2772
3246
|
return null;
|
|
2773
3247
|
}
|
|
2774
3248
|
}
|
|
2775
|
-
function
|
|
3249
|
+
function retornaMotivoRejeicao4(codigo) {
|
|
2776
3250
|
switch (codigo) {
|
|
2777
3251
|
case "01":
|
|
2778
3252
|
return "C\xF3digo do Banco Inv\xE1lido";
|
|
@@ -3033,7 +3507,7 @@ function gerar({ banco, dados }) {
|
|
|
3033
3507
|
}
|
|
3034
3508
|
|
|
3035
3509
|
// src/banks/itau/gerarPDF.ts
|
|
3036
|
-
var
|
|
3510
|
+
var import_bwip_js7 = __toESM(require("bwip-js"));
|
|
3037
3511
|
function gerarPDF6(_0) {
|
|
3038
3512
|
return __async(this, arguments, function* ({ dados }) {
|
|
3039
3513
|
try {
|
|
@@ -3041,7 +3515,7 @@ function gerarPDF6(_0) {
|
|
|
3041
3515
|
if (!dadosPDF.pagador.cnpjCpf) {
|
|
3042
3516
|
throw new Error("CPF/CNPJ do pagador na\u0303o informado!");
|
|
3043
3517
|
}
|
|
3044
|
-
const codigoBarra2 = yield
|
|
3518
|
+
const codigoBarra2 = yield import_bwip_js7.default.toBuffer({
|
|
3045
3519
|
bcid: "interleaved2of5",
|
|
3046
3520
|
text: dadosPDF.boleto.codigoBarra,
|
|
3047
3521
|
height: 20
|
|
@@ -3213,7 +3687,8 @@ var src_default = {
|
|
|
3213
3687
|
gerar,
|
|
3214
3688
|
pdf,
|
|
3215
3689
|
remessa,
|
|
3216
|
-
retorno
|
|
3690
|
+
retorno,
|
|
3691
|
+
carne
|
|
3217
3692
|
};
|
|
3218
3693
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3219
3694
|
0 && (module.exports = {
|