@plasoft/boletos 1.0.38 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.d.mts +11 -5
- package/build/index.d.ts +11 -5
- package/build/index.js +135 -102
- package/build/index.mjs +135 -102
- package/build/sicoob-boleto.hbs +849 -842
- package/package.json +1 -1
package/build/index.mjs
CHANGED
|
@@ -1499,13 +1499,14 @@ function gerarDadosBoleto4({ dados }) {
|
|
|
1499
1499
|
bancario.modalidade = "01";
|
|
1500
1500
|
}
|
|
1501
1501
|
bancario.modalidade = padLeft(bancario.modalidade, 2);
|
|
1502
|
-
const
|
|
1502
|
+
const codigo_cliente = `${bancario.codigo_cliente}${bancario.codigo_cliente_dv}`;
|
|
1503
|
+
const nossoNumero = getNossoNumero2(bancario.agencia, codigo_cliente, String(parcela.id_boleto));
|
|
1503
1504
|
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
1504
1505
|
const valor = getValor4(Number(parcela.valor));
|
|
1505
|
-
const campoLivre = "1" +
|
|
1506
|
+
const campoLivre = "1" + bancario.agencia + bancario.modalidade + codigo_cliente + nossoNumero + padLeft(parcela.parcela, 3);
|
|
1506
1507
|
const digitoGeral = getDigitoGeral4(`7569${fatorVencimento}${valor}${campoLivre}`);
|
|
1507
1508
|
const codigoBarra2 = `7569${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
1508
|
-
const campo1 = copy(codigoBarra2, 1, 4) + copy(codigoBarra2, 20, 24);
|
|
1509
|
+
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
1509
1510
|
const campo2 = copy(codigoBarra2, 25, 34);
|
|
1510
1511
|
const campo3 = copy(codigoBarra2, 35, 44);
|
|
1511
1512
|
const campo4 = copy(codigoBarra2, 5, 5);
|
|
@@ -1529,15 +1530,24 @@ function gerarDadosBoleto4({ dados }) {
|
|
|
1529
1530
|
return null;
|
|
1530
1531
|
}
|
|
1531
1532
|
}
|
|
1532
|
-
function getNossoNumero2(
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1533
|
+
function getNossoNumero2(agencia, codigo_cliente, id_boleto) {
|
|
1534
|
+
codigo_cliente = codigo_cliente.padStart(10, "0");
|
|
1535
|
+
id_boleto = id_boleto.padStart(7, "0");
|
|
1536
|
+
const aux = `${agencia}${codigo_cliente}${id_boleto}`;
|
|
1537
|
+
let i = 22, m = 3, soma = 0;
|
|
1538
|
+
while (true) {
|
|
1539
|
+
i--;
|
|
1540
|
+
soma += m * Number(copy(aux, i, i));
|
|
1541
|
+
if (i === 1)
|
|
1542
|
+
break;
|
|
1543
|
+
if (m === 3)
|
|
1544
|
+
m = 7;
|
|
1545
|
+
if (m === 7)
|
|
1546
|
+
m = 9;
|
|
1547
|
+
if (m === 9)
|
|
1548
|
+
m = 1;
|
|
1549
|
+
if (m === 1)
|
|
1550
|
+
m = 3;
|
|
1541
1551
|
}
|
|
1542
1552
|
let dig = soma % 11;
|
|
1543
1553
|
dig = dig === 1 ? dig = 0 : 11 - dig;
|
|
@@ -1608,10 +1618,12 @@ function gerarRemessa4({ dados }) {
|
|
|
1608
1618
|
arquivo.add("2");
|
|
1609
1619
|
arquivo.add(beneficiario.cnpj);
|
|
1610
1620
|
arquivo.add(" ".padEnd(20, " "));
|
|
1611
|
-
arquivo.add(dadosBancario.agencia.padStart(
|
|
1612
|
-
arquivo.add(dadosBancario.
|
|
1621
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1622
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1623
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1624
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1613
1625
|
arquivo.add("0");
|
|
1614
|
-
arquivo.add(beneficiario.nome.padEnd(30, " "));
|
|
1626
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
1615
1627
|
arquivo.add("SICOOB".padEnd(30, " "));
|
|
1616
1628
|
arquivo.add(" ".padEnd(10, " "));
|
|
1617
1629
|
arquivo.add("1");
|
|
@@ -1633,10 +1645,12 @@ function gerarRemessa4({ dados }) {
|
|
|
1633
1645
|
arquivo.add("2");
|
|
1634
1646
|
arquivo.add(beneficiario.cnpj.padStart(15, "0"));
|
|
1635
1647
|
arquivo.add(" ".padEnd(20, " "));
|
|
1636
|
-
arquivo.add(dadosBancario.agencia.padStart(
|
|
1637
|
-
arquivo.add(dadosBancario.
|
|
1648
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1649
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1650
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1651
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1638
1652
|
arquivo.add(" ");
|
|
1639
|
-
arquivo.add(beneficiario.nome.padEnd(30, " "));
|
|
1653
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
1640
1654
|
arquivo.add(" ".padEnd(80, " "));
|
|
1641
1655
|
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
1642
1656
|
arquivo.add(data);
|
|
@@ -1651,21 +1665,19 @@ function gerarRemessa4({ dados }) {
|
|
|
1651
1665
|
const vencimento = format4(new Date(boleto.vencimento), "ddMMyyyy");
|
|
1652
1666
|
const valor_juros_dia = Number(boleto.valor) * dadosBancario.jurosMes / 100 / 30;
|
|
1653
1667
|
const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
|
|
1654
|
-
const diasProtesto =
|
|
1655
|
-
if (dadosBancario.aceite === "S") {
|
|
1656
|
-
dadosBancario.aceite = "A";
|
|
1657
|
-
}
|
|
1668
|
+
const diasProtesto = dadosBancario.diasProtesto.toString().padStart(2, "0");
|
|
1658
1669
|
total += Number(boleto.valor);
|
|
1659
|
-
sequencia++;
|
|
1660
1670
|
arquivo.add("756");
|
|
1661
1671
|
arquivo.add("0001");
|
|
1662
1672
|
arquivo.add("3");
|
|
1663
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1673
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1664
1674
|
arquivo.add("P");
|
|
1665
1675
|
arquivo.add(" ");
|
|
1666
1676
|
arquivo.add("01");
|
|
1667
|
-
arquivo.add(dadosBancario.agencia.padStart(
|
|
1668
|
-
arquivo.add(dadosBancario.
|
|
1677
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1678
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1679
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1680
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1669
1681
|
arquivo.add(" ");
|
|
1670
1682
|
arquivo.add(boleto.nossoNumero.padStart(10, "0"));
|
|
1671
1683
|
arquivo.add(boleto.parcela.toString().padStart(2, "0"));
|
|
@@ -1680,7 +1692,7 @@ function gerarRemessa4({ dados }) {
|
|
|
1680
1692
|
arquivo.add("00000");
|
|
1681
1693
|
arquivo.add(" ");
|
|
1682
1694
|
arquivo.add("02");
|
|
1683
|
-
arquivo.add(
|
|
1695
|
+
arquivo.add("N");
|
|
1684
1696
|
arquivo.add(data);
|
|
1685
1697
|
arquivo.add("1");
|
|
1686
1698
|
arquivo.add(format4(addDays3(new Date(boleto.vencimento), 1), "ddMMyyyy"));
|
|
@@ -1690,15 +1702,14 @@ function gerarRemessa4({ dados }) {
|
|
|
1690
1702
|
arquivo.add("000000000000000");
|
|
1691
1703
|
arquivo.add("000000000000000");
|
|
1692
1704
|
arquivo.add("000000000000000");
|
|
1693
|
-
arquivo.add(
|
|
1705
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
1694
1706
|
arquivo.add(protesto);
|
|
1695
|
-
arquivo.add(diasProtesto
|
|
1707
|
+
arquivo.add(diasProtesto);
|
|
1696
1708
|
arquivo.add("0");
|
|
1697
1709
|
arquivo.add(" ");
|
|
1698
1710
|
arquivo.add("09");
|
|
1699
1711
|
arquivo.add("0000000000");
|
|
1700
1712
|
arquivo.add(" ");
|
|
1701
|
-
sequencia++;
|
|
1702
1713
|
arquivo.addLine();
|
|
1703
1714
|
let tipoInscricao = "1";
|
|
1704
1715
|
if (pagador.pessoa === "F") {
|
|
@@ -1706,26 +1717,18 @@ function gerarRemessa4({ dados }) {
|
|
|
1706
1717
|
} else {
|
|
1707
1718
|
tipoInscricao = "2";
|
|
1708
1719
|
}
|
|
1709
|
-
pagador.endereco.
|
|
1710
|
-
pagador.endereco.logradouro = pagador.endereco.logradouro.toUpperCase();
|
|
1711
|
-
pagador.endereco.municipio = pagador.endereco.municipio.toUpperCase();
|
|
1712
|
-
pagador.endereco.uf = pagador.endereco.uf.toUpperCase();
|
|
1713
|
-
const { tipo_logradouro, logradouro } = getLogradouro(pagador.endereco.logradouro);
|
|
1720
|
+
pagador.endereco.logradouro = `${removerAcentos(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
1714
1721
|
arquivo.add("756");
|
|
1715
1722
|
arquivo.add("0001");
|
|
1716
1723
|
arquivo.add("3");
|
|
1717
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1724
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1718
1725
|
arquivo.add("Q");
|
|
1719
1726
|
arquivo.add(" ");
|
|
1720
1727
|
arquivo.add("01");
|
|
1721
1728
|
arquivo.add(tipoInscricao);
|
|
1722
1729
|
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
1723
|
-
arquivo.add(removerAcentos(pagador.nome
|
|
1724
|
-
arquivo.add(removerAcentos(
|
|
1725
|
-
arquivo.add(" ");
|
|
1726
|
-
arquivo.add(removerAcentos(logradouro).substring(0, 29).padEnd(29, " "));
|
|
1727
|
-
arquivo.add(" ");
|
|
1728
|
-
arquivo.add(pagador.endereco.numero.padEnd(6, " "));
|
|
1730
|
+
arquivo.add(removerAcentos(pagador.nome).substring(0, 40).padEnd(40, " "));
|
|
1731
|
+
arquivo.add(removerAcentos(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
|
|
1729
1732
|
arquivo.add(removerAcentos(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
|
|
1730
1733
|
arquivo.add(pagador.endereco.cep.padEnd(8, " "));
|
|
1731
1734
|
arquivo.add(removerAcentos(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
|
|
@@ -1735,22 +1738,21 @@ function gerarRemessa4({ dados }) {
|
|
|
1735
1738
|
arquivo.add(" ".padEnd(40, " "));
|
|
1736
1739
|
arquivo.add("000");
|
|
1737
1740
|
arquivo.add(" ".padEnd(28, " "));
|
|
1738
|
-
sequencia++;
|
|
1739
1741
|
arquivo.addLine();
|
|
1740
1742
|
let multa = "0";
|
|
1741
1743
|
let data_multa = "00000000";
|
|
1742
|
-
let
|
|
1744
|
+
let valor_multa = "000000000000000";
|
|
1743
1745
|
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
1744
1746
|
if (dadosBancario.multaAtraso > 0) {
|
|
1745
1747
|
multa = "2";
|
|
1746
1748
|
data_multa = format4(addDays3(new Date(boleto.vencimento), 1), "ddMMyyyy");
|
|
1747
|
-
|
|
1749
|
+
valor_multa = dadosBancario.multaAtraso.toFixed(2).replace(".", "").padStart(15, "0");
|
|
1748
1750
|
}
|
|
1749
1751
|
arquivo.add("756");
|
|
1750
1752
|
arquivo.add("0001");
|
|
1751
1753
|
arquivo.add("3");
|
|
1752
1754
|
arquivo.add("");
|
|
1753
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1755
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1754
1756
|
arquivo.add("R");
|
|
1755
1757
|
arquivo.add(" ");
|
|
1756
1758
|
arquivo.add("01");
|
|
@@ -1762,7 +1764,7 @@ function gerarRemessa4({ dados }) {
|
|
|
1762
1764
|
arquivo.add("000000000000000");
|
|
1763
1765
|
arquivo.add(multa);
|
|
1764
1766
|
arquivo.add(data_multa);
|
|
1765
|
-
arquivo.add(
|
|
1767
|
+
arquivo.add(valor_multa);
|
|
1766
1768
|
arquivo.add(" ".padEnd(10, " "));
|
|
1767
1769
|
arquivo.add(" ".padEnd(40, " "));
|
|
1768
1770
|
arquivo.add(" ".padEnd(40, " "));
|
|
@@ -1806,47 +1808,6 @@ function gerarRemessa4({ dados }) {
|
|
|
1806
1808
|
return null;
|
|
1807
1809
|
}
|
|
1808
1810
|
}
|
|
1809
|
-
function getLogradouro(logradouro) {
|
|
1810
|
-
const logradouro_split = logradouro.split(" ");
|
|
1811
|
-
let tipo_logradouro = "RUA";
|
|
1812
|
-
if (/^R(\.|UA)?\b/i.test(logradouro_split[0])) {
|
|
1813
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1814
|
-
} else if (/^AV(\.|ENIDA)?\b/i.test(logradouro_split[0])) {
|
|
1815
|
-
tipo_logradouro = "AV";
|
|
1816
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1817
|
-
} else if (/^SERVIDAO\b/i.test(logradouro_split[0])) {
|
|
1818
|
-
tipo_logradouro = "SEV";
|
|
1819
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1820
|
-
} else if (/^SEV(\.)?\b/i.test(logradouro_split[0])) {
|
|
1821
|
-
tipo_logradouro = "SEV";
|
|
1822
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1823
|
-
} else if (/^ROD(\.|OVIA)?\b/i.test(logradouro_split[0])) {
|
|
1824
|
-
tipo_logradouro = "ROD";
|
|
1825
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1826
|
-
} else if (/^FAZ(\.|ENDA)?\b/i.test(logradouro_split[0])) {
|
|
1827
|
-
tipo_logradouro = "FAZ";
|
|
1828
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1829
|
-
} else if (/^EST(\.|RADA)?\b/i.test(logradouro_split[0])) {
|
|
1830
|
-
tipo_logradouro = "EST";
|
|
1831
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1832
|
-
} else if (/^ALA(\.|MEDA)?\b/i.test(logradouro_split[0])) {
|
|
1833
|
-
tipo_logradouro = "ALA";
|
|
1834
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1835
|
-
} else if (/^ENC(\.|RUZILHADA)?\b/i.test(logradouro_split[0])) {
|
|
1836
|
-
tipo_logradouro = "ENC";
|
|
1837
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1838
|
-
} else if (/^PR(\.|ACA)?\b/i.test(logradouro_split[0])) {
|
|
1839
|
-
tipo_logradouro = "PR";
|
|
1840
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1841
|
-
} else if (/^TRAVESSA\b/i.test(logradouro_split[0])) {
|
|
1842
|
-
tipo_logradouro = "TV";
|
|
1843
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1844
|
-
} else if (/^TV(\.)?\b/i.test(logradouro_split[0])) {
|
|
1845
|
-
tipo_logradouro = "TV";
|
|
1846
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1847
|
-
}
|
|
1848
|
-
return { tipo_logradouro, logradouro };
|
|
1849
|
-
}
|
|
1850
1811
|
|
|
1851
1812
|
// src/banks/sicoob/gerarPDF.ts
|
|
1852
1813
|
import BwipJs4 from "bwip-js";
|
|
@@ -1860,14 +1821,11 @@ function gerarPDF4(_0) {
|
|
|
1860
1821
|
text: dadosPDF.boleto.codigoBarra,
|
|
1861
1822
|
height: 20
|
|
1862
1823
|
});
|
|
1863
|
-
dadosPDF.boleto.numeroDocumento = formatNumeroDocumento(
|
|
1864
|
-
dadosPDF.boleto.numeroDocumento,
|
|
1865
|
-
dadosPDF.boleto.parcela
|
|
1866
|
-
);
|
|
1867
1824
|
dadosPDF.beneficiario.dadosBancario.agencia = formatAgenciaCodigoCedente(
|
|
1868
1825
|
dadosPDF.beneficiario.dadosBancario.agencia,
|
|
1869
1826
|
dadosPDF.beneficiario.dadosBancario.codigo_cliente
|
|
1870
1827
|
);
|
|
1828
|
+
dadosPDF.beneficiario.dadosBancario.carteira = dadosPDF.beneficiario.dadosBancario.carteira.padStart(2, "0");
|
|
1871
1829
|
dadosPDF.boleto.nossoNumero = formatNossoNumero(
|
|
1872
1830
|
dadosPDF.boleto.parcela,
|
|
1873
1831
|
dadosPDF.boleto.nossoNumero
|
|
@@ -1888,6 +1846,7 @@ function gerarPDF4(_0) {
|
|
|
1888
1846
|
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
1889
1847
|
dadosPDF.boleto.valorDescontoAbatimento
|
|
1890
1848
|
);
|
|
1849
|
+
const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
|
|
1891
1850
|
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
1892
1851
|
dadosPDF.boleto.valorDocumento
|
|
1893
1852
|
);
|
|
@@ -1898,6 +1857,23 @@ function gerarPDF4(_0) {
|
|
|
1898
1857
|
if (dadosPDF.boleto.quantidade) {
|
|
1899
1858
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
1900
1859
|
}
|
|
1860
|
+
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
1861
|
+
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
1862
|
+
if (jurosDia > 0) {
|
|
1863
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1864
|
+
}
|
|
1865
|
+
const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
|
|
1866
|
+
if (descontoVencimento > 0) {
|
|
1867
|
+
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1868
|
+
}
|
|
1869
|
+
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
1870
|
+
if (multaAtraso > 0) {
|
|
1871
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
1872
|
+
}
|
|
1873
|
+
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
1874
|
+
if (protestoDias > 0) {
|
|
1875
|
+
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1876
|
+
}
|
|
1901
1877
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
1902
1878
|
const content = compileHbs(getPathTemplates("sicoob-boleto.hbs"), dadosPDF);
|
|
1903
1879
|
const config = {
|
|
@@ -1938,21 +1914,75 @@ function formatAgenciaCodigoCedente(agencia, conta) {
|
|
|
1938
1914
|
function formatNossoNumero(parcela, nossoNumero) {
|
|
1939
1915
|
parcela = String(parcela).padStart(2, "0");
|
|
1940
1916
|
nossoNumero = nossoNumero.padStart(8, "0");
|
|
1941
|
-
|
|
1942
|
-
return nossoNumeroFmt.apply(parcela + nossoNumero);
|
|
1917
|
+
return `${parcela}/${nossoNumero.slice(0, 7)}-${nossoNumero.slice(7, 8)}`;
|
|
1943
1918
|
}
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1919
|
+
|
|
1920
|
+
// src/banks/sicoob/gerarRetorno.ts
|
|
1921
|
+
function gerarRetorno4({ dados }) {
|
|
1922
|
+
try {
|
|
1923
|
+
const { arquivo } = dados;
|
|
1924
|
+
const documentos = [];
|
|
1925
|
+
for (let i = 0; i < arquivo.length; i++) {
|
|
1926
|
+
let linha = arquivo[i];
|
|
1927
|
+
const banco = linha.substring(0, 3);
|
|
1928
|
+
if (banco !== "756" /* SICOOB */) {
|
|
1929
|
+
continue;
|
|
1930
|
+
}
|
|
1931
|
+
const ocorrencia = linha.substring(15, 17);
|
|
1932
|
+
if (ocorrencia !== "06" && ocorrencia !== "17") {
|
|
1933
|
+
continue;
|
|
1934
|
+
}
|
|
1935
|
+
let segmento = linha.substring(13, 14);
|
|
1936
|
+
if (segmento === "T") {
|
|
1937
|
+
const meu_numero = linha.substring(105, 130).trimEnd();
|
|
1938
|
+
let tipo_documento = "INDEFINIDO";
|
|
1939
|
+
let id_documento = meu_numero;
|
|
1940
|
+
if (meu_numero.includes("-")) {
|
|
1941
|
+
const [tipo, id] = meu_numero.split("-");
|
|
1942
|
+
tipo_documento = tipo;
|
|
1943
|
+
id_documento = id;
|
|
1944
|
+
}
|
|
1945
|
+
const especie = tipo_documento.length ? tipo_documento : "INDEFINIDO";
|
|
1946
|
+
linha = arquivo[++i];
|
|
1947
|
+
segmento = linha.substring(13, 14);
|
|
1948
|
+
if (segmento === "U") {
|
|
1949
|
+
const valorAbatimentoString = linha.substring(47, 62);
|
|
1950
|
+
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
1951
|
+
const valorDescontoString = linha.substring(32, 47);
|
|
1952
|
+
const valorDesconto = Number(valorDescontoString) / 100;
|
|
1953
|
+
const valorPagoString = linha.substring(77, 92);
|
|
1954
|
+
const valorPago = Number(valorPagoString) / 100;
|
|
1955
|
+
const valorJurosString = linha.substring(17, 32);
|
|
1956
|
+
const valorJuros = Number(valorJurosString) / 100;
|
|
1957
|
+
const valorMulta = 0;
|
|
1958
|
+
const descontos = valorAbatimento + valorDesconto;
|
|
1959
|
+
const valorTotal = valorPago - valorJuros + descontos;
|
|
1960
|
+
const documento = {
|
|
1961
|
+
id_documento,
|
|
1962
|
+
especie,
|
|
1963
|
+
valor: valorPago,
|
|
1964
|
+
valor_multa: valorMulta,
|
|
1965
|
+
valor_juros: valorJuros,
|
|
1966
|
+
valor_desconto: valorDesconto,
|
|
1967
|
+
valor_total: valorTotal
|
|
1968
|
+
};
|
|
1969
|
+
documentos.push(documento);
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
return documentos;
|
|
1974
|
+
} catch (error) {
|
|
1975
|
+
console.log(error);
|
|
1976
|
+
return null;
|
|
1977
|
+
}
|
|
1949
1978
|
}
|
|
1950
1979
|
|
|
1951
1980
|
// src/banks/sicoob/index.ts
|
|
1952
1981
|
var sicoob = {
|
|
1953
1982
|
gerarDadosBoleto: gerarDadosBoleto4,
|
|
1954
1983
|
gerarRemessa: gerarRemessa4,
|
|
1955
|
-
gerarPDF: gerarPDF4
|
|
1984
|
+
gerarPDF: gerarPDF4,
|
|
1985
|
+
gerarRetorno: gerarRetorno4
|
|
1956
1986
|
};
|
|
1957
1987
|
|
|
1958
1988
|
// src/banks/banco-brasil/gerarDadosBoleto.ts
|
|
@@ -2412,7 +2442,7 @@ function gerarRemessa5({ dados }) {
|
|
|
2412
2442
|
}
|
|
2413
2443
|
|
|
2414
2444
|
// src/banks/banco-brasil/gerarRetorno.ts
|
|
2415
|
-
function
|
|
2445
|
+
function gerarRetorno5({ dados }) {
|
|
2416
2446
|
try {
|
|
2417
2447
|
const { arquivo } = dados;
|
|
2418
2448
|
const documentos = [];
|
|
@@ -2476,7 +2506,7 @@ var bancoBrasil = {
|
|
|
2476
2506
|
gerarDadosBoleto: gerarDadosBoleto5,
|
|
2477
2507
|
gerarPDF: gerarPDF5,
|
|
2478
2508
|
gerarRemessa: gerarRemessa5,
|
|
2479
|
-
gerarRetorno:
|
|
2509
|
+
gerarRetorno: gerarRetorno5
|
|
2480
2510
|
};
|
|
2481
2511
|
|
|
2482
2512
|
// src/gerar.ts
|
|
@@ -2550,6 +2580,9 @@ function retorno({ banco, dados }) {
|
|
|
2550
2580
|
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2551
2581
|
return bancoBrasil.gerarRetorno({ banco, dados });
|
|
2552
2582
|
}
|
|
2583
|
+
if (banco === "756" /* SICOOB */) {
|
|
2584
|
+
return sicoob.gerarRetorno({ banco, dados });
|
|
2585
|
+
}
|
|
2553
2586
|
}
|
|
2554
2587
|
|
|
2555
2588
|
// src/config/index.ts
|