Serviço de Pessoas​

Serviço responsável por fazer a busca de categorias de uma aplicação por pessoa ou por equipe.

Exportar Pessoas - Exemplo de Implementação CSV​

Para exportar as pessoas cadastradas na organização em formato CSV, podemos fazer da seguinte forma:

Configuração do Arquivo Properties.​

Definição do Serviço​

No arquivo fsense.properties, defina o serviço a ser executado ajustando a propriedade service.name para PERSON_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=PERSON_SERVICE

Método do Serviço​

Configure o método do serviço para EXPORT_PERSONS através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_PERSONS

Tipo de Operação​

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina CSV.

    # TIPO DE OPERAÇÃO
operation.type=csv

Parâmetros de Exportação​

Opcionalmente, você pode definir os seguintes parâmetros:

  • name: Nome da pessoa
  • email: Email da pessoa
  • externalCode: Código da pessoa fornecido pela organização
  • deviceIdentifier: Identificador utilizado para identificar uma pessoa no fSense (por exemplo, nome de usuário)
  • teamId: Identificador único gerado pelo fSense para uma equipe
# PARÂMETROS PARA SERVIÇO DE BUSCA PERSONALIZADA POR PESSOAS
# Exemplo: [ROOT]
person.name=
# Exemplo: [person@fsense.com]
person.email=
# Exemplo: [3b45fc4e-0ce6-42b5-acag-f35b6nmd0088]
person.externalCode=
# Exemplo: [person.fsense]
person.deviceIdentifier=
# Exemplo: [4056]
person.teamId=

Execução da Aplicação​

Após a configuração dos parâmetros, execute a aplicação.

========================================================
SELECTED SERVICE [PERSON_SERVICE]
========================================================
OPERATION TYPE: CSV
========================================================
SELECTED METHOD [EXPORT_PERSONS]
Exporting persons
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
5839dd80-1444-4a8e-a2c2-71d5f18ba8d0
========================================================
AUTHENTICATION SUCCESS
========================================================
Nº pages: 23
Nº peoples found: 221
Getting peoples page: 1/23
Getting peoples page: 2/23
...
Getting peoples page: 23/23
========================================================
GENERATING CSV
========================================================
Generated file: persons.csv
Status: saved successfully
File saved in path: ./files/export/persons.csv
========================================================
EXPORT PERSONS FINISHED SUCCESSFULLY
========================================================

Os arquivos são armazenados no diretório src/main/resources/files/export

Verificação da Operação​

Após a execução da aplicação, abra o arquivo gerado para verificar as equipes exportadas. O arquivo exportado terá uma estrutura semelhante à do exemplo abaixo:

'id','name','email','deviceIdentifier','teamId','teamName','workdayId','canDelete','root','calendarId'
'6665124','ROOT','root@fsense.com','','','','','false','false',''
'6665126','Maria','maria.silva@fsense.com.br','maria_silva','','','2658','false','false',''
'6719848','Lider Equipe','','lider_equipe','','','','true','false',''
'6744454','Wester','','44944_wester','19482','Equipe fSense DEV','2751','false','false','1101'
'6755534','usuario','usuario@fsense.com','usuario@fsense.com','4079','Tecnologia da Informação','74','false','false',''

Exportar Pessoas - Exemplo de Implementação de Banco de Dados​

Para exportar as pessoas cadastradas na organização fazendo a persistência de dados no banco, podemos fazer da seguinte forma:

Configuração do Arquivo Properties​

Definição do Serviço​

No arquivo fsense.properties, defina o serviço a ser executado ajustando a propriedade service.name para PERSON_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=PERSON_SERVICE

Método do Serviço​

Configure o método do serviço para EXPORT_PERSONS através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_PERSONS

Tipo de Operação​

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina DATABASE.

    # TIPO DE OPERAÇÃO
operation.type=database

Execução da Aplicação​

Após definidos os parâmetros, execute a aplicação.

    ========================================================
