Este projeto é um aplicativo para controle de faltas de funcionários a partir de relatórios gerados. Ele permite importar relatórios de ponto e marcação de faltas gerados pelo aplicativo de ponto digital GeoVictoria, unificar os dados e gerar relatórios com informações detalhadas sobre a frequência dos colaboradores. Além disso, o sistema permite personalizar os dados de cada local através de um arquivo JSON.
- Unificação de Dados: Permite a unificação dos dados provenientes de dois arquivos Excel gerados pelo aplicativo de ponto GeoVictoria: um com as informações do relatório de MARCA e outro com o relatório de PONTO.
- Relatório de Faltas: Gera um relatório detalhado das faltas, presenças, folgas, diárias, atestados e horas extras dos funcionários.
- Relatório de Marca: Caso necessário, é possível incluir dados sobre a marcação de ponto, que pode ser carregada de um arquivo Excel.
Para rodar esse aplicativo, você precisa ter o Python instalado e as seguintes bibliotecas:
openpyxl
: Para manipulação de arquivos Excel.pandas
: Para análise de dados.unidecode
: Para remover acentos e caracteres especiais.customtkinter
: Para a interface gráfica com Tkinter.calendar
: Para manipulação de datas.tkinter
: Para a interface gráfica.
Instale as dependências utilizando o seguinte comando:
pip install openpyxl pandas unidecode customtkinter
Este aplicativo funciona com base em dois arquivos Excel exportados do aplicativo de ponto digital GeoVictoria:
- Relatório de Marca: Este relatório contém os dados relacionados às marcações (local de marcação) corretas do colaborador.
- Relatório de Ponto: Contém informações sobre o ponto dos funcionários, como horários de entrada e saída, e horas extras.
Esses dois relatórios devem ser carregados no aplicativo para que os dados possam ser combinados e analisados corretamente.
O arquivo JSON lojas.json contém o mapeamento de lojas e seus respectivos nomes para uso no relatório. O dicionário tem o formato:
{
"Store1": "Store1",
"Store2": "Store2",
"Store3": "Store3"
}
Esse arquivo permite personalizar os nomes das lojas. Caso precise adicionar ou alterar algum nome, basta editar esse arquivo com o mapeamento necessário. Se você precisar adicionar mais lojas, basta adicionar mais pares de aspas e valor ao JSON.
-
Após ter instalado as dependências e configurado o arquivo JSON com as lojas, basta rodar o script principal.
python controle_faltas.py
-
A interface gráfica será exibida. No aplicativo, você poderá:
- Digitar o nome de uma loja no campo de pesquisa para filtrar as opções.
- Marcar a opção de "Relatório de Marca" caso queira incluir esses dados.
- Carregar os dois relatórios Excel exportados do GeoVictoria.
- Gerar e salvar um relatório detalhado das faltas e presenças.
Depois de unificar os dados, você poderá gerar um relatório de faltas clicando no botão "Relatório Faltas". O arquivo gerado será um Excel com as informações detalhadas sobre o controle de presença dos colaboradores.
controle_faltas.py
: Script principal contendo a lógica do aplicativo.lojas.json
: Arquivo JSON contendo o mapeamento das lojas, utilizado para gerar o nome da loja no relatório de faltas.
- Lojas e seus Mapeamentos: O arquivo
lojas.json
contém o mapeamento das lojas. Este arquivo pode ser editado para adicionar, remover ou modificar as lojas conforme necessário.
- O programa pode ter limitações de compatibilidade com alguns formatos de Excel mais antigos.
- A formatação das horas pode ser imprecisa dependendo do Excel ou da versão utilizada.
Se desejar contribuir para o projeto, fique à vontade para enviar um pull request com melhorias ou correções de bugs.
Este projeto não possui uma licença formal, mas você pode usá-lo e modificá-lo de acordo com suas necessidades. Se você modificar o código, por favor, compartilhe as melhorias com a comunidade.