Files
sigrhapf/Documents/sigfip/sigefp/GUINE_BISSAU_CONFIG.md
T
2026-05-19 11:45:46 +00:00

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 LocaleConfig e JacksonConfig

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ários
  • formatNumber(BigDecimal): Formata números decimais
  • formatInteger(Long): Formata números inteiros
  • getDateFormatter(): Retorna formatter para datas
  • getDateTimeFormatter(): 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 locale
  • application-gw.yml: Perfil específico para Guiné-Bissau
  • LocaleConfig.java: Configuração de locale e timezone
  • JacksonConfig.java: Configuração de serialização JSON
  • WebConfig.java: Configuração de formatação web
  • GuineaBissauConfig.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

  1. PostgreSQL: Certifique-se de que o PostgreSQL está configurado com timezone Africa/Bissau:

    SET timezone = 'Africa/Bissau';
    
  2. JVM: O timezone da JVM é configurado automaticamente na inicialização da aplicação.

  3. Frontend: O frontend deve usar as mesmas configurações de locale e timezone para consistência.

  4. Moeda: XOF (Franco CFA) é a moeda oficial da Guiné-Bissau e é compartilhada com outros países da África Ocidental.