SELECTED SERVICE [PERSON_SERVICE]
========================================================
OPERATION TYPE: DATABASE
========================================================
SELECTED METHOD [EXPORT_PERSONS]
Exporting persons
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
5839dd80-1444-4a8e-a2c2-71d5f18ba8d0
========================================================
AUTHENTICATION SUCCESS
========================================================
Nº pages: 23
Nº peoples found: 221
Getting peoples page: 1/23
Getting peoples page: 2/23
...
Getting peoples page: 23/23
========================================================
SAVING ON DATABASE
========================================================
Open database Connection
Saving on tb_person
UpdateCount: 221
Database connection close
======================================================
SAVING DATABASE PERSONS FINISHED SUCCESSFULLY
======================================================
End of execution.

Verificação da Operação​

Após a execução da aplicação, abra a ferramenta de banco de dados de sua preferência e faça uma consulta na tabela tb_person.

    SELECT * FROM tb_person;

A tabela terá uma estrutura semelhante à esta:

idnameemaildeviceIdentifierteamIdteamNameworkdayIdcanDeleterootcalendarId
6665124ROOTroot@fsense.comfalsetrue
6665126Mariamaria.silva@fsense.com.brmaria_silva2658falsefalse
6719848Lider Equipelider_equipetruefalse
6744454Wester44944_wester19482Equipe fSense DEV2751falsefalse1101
6755534usuariousuario@fsense.comusuario@fsense.com4079Tecnologia da Informação74falsefalse

Importar Pessoas​

Para importar pessoas para o fSense partir de um arquivo CSV, podemos fazer da seguinte maneira:

Configuração do Arquivo Properties​

Definição do Serviço​

No arquivo fsense.properties, configure o serviço que será executado definindo a propriedades service.name para PERSON_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=PERSON_SERVICE

Método do Serviço​

Configure o método do serviço para IMPORT_PERSON através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=IMPORT_PERSON

Tipo de Operação​

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina CSV.

    # TIPO DE OPERAÇÃO
operation.type=csv

Informar o Caminho do Arquivo​

É necessário especificar o caminho do arquivo CSV contendo as informações das pessoas a serem importadas através da propriedade file.name. Se não houver nenhum arquivo pronto, há um modelo disponível no diretório src/main/resources/files/import/person_service_import_person.csv. Preencha as informações conforme as colunas indicadas no modelo.

Configure o caminho para o diretório onde o arquivo CSV está localizado.

    #CAMINHO PARA IMPORTAR O ARQUIVO [O CAMINHO DEVE ESTAR PREVIAMENTE CRIADO]
path.import = ./src/main/resources/files/import

Defina o nome do arquivo CSV que contém as informações das pessoas a serem importadas.

    #NOME DO ARQUIVO A SER IMPORTADO [file.name=team_import.csv]
file.name = person_service_import_person.csv

Configure o delimitador e o qualificador de texto utilizados no arquivo CSV.

    #CONFIGURAÇÕES DO CSV
#UTILIZE [VIRGULA] [PONTO E VIRGULA] OU [VAZIO] PARA O PARÂMETRO csv.delimiter
csv.delimiter = ,
#UTILIZE [VAZIO] [ASPAS SIMPLES] OU [ASPAS DUPLAS] PARA O PARÂMETRO csv.text.qualifier
csv.text.qualifier = '
NOTA

Certifique-se que o arquivo CSV esteja no formato correto e que os parâmetros de configurações correspondam ao formato do arquivo.

Execução da Aplicação​

Após a configuração dos parâmetros, execute a aplicação.

    ===========================================================
SELECTED SERVICE [PERSON_SERVICE]
===========================================================
SELECTED METHOD [UPDATE_PERSON]
===========================================================
checking if token is valid?: false
===========================================================
Starting authentication process
Getting access token
Token received.
1b7749ad-2cbf-44c3-9138-766b101f9979
===========================================================
AUTHENTICATION SUCCESS
===========================================================
PERSON DATA
===========================================================
Name: worker 1
Email: worker1@orgsemcountry.com
Team id: 18187
DeviceIdentifier worker_1
Team Name: Equipe teste jornada
Starting import persons
person import successfully
Person: worker 1 import successfully
===========================================================
PERSON DATA
===========================================================
Name: worker 2
Email: worker1@orgsemcountry.com
Team id: 18187
DeviceIdentifier worker_2
Team Name: Equipe teste jornada
Starting import persons
person import successfully
Person: worker 2 import successfully
===========================================================
PERSON DATA
===========================================================
Name: worker 5
Email: worker1@orgsemcountry.com
Team id: 18187
DeviceIdentifier worker_5
Team Name: Equipe teste jornada
Starting import persons
person import successfully
Person: worker 5 import successfully
===========================================================
RESULT OF IMPORT OPERATION
===========================================================
Total of requests made 5
Total of requests successfully: 5
Total of requests failed: 0
===========================================================
End of execution.

A aplicação realizará as requisições Http para a API fSense e internalizar as informações das pessoas para o fSense.

Verificação da Operação​

Após a execução da aplicação, abra o Painel de Gestão Online fSense no seu navegador e faça login. Navegue até a seção Monitorados > Pessoas para verificar se as pessoas foram inseridas corretamente.

Caso haja algum erro durante a importação, uma mensagem de erro será exibida no console da aplicação. Verifique as mensagens de erro para solucionar possíveis problemas.

Atualizar Pessoas​

Para atualizados dados de um pessoa cadastrada no fSense partir de um arquivo CSV, podemos fazer da seguinte maneira:

Configuração do Arquivo Properties​

Definição do Serviço​

No arquivo fsense.properties, configure o serviço que será executado definindo a propriedades service.name para PERSON_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=PERSON_SERVICE

Método do Serviço​

Configure o método do serviço para UPDATE_PERSON através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=UPDATE_PERSON

Tipo de Operação​

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina CSV.

    # TIPO DE OPERAÇÃO
operation.type=csv

Informar o Caminho do Arquivo​

É necessário especificar o caminho do arquivo CSV contendo as informações das pessoas a serem atualizadas através da propriedade file.name. Se não houver nenhum arquivo pronto, há um modelo disponível no diretório src/main/resources/files/import/person_service_update_person.csv. Preencha as informações conforme as colunas indicadas no modelo.

Configure o caminho para o diretório onde o arquivo CSV está localizado.

    #CAMINHO PARA IMPORTAR O ARQUIVO [O CAMINHO DEVE ESTAR PREVIAMENTE CRIADO]
path.import = ./src/main/resources/files/import

Defina o nome do arquivo CSV que contém as informações das pessoas a serem importadas.

    #NOME DO ARQUIVO A SER IMPORTADO [file.name=team_import.csv]
file.name = person_service_update_person.csv

Configure o delimitador e o qualificador de texto utilizados no arquivo CSV.

    #CONFIGURAÇÕES DO CSV
#UTILIZE [VIRGULA] [PONTO E VIRGULA] OU [VAZIO] PARA O PARÂMETRO csv.delimiter
csv.delimiter = ,
#UTILIZE [VAZIO] [ASPAS SIMPLES] OU [ASPAS DUPLAS] PARA O PARÂMETRO csv.text.qualifier
csv.text.qualifier = '
NOTA

Certifique-se que o arquivo CSV esteja no formato correto e que os parâmetros de configurações correspondam ao formato do arquivo.

Execução da Aplicação​

Após a configuração dos parâmetros, execute a aplicação.

    ===========================================================
SELECTED SERVICE [PERSON_SERVICE]
===========================================================
SELECTED METHOD [IMPORT_PERSON]
===========================================================
checking if token is valid?: false
===========================================================
Starting authentication process
Getting access token
Token received.
1b7749ad-2cbf-44c3-9138-766b101f9979
===========================================================
AUTHENTICATION SUCCESS
===========================================================
PERSON DATA
===========================================================
Name: worker 1 updated
Email: worker1@orgsemcountry.com
Team id: 18187
DeviceIdentifier worker_1
Team Name: Equipe teste jornada
Starting update persons
person update successfully
Person: worker 1 updated successfully
===========================================================
PERSON DATA
===========================================================
Name: worker 2 updated
Email: worker1@orgsemcountry.com
Team id: 18187
DeviceIdentifier worker_2
Team Name: Equipe teste jornada
Starting update persons
person update successfully
Person: worker 2 updated successfully
===========================================================
PERSON DATA
===========================================================
Name: worker 5 updated
Email: worker1@orgsemcountry.com
Team id: 18187
DeviceIdentifier worker_5
Team Name: Equipe teste jornada
Starting update persons
person update successfully
Person: worker 5 updated successfully
===========================================================
RESULT OF UPDATE OPERATION
===========================================================
Total of requests made 5
Total of requests successfully: 5
Total of requests failed: 0
===========================================================
End of execution.

