Power Apps: App de controlo de ponto a partir da leitura de etiquetas NFC
Neste post iremos abordar uma aplicação simples de Controlo de Ponto, uma app que permite fazer a gestão de entradas e saídas de colaboradores de uma empresa. Iremos abordar as suas funcionalidades assim como o percurso percorrido ao longo do seu desenvolvimento.
1º Passo
Para criar esta aplicação no Power Apps utilizamos alguns controlos, sendo os principais: uma galeria vertical e um botão.
É este botão que permite ao utilizador, após ser pressionado, ler a etiqueta NFC que indica a entrada/saída de um colaborador da empresa. Após a leitura da etiqueta NFC, o nome do colaborador (coluna Title), o email (coluna Email), as horas de entrada/saída (coluna Dia e Hora) e se o colaborador está a entrar ou a sair (Entrada/Saída) são dados passados para uma lista de Sharepoint. Para ler a etiqueta NFC e mapear os diferentes campos foi utilizado este código:
With(ReadNFC(),Set(id, Coalesce(Identifier, "No ID"));ForAll(NDEFRecords, Patch('Controlo de Ponto', Defaults('Controlo de Ponto'), {'Entrada/Saída': Coalesce(Text, URI), Title: User().FullName, Email: User().Email, 'Dia e Hora': Now()})));
2º Passo
É através da lista de Sharepoint que a galeria vai ser preenchida com dados, de forma a se conseguir ver todas as entradas e saídas diretamente na aplicação.
3º Passo
A app permite ainda verificar quantos colaboradores estão no exato momento na empresa, sendo que após cada entrada o número incrementa, e após cada saída o número decrementa. Para ser efetuado este cálculo, na propriedade Text de uma label colocou-se o seguinte código:
CountRows(Filter(Gallery1.AllItems, 'Entrada/Saída' = "ENTRADA")) - CountRows(Filter(Gallery1.AllItems, 'Entrada/Saída' = "SAÍDA"))
Com apenas estes três passos é possível criar uma app bastante simples de controlo de ponto que podem ver em baixo numa pequena demonstração. Para uma versão aprimorada da aplicação fiquem atentos ao próximo post!