{"id":6958,"date":"2025-12-18T11:47:14","date_gmt":"2025-12-18T14:47:14","guid":{"rendered":"https:\/\/saudecajati.com.br\/?page_id=6958"},"modified":"2026-04-09T15:09:35","modified_gmt":"2026-04-09T18:09:35","slug":"cadastro-de-digitais-id-control","status":"publish","type":"page","link":"https:\/\/saudecajati.com.br\/index.php\/cadastro-de-digitais-id-control\/","title":{"rendered":"Cadastro de Digitais ID Control"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6958\" class=\"elementor elementor-6958\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c5a85fc e-flex e-con-boxed e-con e-parent\" data-id=\"c5a85fc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe9b81a elementor-align-center elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-invisible elementor-widget elementor-widget-icon-list\" data-id=\"fe9b81a\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInDown&quot;}\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Cadastro de Digitais dos Funcion\u00e1rios<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1132459 e-flex e-con-boxed e-con e-parent\" data-id=\"1132459\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e55fd3 elementor-widget elementor-widget-html\" data-id=\"4e55fd3\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"cid-export-app\" class=\"control-id-container\">\r\n    \r\n    <label class=\"cid-label\" for=\"fileInput\">1. Selecione o arquivo usuarios.txt:<\/label>\r\n    <input type=\"file\" id=\"fileInput\" class=\"cid-input\" accept=\".txt\">\r\n\r\n    <label class=\"cid-label\" for=\"searchInput\">2. Pesquise pelo nome (separe por v\u00edrgula para v\u00e1rios):<\/label>\r\n    <input type=\"text\" id=\"searchInput\" class=\"cid-input\" placeholder=\"Ex: Maria, Joao, Carlos...\" disabled>\r\n\r\n    <div id=\"statusMessage\" class=\"cid-status\"><\/div>\r\n    \r\n    <div class=\"cid-table-wrapper\">\r\n        <table id=\"resultTable\" class=\"cid-table\">\r\n            <thead>\r\n                <tr>\r\n                    <th>Nome<\/th>\r\n                    <th>PIS<\/th>\r\n                    <th>Matr\u00edcula<\/th>\r\n                    <th>A\u00e7\u00e3o<\/th>\r\n                <\/tr>\r\n            <\/thead>\r\n            <tbody id=\"resultBody\">\r\n                <\/tbody>\r\n        <\/table>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n    \/* BLINDAGEM E IDENTIDADE VISUAL ATUALIZADA (#00A09A) *\/\r\n    #cid-export-app {\r\n        font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;\r\n        max-width: 100% !important;\r\n        margin: 10px 0 !important;\r\n        padding: 20px !important;\r\n        background: #ffffff !important;\r\n        border: 1px solid #e0e0e0 !important;\r\n        border-radius: 12px !important;\r\n        box-sizing: border-box !important;\r\n        color: #4a4a4a !important; \/* Cinza Escuro *\/\r\n    }\r\n\r\n    #cid-export-app .cid-label {\r\n        display: block !important;\r\n        margin-top: 20px !important;\r\n        margin-bottom: 8px !important;\r\n        font-size: 15px !important;\r\n        font-weight: 600 !important;\r\n        color: #5a5a5a !important;\r\n    }\r\n\r\n    #cid-export-app .cid-input {\r\n        width: 100% !important;\r\n        padding: 12px !important;\r\n        border: 2px solid #eeeeee !important;\r\n        border-radius: 8px !important;\r\n        box-sizing: border-box !important;\r\n        font-size: 14px !important;\r\n        background-color: #fafafa !important;\r\n        color: #4a4a4a !important;\r\n        transition: border-color 0.3s !important;\r\n    }\r\n\r\n    #cid-export-app .cid-input:focus {\r\n        border-color: #00A09A !important; \/* Turquesa solicitado *\/\r\n        outline: none !important;\r\n    }\r\n\r\n    #cid-export-app .cid-input:disabled {\r\n        background-color: #f0f0f0 !important;\r\n        cursor: not-allowed !important;\r\n    }\r\n\r\n    #cid-export-app .cid-status {\r\n        margin-top: 12px !important;\r\n        font-size: 13px !important;\r\n        color: #00A09A !important; \/* Turquesa solicitado *\/\r\n        font-weight: bold !important;\r\n    }\r\n    \r\n    \/* TABELA *\/\r\n    #cid-export-app .cid-table-wrapper {\r\n        overflow-x: auto !important;\r\n        margin-top: 25px !important;\r\n    }\r\n\r\n    #cid-export-app .cid-table {\r\n        width: 100% !important;\r\n        border-collapse: separate !important;\r\n        border-spacing: 0 !important;\r\n        display: none; \r\n        background: #fff !important;\r\n        border: 1px solid #eeeeee !important;\r\n        border-radius: 8px !important;\r\n        overflow: hidden !important;\r\n    }\r\n\r\n    #cid-export-app .cid-table th {\r\n        background-color: #00A09A !important; \/* Fundo Turquesa solicitado *\/\r\n        color: #ffffff !important;           \/* Texto Branco *\/\r\n        padding: 14px !important;\r\n        text-align: left !important;\r\n        font-weight: 700 !important;\r\n        text-transform: uppercase !important;\r\n        letter-spacing: 0.5px !important;\r\n        font-size: 12px !important;\r\n        border: none !important;\r\n    }\r\n\r\n    #cid-export-app .cid-table td {\r\n        padding: 14px !important;\r\n        text-align: left !important;\r\n        font-size: 14px !important;\r\n        color: #4a4a4a !important; \r\n        border-bottom: 1px solid #eeeeee !important;\r\n    }\r\n\r\n    #cid-export-app .cid-table tr:last-child td {\r\n        border-bottom: none !important;\r\n    }\r\n    \r\n    \/* BOT\u00c3O CUSTOMIZADO *\/\r\n    #cid-export-app .export-btn {\r\n        background-color: #00A09A !important; \/* Turquesa solicitado *\/\r\n        color: #ffffff !important; \r\n        border: none !important;\r\n        padding: 10px 18px !important;\r\n        border-radius: 6px !important;\r\n        cursor: pointer !important;\r\n        font-size: 13px !important;\r\n        font-weight: 700 !important;\r\n        transition: all 0.3s ease !important;\r\n        display: inline-block !important;\r\n        box-shadow: 0 2px 4px rgba(0, 160, 154, 0.2) !important;\r\n    }\r\n\r\n    #cid-export-app .export-btn:hover {\r\n        background-color: #008580 !important; \/* Varia\u00e7\u00e3o de hover *\/\r\n        transform: translateY(-1px) !important;\r\n        box-shadow: 0 4px 8px rgba(0, 160, 154, 0.3) !important;\r\n    }\r\n<\/style>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        let fileHeader = \"\";\r\n        let employeesData = [];\r\n\r\n        const fileInput = document.getElementById('fileInput');\r\n        const searchInput = document.getElementById('searchInput');\r\n        const resultTable = document.getElementById('resultTable');\r\n        const resultBody = document.getElementById('resultBody');\r\n        const statusMessage = document.getElementById('statusMessage');\r\n\r\n        fileInput.addEventListener('change', function(e) {\r\n            const file = e.target.files[0];\r\n            if (!file) return;\r\n\r\n            const reader = new FileReader();\r\n            reader.onload = function(event) {\r\n                const text = event.target.result;\r\n                const lines = text.split(\/\\r?\\n\/).filter(line => line.trim() !== \"\");\r\n                \r\n                if (lines.length > 0) {\r\n                    fileHeader = lines[0]; \r\n                    employeesData = lines.slice(1); \r\n                    searchInput.disabled = false;\r\n                    statusMessage.textContent = employeesData.length + \" funcion\u00e1rios carregados.\";\r\n                } else {\r\n                    statusMessage.textContent = \"Arquivo inv\u00e1lido.\";\r\n                    searchInput.disabled = true;\r\n                }\r\n            };\r\n            reader.readAsText(file, 'UTF-8');\r\n        });\r\n\r\n        searchInput.addEventListener('input', function(e) {\r\n            const rawInput = e.target.value.toLowerCase();\r\n            resultBody.innerHTML = ''; \r\n            \r\n            const searchTerms = rawInput.split(',')\r\n                                        .map(term => term.trim())\r\n                                        .filter(term => term.length >= 2);\r\n            \r\n            if (searchTerms.length === 0) {\r\n                resultTable.style.display = 'none';\r\n                return; \r\n            }\r\n\r\n            const filteredEmployees = employeesData.filter(line => {\r\n                const cols = line.split(';');\r\n                if (cols.length > 1) {\r\n                    const nome = cols[1].toLowerCase();\r\n                    return searchTerms.some(term => nome.includes(term));\r\n                }\r\n                return false;\r\n            });\r\n\r\n            if (filteredEmployees.length > 0) {\r\n                resultTable.style.display = 'table';\r\n                filteredEmployees.forEach(empLine => {\r\n                    const cols = empLine.split(';');\r\n                    const pis = cols[0] ? cols[0].trim() : '-';\r\n                    const matricula = cols[3] ? cols[3].trim() : '-';\r\n\r\n                    const tr = document.createElement('tr');\r\n                    tr.innerHTML = `\r\n                        <td><strong>${cols[1]}<\/strong><\/td>\r\n                        <td>${pis}<\/td>\r\n                        <td>${matricula}<\/td>\r\n                        <td><button type=\"button\" class=\"export-btn\" data-linha=\"${empLine}\">Exportar<\/button><\/td>\r\n                    `;\r\n                    resultBody.appendChild(tr);\r\n                });\r\n            } else {\r\n                resultTable.style.display = 'none';\r\n            }\r\n        });\r\n\r\n        resultBody.addEventListener('click', function(e) {\r\n            if (e.target && e.target.classList.contains('export-btn')) {\r\n                e.preventDefault(); \r\n                const employeeLine = e.target.getAttribute('data-linha');\r\n                const cols = employeeLine.split(';');\r\n                const employeeName = cols[1].trim().replace(\/ \/g, '_'); \r\n\r\n                const finalContent = fileHeader + \"\\n\" + employeeLine + \"\\n\";\r\n                const blob = new Blob([finalContent], { type: 'text\/plain;charset=utf-8' });\r\n                const url = URL.createObjectURL(blob);\r\n                \r\n                const a = document.createElement('a');\r\n                a.style.display = 'none';\r\n                a.href = url;\r\n                a.download = \"importar_\" + employeeName + \".txt\";\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                \r\n                setTimeout(function() {\r\n                    document.body.removeChild(a);\r\n                    URL.revokeObjectURL(url);\r\n                }, 100);\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Cadastro de Digitais dos Funcion\u00e1rios 1. Selecione o arquivo usuarios.txt: 2. Pesquise pelo nome (separe por v\u00edrgula para v\u00e1rios): Nome PIS Matr\u00edcula A\u00e7\u00e3o<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-6958","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages\/6958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=6958"}],"version-history":[{"count":28,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages\/6958\/revisions"}],"predecessor-version":[{"id":7273,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages\/6958\/revisions\/7273"}],"wp:attachment":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=6958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}