Feriados​

Serviço que permite internalizar a estrutura de jornadas da sua organização.

Exportar Feriados - Exemplo de Implementação CSV​

Para exportar os feriados cadastradas na organização 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 que será executado definindo a propriedade service.name para HOLIDAY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=HOLIDAY_SERVICE

Método do Serviço​

Configure o método do serviço para EXPORT_HOLIDAY através da propriedade EXPORT_HOLIDAYS.

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

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​

Para exportar os feriados, é preciso definir o ano que deseja realizar a exportação através da propriedade holiday.year. Opcionalmente é possível exportar determinado feriado filtrando pelo nome através da propriedade holiday.name.

    #PARAMETROS PARA SERVIÇO DE EXPORTAÇÃO DE FERIADOS
holiday.name=Natal
holiday.year=2023

Execução da Aplicação​

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

    =========================================================
SELECTED SERVICE [HOLIDAY_SERVICE]
=========================================================
OPERATION TYPE: CSV
=========================================================
SELECTED METHOD [EXPORT_HOLIDAY]
checking if token is valid?: false
=========================================================
Starting authentication process
Getting access token
Token received.
df1c90a6-6c2c-4f4f-a5bc-99e79e4ad3d7
=========================================================
Authentication done successfully
=========================================================
Nº records founded: 3
Nº pages found: 1
Getting holidays page: 1/1
=========================================================
GENERATING CSV
=========================================================
Generated file holidays.csv
Status: saved successfully
Path to saved file: ./files/export/holidays.csv
=========================================================
EXPORT HOLIDAYS FINISHED SUCCESSFULLY
=========================================================
End of execution.

A aplicação fará requisições Http à API fSense para obter os feriados. Posteriormente, serão gerados arquivos CSV correspondentes. 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 se os feriados foram exportadas. O arquivo terá uma estrutura semelhante a do exemplo abaixo:

'id','name','type','date','canRepeat','year','month','day','calendarId'
'317','Aniversario de Uberlândia','REGIONAL','2024-08-30 21:00:00','true','2024','8','31','341'
'1','Dia da Confraternização Universal','NATIONAL','2023-12-31 21:00:00','true','2024','1','1','341'
'313','Finados','NATIONAL','2024-11-01 21:00:00','false','2024','11','2','341'
'312','Independência do Brasil','NATIONAL','2024-09-06 21:00:00','true','2024','9','7','341'
'316','Natal','NATIONAL','2024-12-24 21:00:00','true','2024','12','25','341'
'315','NSa Aparecida','NATIONAL','2024-10-11 21:00:00','true','2024','10','12','341'
'314','Proclamação da República','NATIONAL','2024-11-14 21:00:00','true','2024','11','15','341'
'211','Tiradentes','NATIONAL','2024-04-19 21:00:00','true','2024','4','20','341'

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

Definição do Serviço​

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

    # SERVICO A SER EXECUTADO
service.name=HOLIDAY_SERVICE

Método do Serviço​

Configure o método do serviço para EXPORT_HOLIDAY através da propriedade EXPORT_HOLIDAYS.

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

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

Parâmetros de Exportação​

Para exportar os feriados, é preciso definir o ano que deseja realizar a exportação através da propriedade holiday.year. Opcionalmente é possível exportar determinado feriado filtrando pelo nome através da propriedade holiday.name.

    #PARAMETROS PARA SERVIÇO DE EXPORTAÇÃO DE FERIADOS
holiday.name=Natal
holiday.year=2023

Execução da Aplicação​

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

    =========================================================
SELECTED SERVICE [HOLIDAY_SERVICE]
=========================================================
OPERATION TYPE: DATABASE
=========================================================
SELECTED METHOD [EXPORT_HOLIDAY]
checking if token is valid?: false
=========================================================
Starting authentication process
Getting access token
Token received.
df1c90a6-6c2c-4f4f-a5bc-99e79e4ad3d7
=========================================================
Authentication done successfully
=========================================================
Nº records founded: 8
Nº pages found: 1
Getting holidays page: 1/1
=========================================================
SAVING ON DATABASE
=========================================================
Open database Connection
Saving on tb_holiday
UpdateCount: 8
Database connection close
=========================================================
SAVING DATABASE HOLIDAYS FINISHED SUCCESSFULLY
=========================================================
End of execution.

A aplicação fará requisições Http à API fSense para obter os feriados e em seguida, serão gerados persistidos no banco. Os arquivos são armazenados no diretório src/main/resources/files/export.

