| <!DOCTYPE html> |
| <html lang="pt-BR"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Relatório MVICENTE Advocacia</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| @page { |
| size: A4; |
| margin: 10mm; |
| } |
| body { |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; |
| } |
| .blue-gradient { |
| background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%); |
| } |
| .scrollable-table { |
| overflow-x: auto; |
| } |
| .sticky-header th { |
| position: sticky; |
| top: 0; |
| z-index: 10; |
| } |
| .hover-row:hover { |
| background-color: #f0f9ff; |
| } |
| .text-xxs { |
| font-size: 0.65rem; |
| } |
| .rotate-text { |
| writing-mode: vertical-rl; |
| transform: rotate(180deg); |
| white-space: nowrap; |
| } |
| .password-modal { |
| display: none; |
| position: fixed; |
| z-index: 100; |
| left: 0; |
| top: 0; |
| width: 100%; |
| height: 100%; |
| background-color: rgba(0,0,0,0.4); |
| } |
| .modal-content { |
| background-color: #fefefe; |
| margin: 15% auto; |
| padding: 20px; |
| border: 1px solid #888; |
| width: 400px; |
| border-radius: 8px; |
| box-shadow: 0 4px 8px rgba(0,0,0,0.1); |
| } |
| .monetary { |
| text-align: right; |
| font-family: 'Courier New', monospace; |
| } |
| .row-page { |
| page-break-after: always; |
| margin-bottom: 20px; |
| } |
| .row-table { |
| width: 100%; |
| border-collapse: collapse; |
| } |
| .row-table th { |
| background-color: #1e40af; |
| color: white; |
| text-align: left; |
| padding: 8px; |
| font-size: 12px; |
| } |
| .row-table td { |
| border: 1px solid #ddd; |
| padding: 8px; |
| font-size: 12px; |
| } |
| .row-table tr:nth-child(even) { |
| background-color: #f8fafc; |
| } |
| @media print { |
| body * { |
| visibility: hidden; |
| } |
| #printableArea, #printableArea * { |
| visibility: visible; |
| } |
| #printableArea { |
| position: absolute; |
| left: 0; |
| top: 0; |
| width: 100%; |
| } |
| .no-print { |
| display: none !important; |
| } |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50 text-gray-800"> |
| |
| <div id="passwordModal" class="password-modal"> |
| <div class="modal-content"> |
| <div class="flex justify-between items-center mb-4"> |
| <h3 class="text-xl font-bold text-blue-800">Acesso ao Relatório</h3> |
| <button onclick="closeModal()" class="text-gray-500 hover:text-gray-700"> |
| <i class="fas fa-times"></i> |
| </button> |
| </div> |
| <div class="mb-4"> |
| <label for="passwordInput" class="block text-sm font-medium text-gray-700 mb-2">Digite a senha:</label> |
| <input type="password" id="passwordInput" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500"> |
| <p id="errorMessage" class="text-red-500 text-sm mt-2 hidden">Senha incorreta. Tente novamente.</p> |
| </div> |
| <div class="flex justify-end"> |
| <button onclick="checkPassword()" class="px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500"> |
| Acessar |
| </button> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="mainContent" class="hidden"> |
| <div id="printableArea" class="max-w-7xl mx-auto p-6 bg-white shadow-lg rounded-lg"> |
| |
| <header class="blue-gradient text-white rounded-t-lg p-6 mb-6"> |
| <div class="flex flex-col"> |
| <div class="flex justify-between items-start mb-4"> |
| <div> |
| <h1 class="text-3xl font-bold">MVICENTE ADVOCACIA</h1> |
| <h2 class="text-xl mt-2">RELATÓRIO DE NEGOCIAÇÕES TRIBUTÁRIAS ATIVAS</h2> |
| </div> |
| <div class="text-right"> |
| <div class="text-xl font-semibold"> |
| <i class="fas fa-calendar-alt mr-2"></i> |
| <span id="current-date"></span> |
| </div> |
| </div> |
| </div> |
| <div class="bg-blue-700 p-3 rounded-lg"> |
| <p class="font-medium">ATHINA ADMINISTRADORA E CORRETORA DE SEGUROS LTDA. - 19.873.605/0001-15</p> |
| </div> |
| </div> |
| </header> |
|
|
| |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-6 no-print"> |
| <div class="bg-blue-50 border-l-4 border-blue-500 p-4 rounded-lg"> |
| <h3 class="text-xs font-semibold text-blue-800 uppercase">Valor Total Dívida</h3> |
| <p class="text-2xl font-bold text-blue-900 monetary">R$ 16.220.053,81</p> |
| </div> |
| <div class="bg-blue-50 border-l-4 border-blue-500 p-4 rounded-lg"> |
| <h3 class="text-xs font-semibold text-blue-800 uppercase">Valor Consolidado</h3> |
| <p class="text-2xl font-bold text-blue-900 monetary">R$ 11.269.586,41</p> |
| </div> |
| <div class="bg-blue-50 border-l-4 border-blue-500 p-4 rounded-lg"> |
| <h3 class="text-xs font-semibold text-blue-800 uppercase">Desconto Total</h3> |
| <p class="text-2xl font-bold text-blue-900 monetary">R$ 4.950.467,40</p> |
| </div> |
| <div class="bg-blue-50 border-l-4 border-blue-500 p-4 rounded-lg"> |
| <h3 class="text-xs font-semibold text-blue-800 uppercase">Valor Entrada</h3> |
| <p class="text-2xl font-bold text-blue-900 monetary">R$ 928.466,32</p> |
| </div> |
| </div> |
|
|
| |
| <div class="mb-8 no-print"> |
| <div class="flex justify-between items-center mb-4"> |
| <h2 class="text-xl font-semibold text-blue-900"> |
| <i class="fas fa-table mr-2"></i>Detalhamento das Transações |
| </h2> |
| <div class="flex space-x-2"> |
| <button onclick="exportToPDF()" class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg text-sm font-medium"> |
| <i class="fas fa-file-pdf mr-2"></i>Exportar PDF |
| </button> |
| <button onclick="exportToExcel()" class="bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-lg text-sm font-medium"> |
| <i class="fas fa-file-excel mr-2"></i>Exportar Excel |
| </button> |
| </div> |
| </div> |
|
|
| <div class="scrollable-table"> |
| <table class="min-w-full divide-y divide-gray-200 border border-gray-200"> |
| <thead class="bg-blue-600 text-white sticky-header"> |
| <tr> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">REF</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">CONTA N</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">MODALIDADE</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">SUBMODALIDADE</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">N. CDA</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR DÍVIDA</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR CONSOLIDADO</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">% DESCONTO</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR DESCONTO</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">% ENTRADA</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR ENTRADA</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">Q PREST ENTRADA</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR PREST ENTRADA</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VENCTO PREST ENTRADA INICIAL</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VENCTO PREST ENTRADA FINAL</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR SALDO</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">Q PREST SALDO</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VALOR PREST SALDO</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VENCTO PREST SALDO INICIAL</th> |
| <th class="px-3 py-3 text-left text-xs font-semibold uppercase tracking-wider">VENCTO PREST SALDO FINAL</th> |
| </tr> |
| </thead> |
| <tbody class="bg-white divide-y divide-gray-200"> |
| |
| </tbody> |
| </table> |
| </div> |
| </div> |
|
|
| |
| <div id="rowPages" class="hidden print:block"> |
| |
| </div> |
|
|
| |
| <footer class="blue-gradient text-white rounded-b-lg p-4 text-center text-sm"> |
| <p>MVICENTE Advocacia - Relatório gerado em <span id="current-date-footer"></span></p> |
| <p class="mt-1 text-blue-100">Este documento é confidencial và destinado exclusivamente ao uso da diretoria</p> |
| </footer> |
| </div> |
| </div> |
|
|
| <script> |
| |
| const reportData = [ |
| { |
| ref: "1", |
| conta: "12653341", |
| modalidade: "0083 - TRANSACAO POR ADESAO - EDITAL PGDAU N 06/2024", |
| submodalidade: "0073 - PREVIDENCIARIO - PJ PORTE DEMAIS - ATE 120 MESES - REDUCAO ATE 65%", |
| cda: "91 4 21 063445 91 4 21 063446 91 4 21 104970 91 4 21 104971 91 4 21 119846 91 4 21 119847 91 4 21 119849 91 4 21 119850 91 4 21 119851 91 4 21 119852 91 4 21 122645 91 4 21 122646 91 4 24 107254 91 4 24 107256 91 4 24 107257 91 4 24 107258 91 4 24 107260 91 4 24 107302 91 4 24 107303 91 4 24 107342 91 4 24 107343 91 4 24 107344 91 4 24 107345 91 4 24 107347 91 4 24 107421 91 4 24 107424 91 4 24 107425 91 4 24 107426 91 4 24 107427", |
| valorDivida: "404.284,15", |
| valorConsolidado: "272.566,88", |
| percDesconto: "32,58%", |
| valorDesconto: "131.717,27", |
| percEntrada: "6,00%", |
| valorEntrada: "24.257,05", |
| qPrestEntrada: "6", |
| valorPrestEntrada: "4.042,84", |
| vencPrestEntradaInicial: "30/05/2025", |
| vencPrestEntradaFinal: "30/05/2025", |
| valorSaldo: "248.309,83", |
| qPrestSaldo: "114", |
| valorPrestSaldo: "2.178,16", |
| vencPrestSaldoInicial: "30/11/2025", |
| vencPrestSaldoFinal: "30/04/2035" |
| }, |
| { |
| ref: "2", |
| conta: "12653354", |
| modalidade: "0083 - TRANSACAO POR ADESAO - EDITAL PGDAU N 06/2024", |
| submodalidade: "0021 - DEMAIS DEBITOS - DEMAIS PESSOAS JURIDICAS - ATE 120 MESES - REDUCAO ATE 65%", |
| cda: "91 2 24 010757 91 2 24 010768 91 2 24 010772 91 2 24 010783 91 6 24 015615 91 6 24 015616 91 6 24 015621 91 6 24 015624 91 6 24 015625 91 6 24 015635 91 6 24 015636 91 7 24 005020 91 7 24 005021 91 7 24 005023 91 7 24 005026", |
| valorDivida: "2.983.681,70", |
| valorConsolidado: "2.011.154,84", |
| percDesconto: "32,59%", |
| valorDesconto: "972.526,86", |
| percEntrada: "6,00%", |
| valorEntrada: "179.020,90", |
| qPrestEntrada: "6", |
| valorPrestEntrada: "29.836,82", |
| vencPrestEntradaInicial: "30/05/2025", |
| vencPrestEntradaFinal: "30/10/2025", |
| valorSaldo: "1.832.133,94", |
| qPrestSaldo: "114", |
| valorPrestSaldo: "16.071,35", |
| vencPrestSaldoInicial: "30/11/2025", |
| vencPrestSaldoFinal: "30/04/2035" |
| }, |
| { |
| ref: "3", |
| conta: "12653367", |
| modalidade: "0083 - TRANSACAO POR ADESAO - EDITAL PGDAU N 06/2024", |
| submodalidade: "0047 - PREVIDENCIARIO - PJ PORTE DEMAIS - ATE 60 MESES - REDUCAO ATE 65%", |
| cda: "91 4 24 107215 91 4 24 107252 91 4 24 107253 91 4 24 107255 91 4 24 107259 91 4 24 107339 91 4 24 107340 91 4 24 107341 91 4 24 107346 91 4 24 107390 91 4 24 107391 91 4 24 107392 91 4 24 107420 91 4 24 107422 91 4 24 107423 91 4 24 107428", |
| valorDivida: "1.999.123,22", |
| valorConsolidado: "1.347.808,87", |
| percDesconto: "32,58%", |
| valorDesconto: "651.314,35", |
| percEntrada: "6,00%", |
| valorEntrada: "119.947,39", |
| qPrestEntrada: "6", |
| valorPrestEntrada: "19.991,23", |
| vencPrestEntradaInicial: "30/05/2025", |
| vencPrestEntradaFinal: "30/10/2025", |
| valorSaldo: "1.227.861,48", |
| qPrestSaldo: "54", |
| valorPrestSaldo: "22.738,18", |
| vencPrestSaldoInicial: "30/11/2025", |
| vencPrestSaldoFinal: "30/04/2030" |
| }, |
| { |
| ref: "4", |
| conta: "12653439", |
| modalidade: "0004 - PARCELAMENTO CONVENCIONAL", |
| submodalidade: "0002 - PARCELAMENTO SEM GARANTIA - PESSOA JURIDICA - DIVIDA NAO PREVIDENCIARIA - ATE 15 MILHOES DE REAIS", |
| cda: "91 2 24 033467 91 4 24 248603 91 4 24 248604 91 4 24 248605 91 4 24 248606 91 4 24 248607 91 4 24 248608 91 4 24 248609 91 4 24 248610 91 4 24 248611 91 6 24 043910 91 6 24 043912 91 7 24 012704", |
| valorDivida: "1.032.390,21", |
| valorConsolidado: "1.032.390,21", |
| percDesconto: "0,00%", |
| valorDesconto: "-", |
| percEntrada: "1,67%", |
| valorEntrada: "17.206,50", |
| qPrestEntrada: "1", |
| valorPrestEntrada: "17.206,50", |
| vencPrestEntradaInicial: "30/05/2025", |
| vencPrestEntradaFinal: "30/05/2025", |
| valorSaldo: "1.015.183,71", |
| qPrestSaldo: "59", |
| valorPrestSaldo: "17.206,50", |
| vencPrestSaldoInicial: "30/06/2025", |
| vencPrestSaldoFinal: "30/04/2030" |
| }, |
| { |
| ref: "5", |
| conta: "12675415", |
| modalidade: "0083 - TRANSACAO POR ADESAO - EDITAL PGDAU N 06/2024", |
| submodalidade: "0047 - PREVIDENCIARIO - PJ PORTE DEMAIS - ATE 60 MESES - REDUCAO ATE 65%", |
| cda: "141194090 161333532 147981905 149353570 163366586 134873165 161333524 130452300 141194081 147981913 131986961 163366578 173057438 134873157 131986953 150501870 128342463 130452319 148779140 151313695 173057420 150501862 161929400 195664310 195664329 128342471 148779131 151998825 160922160 151313709 162715803 161929419 160922151 125812876 131663151 162715790 131663143 151998833 149353561 91 4 21 063442 91 4 21 063443 91 4 21 063444 91 4 21 063447 91 4 21 104968 91 4 21 104969 91 4 21 119843 91 4 21 119844 91 4 21 119845 91 4 21 119848 91 4 21 119853 91 4 21 119854 91 4 21 119855 91 4 21 119856 91 4 21 119857 91 4 21 119858 91 4 21 119859 91 4 21 122643 91 4 21 122644 91 4 21 122647 91 4 21 122648", |
| valorDivida: "5.827.429,73", |
| valorConsolidado: "3.927.734,24", |
| percDesconto: "32,60%", |
| valorDesconto: "1.899.695,49", |
| percEntrada: "6,00%", |
| valorEntrada: "349.645,78", |
| qPrestEntrada: "6", |
| valorPrestEntrada: "58.274,30", |
| vencPrestEntradaInicial: "30/05/2025", |
| vencPrestEntradaFinal: "30/10/2025", |
| valorSaldo: "3.578.088,46", |
| qPrestSaldo: "54", |
| valorPrestSaldo: "66.260,90", |
| vencPrestSaldoInicial: "30/11/2025", |
| vencPrestSaldoFinal: "30/04/2030" |
| }, |
| { |
| ref: "6", |
| conta: "12675443", |
| modalidade: "0083 - TRANSACAO POR ADESAO - EDITAL PGDAU N 06/2024", |
| submodalidade: "0021 - DEMAIS DEBITOS - DEMAIS PESSOAS JURIDICAS - ATE 120 MESES - REDUCAO ATE 65%", |
| cda: "91 2 19 010459 91 2 19 016324 91 2 19 019310 91 2 20 001015 91 2 20 001016 91 2 20 004065 91 2 21 013912 91 2 21 015618 91 2 21 020953 91 2 21 024355 91 6 19 018158 91 6 19 018159 91 6 19 029744 91 6 19 037476 91 6 19 037477 91 6 20 001732 91 6 20 001733 91 6 20 001734 91 6 20 001735 91 6 20 001736 91 6 20 001737 91 6 20 001738 91 6 20 008236 91 6 20 008237 91 6 20 030011 91 6 21 027635 91 6 21 027636 91 6 21 031418 91 6 21 040469 91 6 21 040470 91 6 21 044442 91 6 21 044449 91 6 21 048327 91 7 19 006322 91 7 19 012687 91 7 20 000554 91 7 20 000555 91 7 20 000556 91 7 20 002321 91 7 20 008013 91 7 21 008155 91 7 21 011622 91 7 21 012875 91 7 21 012877", |
| valorDivida: "3.973.144,80", |
| valorConsolidado: "2.677.931,37", |
| percDesconto: "32,60%", |
| valorDesconto: "1.295.213,43", |
| percEntrada: "6,00%", |
| valorEntrada: "238.388,69", |
| qPrestEntrada: "6", |
| valorPrestEntrada: "39.731,45", |
| vencPrestEntradaInicial: "30/05/2025", |
| vencPrestEntradaFinal: "30/10/2025", |
| valorSaldo: "2.439.542,68", |
| qPrestSaldo: "114", |
| valorPrestSaldo: "21.399,50", |
| vencPrestSaldoInicial: "30/11/2025", |
| vencPrestSaldoFinal: "30/04/2035" |
| } |
| ]; |
| |
| |
| window.onload = function() { |
| document.getElementById('passwordModal').style.display = 'block'; |
| }; |
| |
| |
| function closeModal() { |
| document.getElementById('passwordModal').style.display = 'none'; |
| } |
| |
| |
| function checkPassword() { |
| const password = document.getElementById('passwordInput').value; |
| const errorMessage = document.getElementById('errorMessage'); |
| |
| if (password === '19873') { |
| document.getElementById('passwordModal').style.display = 'none'; |
| document.getElementById('mainContent').classList.remove('hidden'); |
| |
| |
| generateReport(); |
| } else { |
| errorMessage.classList.remove('hidden'); |
| document.getElementById('passwordInput').value = ''; |
| } |
| } |
| |
| |
| const now = new Date(); |
| const options = { day: '2-digit', month: '2-digit', year: 'numeric' }; |
| const formattedDate = now.toLocaleDateString('pt-BR', options); |
| |
| document.getElementById('current-date').textContent = formattedDate; |
| document.getElementById('current-date-footer').textContent = formattedDate; |
| |
| |
| function generateReport() { |
| const tableBody = document.querySelector('tbody'); |
| const rowPagesContainer = document.getElementById('rowPages'); |
| |
| |
| tableBody.innerHTML = ''; |
| rowPagesContainer.innerHTML = ''; |
| |
| |
| reportData.forEach((row, index) => { |
| |
| const tableRow = document.createElement('tr'); |
| tableRow.className = index % 2 === 0 ? 'hover-row' : 'hover-row bg-gray-50'; |
| |
| tableRow.innerHTML = ` |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-600">${row.ref}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.conta}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.modalidade}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.submodalidade}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-xs"> |
| <div class="max-w-xs overflow-auto h-20">${row.cda}</div> |
| </td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium monetary">${row.valorDivida}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-green-600 monetary">${row.valorConsolidado}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.percDesconto}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium monetary">${row.valorDesconto}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.percEntrada}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium monetary">${row.valorEntrada}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.qPrestEntrada}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm monetary">${row.valorPrestEntrada}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.vencPrestEntradaInicial}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.vencPrestEntradaFinal}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium monetary">${row.valorSaldo}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.qPrestSaldo}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm monetary">${row.valorPrestSaldo}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.vencPrestSaldoInicial}</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm">${row.vencPrestSaldoFinal}</td> |
| `; |
| |
| tableBody.appendChild(tableRow); |
| |
| |
| const rowPage = document.createElement('div'); |
| rowPage.className = 'row-page'; |
| |
| rowPage.innerHTML = ` |
| <div class="mb-4"> |
| <h1 class="text-2xl font-bold text-blue-800">MVICENTE ADVOCACIA</h1> |
| <h2 class="text-xl mt-1">RELATÓRIO DE NEGOCIAÇÕES TRIBUTÁRIAS ATIVAS</h2> |
| <p class="text-sm mt-2">ATHINA ADMINISTRADORA E CORRETORA DE SEGUROS LTDA. - 19.873.605/0001-15</p> |
| <p class="text-sm">Data: ${formattedDate}</p> |
| </div> |
| |
| <div class="mb-4"> |
| <h3 class="text-lg font-semibold">Detalhes da Transação #${row.ref}</h3> |
| </div> |
| |
| <table class="row-table"> |
| <tr> |
| <th>Referência</th> |
| <td>${row.ref}</td> |
| </tr> |
| <tr> |
| <th>Conta Nº</th> |
| <td>${row.conta}</td> |
| </tr> |
| <tr> |
| <th>Modalidade</th> |
| <td>${row.modalidade}</td> |
| </tr> |
| <tr> |
| <th>Submodalidade</th> |
| <td>${row.submodalidade}</td> |
| </tr> |
| <tr> |
| <th>N. CDA</th> |
| <td><div style="max-height: 100px; overflow-y: auto;">${row.cda}</div></td> |
| </tr> |
| <tr> |
| <th>Valor Dívida</th> |
| <td class="monetary">${row.valorDivida}</td> |
| </tr> |
| <tr> |
| <th>Valor Consolidado</th> |
| <td class="monetary">${row.valorConsolidado}</td> |
| </tr> |
| <tr> |
| <th>% Desconto</th> |
| <td>${row.percDesconto}</td> |
| </tr> |
| <tr> |
| <th>Valor Desconto</th> |
| <td class="monetary">${row.valorDesconto}</td> |
| </tr> |
| <tr> |
| <th>% Entrada</th> |
| <td>${row.percEntrada}</td> |
| </tr> |
| <tr> |
| <th>Valor Entrada</th> |
| <td class="monetary">${row.valorEntrada}</td> |
| </tr> |
| <tr> |
| <th>Qtd. Prestações Entrada</th> |
| <td>${row.qPrestEntrada}</td> |
| </tr> |
| <tr> |
| <th>Valor Prestação Entrada</th> |
| <td class="monetary">${row.valorPrestEntrada}</td> |
| </tr> |
| <tr> |
| <th>Vencimento Prestação Entrada Inicial</th> |
| <td>${row.vencPrestEntradaInicial}</td> |
| </tr> |
| <tr> |
| <th>Vencimento Prestação Entrada Final</th> |
| <td>${row.vencPrestEntradaFinal}</td> |
| </tr> |
| <tr> |
| <th>Valor Saldo</th> |
| <td class="monetary">${row.valorSaldo}</td> |
| </tr> |
| <tr> |
| <th>Qtd. Prestações Saldo</th> |
| <td>${row.qPrestSaldo}</td> |
| </tr> |
| <tr> |
| <th>Valor Prestação Saldo</th> |
| <td class="monetary">${row.valorPrestSaldo}</td> |
| </tr> |
| <tr> |
| <th>Vencimento Prestação Saldo Inicial</th> |
| <td>${row.vencPrestSaldoInicial}</td> |
| </tr> |
| <tr> |
| <th>Vencimento Prestação Saldo Final</th> |
| <td>${row.vencPrestSaldoFinal}</td> |
| </tr> |
| </table> |
| |
| <div class="mt-4 text-sm text-gray-600"> |
| <p>MVICENTE Advocacia - Relatório gerado em ${formattedDate}</p> |
| <p>Este documento é confidencial và destinado exclusivamente ao uso da diretoria</p> |
| </div> |
| `; |
| |
| rowPagesContainer.appendChild(rowPage); |
| }); |
| |
| |
| const totalRow = document.createElement('tr'); |
| totalRow.className = 'bg-blue-50 font-bold'; |
| |
| totalRow.innerHTML = ` |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800" colspan="5">TOTAL</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">16.220.053,81</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">11.269.586,41</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm"></td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">4.950.467,40</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm"></td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">928.466,32</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm"></td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">169.083,14</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm" colspan="2"></td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">10.341.120,09</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm"></td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-blue-800 monetary">145.854,58</td> |
| <td class="px-3 py-4 whitespace-nowrap text-sm" colspan="2"></td> |
| `; |
| |
| tableBody.appendChild(totalRow); |
| } |
| |
| |
| function exportToPDF() { |
| const { jsPDF } = window.jspdf; |
| const doc = new jsPDF({ |
| orientation: 'portrait', |
| unit: 'mm', |
| format: 'a4' |
| }); |
| |
| |
| doc.setFontSize(16); |
| doc.setTextColor(30, 58, 138); |
| doc.setFont('helvetica', 'bold'); |
| doc.text('MVICENTE ADVOCACIA', 20, 20); |
| |
| doc.setFontSize(14); |
| doc.text('RELATÓRIO DE NEGOCIAÇÕES TRIBUTÁRIAS ATIVAS', 20, 30); |
| |
| doc.setFontSize(12); |
| doc.text('ATHINA ADMINISTRADORA E CORRETORA DE SEGUROS LTDA.', 20, 40); |
| doc.text('19.873.605/0001-15', 20, 45); |
| |
| doc.setFontSize(10); |
| doc.text(`Data: ${formattedDate}`, 20, 55); |
| |
| |
| doc.addPage(); |
| doc.setFontSize(14); |
| doc.text('Resumo Financeiro', 20, 20); |
| |
| doc.setFontSize(10); |
| doc.text('Valor Total Dívida:', 20, 35); |
| doc.text('R$ 16.220.053,81', 60, 35); |
| |
| doc.text('Valor Consolidado:', 20, 45); |
| doc.text('R$ 11.269.586,41', 60, 45); |
| |
| doc.text('Desconto Total:', 20, 55); |
| doc.text('R$ 4.950.467,40', 60, 55); |
| |
| doc.text('Valor Entrada:', 20, 65); |
| doc.text('R$ 928.466,32', 60, 65); |
| |
| |
| reportData.forEach(row => { |
| doc.addPage(); |
| doc.setFontSize(14); |
| doc.text(`Detalhes da Transação #${row.ref}`, 20, 20); |
| |
| doc.setFontSize(10); |
| let y = 35; |
| |
| doc.text('Conta Nº:', 20, y); |
| doc.text(row.conta, 60, y); |
| y += 10; |
| |
| doc.text('Modalidade:', 20, y); |
| doc.text(row.modalidade, 60, y, { maxWidth: 140 }); |
| y += 10; |
| |
| doc.text('Submodalidade:', 20, y); |
| doc.text(row.submodalidade, 60, y, { maxWidth: 140 }); |
| y += 10; |
| |
| doc.text('N. CDA:', 20, y); |
| |
| const cdaLines = doc.splitTextToSize(row.cda, 140); |
| doc.text(cdaLines, 60, y); |
| y += (cdaLines.length * 5); |
| |
| doc.text('Valor Dívida:', 20, y); |
| doc.text(row.valorDivida, 60, y); |
| y += 10; |
| |
| doc.text('Valor Consolidado:', 20, y); |
| doc.text(row.valorConsolidado, 60, y); |
| y += 10; |
| |
| doc.text('% Desconto:', 20, y); |
| doc.text(row.percDesconto, 60, y); |
| y += 10; |
| |
| doc.text('Valor Desconto:', 20, y); |
| doc.text(row.valorDesconto, 60, y); |
| y += 10; |
| |
| doc.text('% Entrada:', 20, y); |
| doc.text(row.percEntrada, 60, y); |
| y += 10; |
| |
| doc.text('Valor Entrada:', 20, y); |
| doc.text(row.valorEntrada, 60, y); |
| y += 10; |
| |
| doc.text('Qtd. Prestações Entrada:', 20, y); |
| doc.text(row.qPrestEntrada, 60, y); |
| y += 10; |
| |
| doc.text('Valor Prestação Entrada:', 20, y); |
| doc.text(row.valorPrestEntrada, 60, y); |
| y += 10; |
| |
| doc.text('Vencimento Prestação Entrada Inicial:', 20, y); |
| doc.text(row.vencPrestEntradaInicial, 60, y); |
| y += 10; |
| |
| doc.text('Vencimento Prestação Entrada Final:', 20, y); |
| doc.text(row.vencPrestEntradaFinal, 60, y); |
| y += 10; |
| |
| doc.text('Valor Saldo:', 20, y); |
| doc.text(row.valorSaldo, 60, y); |
| y += 10; |
| |
| doc.text('Qtd. Prestações Saldo:', 20, y); |
| doc.text(row.qPrestSaldo, 60, y); |
| y += 10; |
| |
| doc.text('Valor Prestação Saldo:', 20, y); |
| doc.text(row.valorPrestSaldo, 60, y); |
| y += 10; |
| |
| doc.text('Vencimento Prestação Saldo Inicial:', 20, y); |
| doc.text(row.vencPrestSaldoInicial, 60, y); |
| y += 10; |
| |
| doc.text('Vencimento Prestação Saldo Final:', 20, y); |
| doc.text(row.vencPrestSaldoFinal, 60, y); |
| y += 10; |
| }); |
| |
| |
| doc.save(`Relatorio_Negociacoes_Tributarias_${formattedDate.replace(/\//g, '-')}.pdf`); |
| } |
| |
| |
| function exportToExcel() { |
| const table = document.querySelector('table'); |
| const workbook = XLSX.utils.table_to_book(table); |
| XLSX.writeFile(workbook, `Relatorio_Negociacoes_Tributarias_${formattedDate.replace(/\//g, '-')}.xlsx`); |
| } |
| </script> |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=maralvic/rel1ath" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |