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: ./src/main/resources/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: ./src/main/resources/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'