commit 74e28904467566ce0ae139b64d29aa05ea196a0b Author: Luiz Picolo Date: Tue Oct 6 12:51:30 2026 -0400 Commit inicial diff --git a/index.js b/index.js new file mode 100644 index 0000000..e033ee0 --- /dev/null +++ b/index.js @@ -0,0 +1,117 @@ +// Mapeamento de atividades por dia da semana +const atividadesPorDia = { + 'Segunda-feira': [ + 'Preparação' + ], + 'Terça-feira': [ + 'PAT Ensino: Orientação para Trabalho de Conclusão de Curso', + 'PAT Gestão: Comissão Permanente de Avaliação de Projetos de Ensino com Fomento e Fluxo Contínuo', + 'Permanência' + ], + 'Quarta-feira': [ + 'Aula: 18:50 às 22:00', + 'PAT Gestão: PAT IF', + 'PAT Gestão: Função de Coordenador do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas (Coordenação)', + 'PAT Pesquisa: Desenvolvimento de um repositório baseado em redes descentralizadas ipfs e blockchain para o armazenamento autenticidade e compartilhamento de recursos educacionais abertos (rea) assistivos' + ], + 'Quinta-feira': [ + 'Aula: 18:50 às 20:20', + 'PAT Gestão: Função de Coordenador do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas (Coordenação)', + 'PAT Gestão: Presidência do NDE e Colegiado (Coordenação)', + 'PAT Gestão: Nucleo de Desenvolvimento Educacional (NDE) do Médio Integrado' + ], + 'Sexta-feira': [ + 'Aula: 18:50 às 22:00', + 'PAT Gestão: Função de Coordenador do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas (Coordenação)', + 'PAT Pesquisa: Desenvolvimento de um repositório baseado em redes descentralizadas ipfs e blockchain para o armazenamento autenticidade e compartilhamento de recursos educacionais abertos (rea) assistivos' + ] +}; + +const diasSemana = [ + 'Domingo', 'Segunda-feira', 'Terça-feira', + 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado' +]; + +function deletarObservacoes() { + const elements = document.querySelectorAll('.icon.icon-delete'); + elements.forEach(element => { + const splited_element = element.href.split('/') + if (splited_element[4] == 'observacao_remover') { + fetch(`https://suap.ifms.edu.br/ponto/observacao_remover/${splited_element[5]}/`, { + method: 'GET', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + } + }) + .then(result => { + console.log(`GET realizado para ${splited_element[5]}:`, result); + }) + .catch(error => { + console.error(`Erro no GET para ${splited_element[5]}:`, error); + }); + } + }) +} + +function extrairNumerosFinais(links) { + return Array.from(links) + .map(link => { + const href = link.getAttribute('href'); + const match = href.match(/(\d+)\/?$/); + return match ? match[1] : null; + }) + .filter(Boolean); +} + +function obterDataEdiadasemana(numero) { + const dataStr = numero.replace(/(\d{2})(\d{2})(\d{4})/, '$1-$2-$3'); + const [day, month, year] = dataStr.split('-').map(Number); + const dateObj = new Date(year, month - 1, day); + const diaSemana = diasSemana[dateObj.getDay()]; + return { dataStr, diaSemana }; +} + +function enviarDescricao(numero, descricao) { + fetch(`https://suap.ifms.edu.br/ponto/observacao_adicionar/${numero}/`, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + body: `descricao=${encodeURIComponent(descricao)}` + }) + .then(result => { + console.log(`POST realizado para ${numero}:`, result); + }) + .catch(error => { + console.error(`Erro no POST para ${numero}:`, error); + }); +} + +function processarTabelaFrequencias() { + const tabela = document.getElementById('tabela-frequencias'); + + if (!tabela) { + console.log('Tabela não encontrada.'); + return; + } + + const links = tabela.querySelectorAll('a.btn.success.popup'); + const numerosFinais = extrairNumerosFinais(links); + + numerosFinais.forEach(numero => { + const { dataStr, diaSemana } = obterDataEdiadasemana(numero); + const atividades = atividadesPorDia[diaSemana]; + + if (atividades && atividades.length > 0) { + const descricao = atividades.join('\n'); + console.log(`Número: ${numero}, Data: ${dataStr}, Dia da semana: ${diaSemana}, Descrição:\n${descricao}`); + enviarDescricao(numero, descricao); + } else { + console.log(`Nenhuma atividade configurada para ${diaSemana}. Nenhum POST enviado para ${numero}.`); + } + }); +} + +// Executa o processo +//processarTabelaFrequencias(); +//deletarObservacoes()