A aplicação realizará as requisições Http para a API fSense e atualizar as informações das pessoas para o fSense.

Verificação da Operação​

Após a execução da aplicação, abra o Painel de Gestão Online fSense no seu navegador e faça login. Navegue até a seção Monitorados > Pessoas para verificar se as pessoas foram atualizadas corretamente.

Caso haja algum erro durante a importação, uma mensagem de erro será exibida no console da aplicação. Verifique as mensagens de erro para solucionar possíveis problemas.

Exportar Líderes de Pessoas​

Para exportar os líderes de Pessoas no formato CSV, podemos fazer da seguinte forma:

Configuração do Arquivo Properties​

Definição do Serviço​

No arquivo fsense.properties, configure o serviço a ser executado através da propriedade service.name para PERSON_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=PERSON_SERVICE

Método do Serviço​

Configure o método do serviço para EXPORT_LEADER_PERSON através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_LEADER_PERSON

Tipo de Operação​

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina CSV.

    # TIPO DE OPERAÇÃO
operation.type=csv

Informar o Caminho do Arquivo​

Para exportar os lideres de pessoas no fSense, é necessário informar o caminho do arquivo CSV contendo as informações das pessoas para exportar os seus respectivos líderes. Se não houver nenhum arquivo pronto, há um modelo disponível no diretório src/main/resources/files/import/person_service_export_leader_person.csv. Preencha as informações conforme as colunas indicadas no modelo.

    #CAMINHO PARA IMPORTAR O ARQUIVO [O CAMINHO DEVE ESTAR PREVIAMENTE CRIADO]
path.import = ./src/main/resources/files/import

#NOME DO ARQUIVO A SER IMPORTADO [file.name=team_import.csv]
file.name = person_service_export_leader_person.csv
#CONFIGURAÇÕES DO CSV

#UTILIZE [VIRGULA] [PONTO E VIRGULA] OU [VAZIO] PARA O PARAMETRO csv.delimiter
csv.delimiter = ,

#UTILIZE [VAZIO] [ASPAS SIMPLES] OU [ASPAS DUPLAS] PARA O PARAMETRO csv.text.qualifier
csv.text.qualifier = '

Execução da Aplicação​

Após a configuração dos parâmetros, execute a aplicação.

A aplicação exportará os arquivos com nome leader_of_person{ person_id }.csv.

========================================================
SELECTED SERVICE [PERSON_SERVICE]
========================================================
OPERATION TYPE: CSV
========================================================
SELECTED METHOD [EXPORT__LEADER_PERSON]
Exporting persons
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
5839dd80-1444-4a8e-a2c2-71d5f18ba8d0
========================================================
AUTHENTICATION SUCCESS
========================================================
GENERATING CSV
========================================================
Generating file leader_persons.csv
File: leader_persons.csv saved successfully
Path to file saved: ./files/export/leader_persons.csv
========================================================
EXPORT LEADER PERSON FINISHED SUCCESSFULLY
========================================================

Verificação da Operação​

Após a execução da aplicação, abra o arquivo gerado para verificar as equipes exportadas. O arquivo exportado terá uma estrutura semelhante à do exemplo abaixo:

'personId';'leaderId';'name';'email';'deviceIdentifier';'teamId';'teamName';'root'
'6702360';'6665124';'ROOT';'root@fsense.com';'';'';'';'true'
'6744643';'6769489';'Gestor de equipe';'gestor@fsense.io';'';'';'';'false'
'6744654';'6755534';'usuario';'usuario@fsense.com';'usuario@fsense.com';'4079';'Tecnologia da Informação';'false'
'6755544';'6665124';'ROOT';'maria@fsense.com';'';'';'';'true'