Skip to content

Instantly share code, notes, and snippets.

@adrianoxavier
Created May 5, 2021 12:32
Show Gist options
  • Save adrianoxavier/2db876cb91c6c64541b4cc5098793a6a to your computer and use it in GitHub Desktop.
Save adrianoxavier/2db876cb91c6c64541b4cc5098793a6a to your computer and use it in GitHub Desktop.
let arquivo = [
'03300000 2073852501000170461600007633580 SKILLLINE TECNOLOGIA DA INFORMBanco Santander 110032021 000408040 ',
'03300011R01 030 2073852501000170 461600007633580 SKILLLINE TECNOLOGIA DA INFORMCobrar Juros 2 am Protestar no 10º dia corrido após venc 0000000010032021 ',
'0330001300001P 014616701300030200130003020 0000003064905511 0000000000119352503202100000000020668900000 02N090320213250320210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006233000300000 ',
'03399999 000001000172 ',
]
let docpay = [
'03300000 2037878691000130000000000000001 SKILLCONSULTING TECNOLOGIA ...BANCO SANTANDER 104052021 000101040 ',
'03300011R01 030 2037878691000130 000000000000001 SKILLCONSULTING TECNOLOGIA ... 0000010104052021 ',
'0330001300001P 014616701300020430130002043 0000000000005511 0000000000062492204202100000000000434400000 02N220420213000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006249300100000 ',
'03399999 000001000012 ',
];
let get = (line, start, end) => {
return String(line).substring(start - 1, end);
};
let padStart = (value, size, char = '0') => {
let fill = Array(size).fill(char).join('');
return (fill + value).slice(-1 * size);
};
let padEnd = (value, size, char = '0') => {
let fill = Array(size).fill(char).join('');
return (value + fill).substr(0, size);
};
let compare = (name, index, start, end) => {
let block = 40;
if (!name) {
console.log(`${padEnd('Local', block, ' ')} - ${padEnd('Arquivo', block, ' ')} - ${padEnd('Docpay', block, ' ')}`);
return;
}
let blockDet = ((end - start) > 40) ? ((end - start) + 10) : block;
let part0 = `${name} ${padStart(start, 3)}-${padStart(end, 3)}`,
part1 = `"${get(arquivo[index], start, end)}"`,
part2 = `"${get(docpay[index], start, end)}"`;
console.log(`${padEnd(part0, block, ' ')} - ${padEnd(part1, blockDet, ' ')} - ${padEnd(part2, blockDet, ' ')}`);
};
compare();
compare('header', 0, 33, 47);
compare('header', 0, 158, 163);
compare('header lote', 1, 34, 53);
compare('header lote', 1, 54, 68);
compare('header lote', 1, 69, 73);
compare('header lote', 1, 184, 191);
compare('segmento P', 2, 33, 41);
compare('segmento P', 2, 43, 44);
compare('segmento P', 2, 63, 77);
compare('segmento P', 2, 107, 108);
compare('segmento P', 2, 196, 220);
compare('segmento P', 2, 225, 225);
compare('segmento P', 2, 228, 229);
compare('trailer', 3, 24, 240);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment