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