3.8 KiB
Configurações para Guiné-Bissau
Este documento descreve as configurações específicas implementadas para garantir compatibilidade com a Guiné-Bissau.
Informações do País
- Código do País: GW (ISO 3166-1 alpha-2)
- Nome: Guiné-Bissau
- Moeda: XOF (Franco CFA da África Ocidental)
- Símbolo da Moeda: FCFA
- Timezone: Africa/Bissau (UTC+0)
- Locale: pt_GW (Português da Guiné-Bissau)
- Código Telefônico: +245
Configurações Implementadas
1. Timezone
O sistema está configurado para usar o timezone Africa/Bissau (UTC+0) em todas as operações:
- application.yml:
spring.jackson.time-zone: Africa/Bissau - SigefpApplication: Configuração do timezone padrão na inicialização
- LocaleConfig: Bean para garantir timezone correto
2. Locale e Idioma
- Locale padrão:
pt_GW(Português da Guiné-Bissau) - Fallback:
pt(Português genérico) se pt_GW não estiver disponível - Configurado em
LocaleConfigeJacksonConfig
3. Formatação de Datas
Formatos padrão implementados:
- Data:
dd/MM/yyyy(ex: 25/12/2024) - Data e Hora:
dd/MM/yyyy HH:mm(ex: 25/12/2024 14:30) - Data e Hora Completo:
dd/MM/yyyy HH:mm:ss(ex: 25/12/2024 14:30:45)
4. Formatação de Moeda
- Código: XOF
- Símbolo: FCFA
- Formato: Números com separador de milhares (ponto) e decimal (vírgula)
- Exemplo:
1.234,56 FCFA
5. Formatação de Números
- Separador de milhares: Ponto (.)
- Separador decimal: Vírgula (,)
- Exemplo:
1.234,56
6. Utilitários
A classe GuineaBissauConfig fornece métodos utilitários para:
formatCurrency(BigDecimal): Formata valores monetáriosformatNumber(BigDecimal): Formata números decimaisformatInteger(Long): Formata números inteirosgetDateFormatter(): Retorna formatter para datasgetDateTimeFormatter(): Retorna formatter para data/hora
Uso
No Backend (Java)
import br.gov.sigefp.common.util.GuineaBissauConfig;
import java.math.BigDecimal;
// Formatar moeda
BigDecimal valor = new BigDecimal("1234.56");
String formatado = GuineaBissauConfig.formatCurrency(valor);
// Resultado: "1.234,56 FCFA"
// Formatar número
String numero = GuineaBissauConfig.formatNumber(valor);
// Resultado: "1.234,56"
// Formatar data
LocalDate data = LocalDate.now();
String dataFormatada = data.format(GuineaBissauConfig.getDateFormatter());
// Resultado: "25/12/2024"
Configuração de Perfil
Para usar o perfil específico da Guiné-Bissau:
mvn spring-boot:run -Dspring-boot.run.profiles=gw
Ou definir a variável de ambiente:
export SPRING_PROFILES_ACTIVE=gw
Arquivos de Configuração
application.yml: Configuração base com timezone e localeapplication-gw.yml: Perfil específico para Guiné-BissauLocaleConfig.java: Configuração de locale e timezoneJacksonConfig.java: Configuração de serialização JSONWebConfig.java: Configuração de formatação webGuineaBissauConfig.java: Utilitários e constantes
Validações
O sistema valida automaticamente:
- Timezone em todas as operações de data/hora
- Locale em formatação de números e moedas
- Formato de datas em serialização JSON
- Formato de números em serialização JSON
Notas Importantes
-
PostgreSQL: Certifique-se de que o PostgreSQL está configurado com timezone
Africa/Bissau:SET timezone = 'Africa/Bissau'; -
JVM: O timezone da JVM é configurado automaticamente na inicialização da aplicação.
-
Frontend: O frontend deve usar as mesmas configurações de locale e timezone para consistência.
-
Moeda: XOF (Franco CFA) é a moeda oficial da Guiné-Bissau e é compartilhada com outros países da África Ocidental.