Created
May 5, 2021 12:32
-
-
Save adrianoxavier/2db876cb91c6c64541b4cc5098793a6a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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