Ir para o conteúdo

ReinfUtils

Classe utilitária para geração de identificadores e XMLs do Reinf, além de métodos auxiliares para formatação de datas, horas e valores decimais conforme exigências legais.

Pacote

sam.server.samdev.utils


Padrões de Formatação

  • PATTERN_DDMMYYYY: "ddMMyyyy"
  • PATTERN_YYYYMMDD: "yyyyMMdd"
  • PATTERN_YYYY_MM_DD: "yyyy-MM-dd"
  • PATTERN_MMYYYY: "MMyyyy"
  • PATTERN_YYYY_MM: "yyyy-MM"
  • PATTERN_YYYY: "yyyy"
  • PATTERN_HHMMSS: "HHmmss"
  • PATTERN_HHMM: "HHmm"

Geração de Identificador Reinf

static String gerarID(int ti, String ni)

Gera o ID de um evento Reinf com base em tipo, número identificador, data, hora atual e número sequencial interno.


Criação de XML

static ElementXml configurarXML(String nameSpace)

Cria a tag raiz do XML com o nome "Reinf" e o namespace especificado.

static String gerarXML(ElementXml reinf)

Converte um ElementXml em String XML com codificação UTF-8.


Datas e Horas

String formatarData(LocalDate value)

Formata data no padrão "ddMMyyyy".

String formatarData(LocalDate value, String pattern)

Formata uma LocalDate usando padrão customizado.

String formatarHora(LocalTime value)

Formata uma LocalTime no padrão "HHmm".

String formatarHora(LocalTime value, String pattern)

Formata uma LocalTime com padrão customizado.

String formatarHora(LocalDate value, String pattern)

Formata uma LocalDate como hora. (Uso específico, atenção ao contexto).


Verificação de Inclusão

boolean isInclusao(LocalDate dataCadastro, LocalDate periodo)

Verifica se a operação corresponde a uma inclusão com base no mês/ano da data de cadastro e do período informado.


Formatação de Decimais

String formatarDecimal(BigDecimal value, int casasDecimais, boolean vlrZeroRetornaNull)

Formata valores BigDecimal no padrão brasileiro com vírgula como separador decimal. Pode retornar "0,00" ou null se o valor for zero.


Exemplo de uso

String idEvento = ReinfUtils.gerarID(1, "12345678901");
String dataFormatada = ReinfUtils.formatarData(LocalDate.now());
String valorFormatado = ReinfUtils.formatarDecimal(new BigDecimal("100.256"), 2, false);
ElementXml xml = ReinfUtils.configurarXML("http://www.reinf.gov.br/schema");
String conteudoXml = ReinfUtils.gerarXML(xml);