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:
id | name | deviceIdentifier | teamId | teamName | workdayId | canDelete | root | calendarId | |
---|---|---|---|---|---|---|---|---|---|
6665124 | ROOT | root@fsense.com | false | true | |||||
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 |
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 = '
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 = '
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'