Verificação da Operação​

Abra a ferramenta de banco de dados da sua preferência e faça uma consulta na tabela tb_holiday.

    SELECT * FROM tb_holiday;
idnametypedatecanRepeatyearmonthdaycalendarId
317Aniversario de UberlândiaREGIONAL2024-08-30 21:00:00true2024831341
1Dia da Confraternização UniversalNATIONAL2023-12-31 21:00:00true202411341
313FinadosNATIONAL2024-11-01 21:00:00false2024112341
312Independência do BrasilNATIONAL2024-09-06 21:00:00true202497341
316NatalNATIONAL2024-12-24 21:00:00true20241225341
315NSa AparecidaNATIONAL2024-10-11 21:00:00true20241012341
314Proclamação da RepúblicaNATIONAL2024-11-14 21:00:00true20241115341
211TiradentesNATIONAL2024-04-19 21:00:00true2024420

Importar Feriados​

Para cadastrar um novo feriado no fSense, 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 propriedade service.name para HOLIDAY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=HOLIDAY_SERVICE

Método do Serviço​

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

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

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 informar o caminho do arquivo CSV contendo as informações dos feriados a serem importados 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/holiday_service_import_holiday.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 dos feriados a serem importados.

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

Configure o delimitador e o qualificador de texto utilizados no arquivo 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
#UTILIZE [VAZIO] [ASPAS SIMPLES] OU [ASPAS DUPLAS] PARA O PARAMETRO 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 [HOLIDAY_SERVICE]
=========================================================
OPERATION TYPE: CSV
=========================================================
SELECTED METHOD [IMPORT_HOLIDAY]
checking if token is valid?: false
=========================================================
Starting authentication process
Getting access token
Token received.
df1c90a6-6c2c-4f4f-a5bc-99e79e4ad3d7
=========================================================
AUTHENTICATION SUCCESS
=========================================================
holiday to be imported:
Name: Finados
Date: 2024-11-02T00:00:00Z
Type: NATIONAL
Can Repeat: false
holiday Finados import successfully
=========================================================
HOLIDAY DATA
=========================================================
Name: Proclamação da República
Date: 2024-11-15T00:00:00Z
Type: NATIONAL
Can Repeat: true
holiday Proclamação da República import successfully
=========================================================
HOLIDAY DATA
=========================================================
Name: NSa Aparecida
Date: 2024-10-12T00:00:00Z
Type: NATIONAL
Can Repeat: true
holiday NSa Aparecida import successfully
=========================================================
HOLIDAY DATA
=========================================================
Name: Natal
Date: 2024-12-25T00:00:00Z
Type: NATIONAL
Can Repeat: true
holiday Natal import successfully
=========================================================
RESULT OF IMPORT OPERATION
=========================================================
Finish of operation:
Total of requests made 5
Total of requests successfully: 5
Total of requests failed: 0
=========================================================
End of execution.

A aplicação realizará requisições Http para a API fSense e importar os feriados para o fSense.

Verificação da Exportaçã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 Jornadas > Feriados e verifique se os feriados foram inseridos 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 Feriados​

Para atualizar um feriado cadastrado no fSense, 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 propriedade service.name para HOLIDAY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=HOLIDAY_SERVICE

Método do Serviço​

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

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

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 informar o caminho do arquivo CSV contendo as informações dos feriados a serem atualizados 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/holiday_service_update_holiday.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 dos feriados a serem atualizados.

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

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

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

#UTILIZE [VAZIO] [ASPAS SIMPES] OU [ASPAS DUPLAS] PARA O PARAMETRO 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 [HOLIDAY_SERVICE]
=========================================================
OPERATION TYPE: CSV
=========================================================
SELECTED METHOD [IMPORT_HOLIDAY]
checking if token is valid?: false
=========================================================
Starting authentication process
Getting access token
Token received.
df1c90a6-6c2c-4f4f-a5bc-99e79e4ad3d7
=========================================================
AUTHENTICATION SUCCESS
=========================================================
holiday to be imported:
Name: Finados
Date: 2024-11-02T00:00:00Z
Type: NATIONAL
Can Repeat: false
holiday Finados import successfully
=========================================================
HOLIDAY DATA
=========================================================
Name: Proclamação da República
Date: 2024-11-15T00:00:00Z
Type: NATIONAL
Can Repeat: true
holiday Proclamação da República import successfully
=========================================================
HOLIDAY DATA
=========================================================
Name: NSa Aparecida
Date: 2024-10-12T00:00:00Z
Type: NATIONAL
Can Repeat: true
holiday NSa Aparecida import successfully
=========================================================
HOLIDAY DATA
=========================================================
ce.impl.csv.HolidayServiceCSVWiter:80 - Name: Natal
Date: 2024-12-25T00:00:00Z
Type: NATIONAL
Can Repeat: true
holiday Natal import successfully
=========================================================
RESULT OF IMPORT OPERATION
=========================================================
Finish of operation:
Total of requests made 5
Total of requests successfully: 5
Total of requests failed: 0
=========================================================
End of execution.

A aplicação realizará requisições Http para a API fSense e atualizar os feriados para o fSense.

Verificação da Exportaçã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 Jornadas > Feriados e verifique se os feriados foram atualizados 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 Feriados por ID​

Para exportar um novo feriado pelo ID, para 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 propriedade service.name para HOLIDAY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=HOLIDAY_SERVICE

Método do Serviço​

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

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

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​

É preciso definir o id do feriado a ser exportado no arquivo fsense.properties.

    #PARAMETROS PARA SERVIÇO DE EXPORTAÇÃO DE FERIADOS
holiday.id=

Execução da Aplicação​

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

    ==========================================================
SELECTED SERVICE [HOLIDAY_SERVICE]
==========================================================
OPERATION TYPE: CSV
==========================================================
SELECTED METHOD [EXPORT_HOLIDAY_BY_ID]
==========================================================
holiday id selected to export [213]
checking if token is valid?: false
==========================================================
Starting authentication process
Getting access token
Token received.
8232e9dd-9ee3-4a94-b571-2e56c338eb76
==========================================================
AUTHENTICATION SUCCESS
==========================================================
GENERATING CSV
==========================================================
Generating file holiday_id_213.csv
File: holiday_by_id_213.csv saved successfully
Path to saved file: ./files/export/
Exporting holiday by id 213 completed successfully
==========================================================
EXPORT HOLIDAY BY ID FINISHED SUCCESSFULLY
==========================================================
End of execution.

A aplicação fará requisição para a API fSense para obter o feriado por ID. Posteriormente, será gerado o arquivo CSV correspondente.

A aplicação exportará os arquivos com nome holiday_[HOLIDAY_ID].csv .

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. O arquivo exportado terá uma estrutura semelhante à do exemplo abaixo:

'id','name','type','date','canRepeat','year','month','day','calendarId'
'317','Aniversario de Uberlândia','REGIONAL','0024-08-30 21:00:00','true','24','8','31','341'

Deletar Feriados por ID​

Para deletar um feriado cadastrada no fSense, podemos fazer a 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 propriedade service.name para HOLIDAY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=HOLIDAY_SERVICE

Método do Serviço​

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

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

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

Definição de Parâmetros de Remoção​

Para remover um ou mais feriados, é necessário informar o identificador único dos feriados que deseja remover através da propriedade team.ids. É possível informar um ou mais ids, basta informá-los separados por vírgula.

    ##ID DOS FERIADOS PARA REMOVER
holiday.ids=213, 214, 215, 216, 217

Execução da Aplicação​

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

    ========================================================
SELECTED SERVICE [HOLIDAY_SERVICE]
========================================================
OPERATION TYPE: CSV
========================================================
SELECTED METHOD [DELETE_HOLIDAY_BY_ID]
========================================================
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
37dcabc9-19c1-45e7-923a-7b091da89d30
========================================================
AUTHENTICATION SUCCESS
========================================================
Id holidays selected to remove:
[213, 214, 215, 216, 217]
Removing holiday id: 213
starting delete holiday by id
Holiday id 213 deleted successfully
========================================================
Removing holiday id: 214
starting delete holiday by id
Holiday id 214 deleted successfully
========================================================
Removing holiday id: 215
starting delete holiday by id
Holiday id 215 deleted successfully
========================================================
Removing holiday id: 216
starting delete holiday by id
Holiday id 216 deleted successfully
========================================================
Removing holiday id: 217
starting delete holiday by id
Holiday id 217 deleted successfully
========================================================
RESULT OF OPERATION
========================================================
Total of requests made 0
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 para remover os feriados no 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 Jornadas > Feriados para verificar se os feriados foram removidos corretamente.

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