/* ConstantesGlobais - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
package serpro.ppgd.negocio;
import java.util.Locale;

import serpro.ppgd.negocio.util.FabricaUtilitarios;
import serpro.ppgd.irpf.util.ConstantesGlobaisIRPF;
import serpro.ppgd.negocio.Data;

public class ConstantesGlobais
{
  private static int EXERCICIO_INT;
  private static int _TAMANHO_VALOR = 13;
  private static int _TAMANHO_VALOR_PARTE_DECIMAL = 2;
  public static final int TAMANHO_VALOR;
  public static final int TAMANHO_VALOR_PARTE_DECIMAL;
  public static final String EXERCICIO;
  public static final Locale LOCALIDADE;
  public static final Valor ZERO;
  public static final Valor DOLAR_31_12_ANO_ANTERIOR;
  public static final Valor MULTA_POR_ATRASO_ENTREGA;
  public static final String NOME_PROGRAMA;
  public static final String XMLNS;
  public static final String EXERCICIO_ANTERIOR;
  public static final String ANO_BASE;
  public static final String ANO_BASE_ANTERIOR;
  /* NOTE: Normalmente se incrementa a centena de um ano para outro.
     Verificar o campo de mesmo nome (após o ano do exercício e o ano
     base) na primeira linha (IRPF) do arquivo de declaração.  */
  public static final int CODIGO_RECNET = 3600;
  public static final int VERSAORECNET;
  public static final Data DATA_INICIAL_ANO_BASE = new Data ();
  public static final Data DATA_INICIAL_EXERCICIO = new Data ();

  
  static
  {
    try
      {
	EXERCICIO_INT = Integer.parseInt (FabricaUtilitarios.getProperties ().getProperty ("exercicio", "0"));
      }
    catch (Exception exception)
      {
	/* empty */
      }
    try
      {
	String tamValor = FabricaUtilitarios.getProperties ().getProperty ("informacao.valor.maxTotalDigitos", "13").trim ();
	String tamValorParteDecimal = FabricaUtilitarios.getProperties ().getProperty ("informacao.valor.casasDecimais", "2").trim ();
	_TAMANHO_VALOR = Integer.parseInt (tamValor);
	_TAMANHO_VALOR_PARTE_DECIMAL = Integer.parseInt (tamValorParteDecimal);
      }
    catch (Exception e)
      {
	_TAMANHO_VALOR = 13;
	_TAMANHO_VALOR_PARTE_DECIMAL = 2;
      }
    TAMANHO_VALOR = _TAMANHO_VALOR;
    TAMANHO_VALOR_PARTE_DECIMAL = _TAMANHO_VALOR_PARTE_DECIMAL;
    EXERCICIO = String.valueOf (EXERCICIO_INT);
    LOCALIDADE = new Locale ("pt", "BR");
    ZERO = new Valor ("0,00"); 
    /* NOTE: Figura no IRPF2026 como COTACAO_DOLAR em
       serpro.ppgd.irpf.negocio.util.ConstantesGlobaisIRPF de
       lib-modulos/irpf-negocio-declaracao.jar.  Também pode ser
       conseguido em
       https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=exibeFormularioConsultaBoletim,
       preenchendo "Data Inicial" com "31/12" do ano base e "Data
       Final" com "01/01" do exercício, e depois copiando o valor da
       coluna "Compra". */
    DOLAR_31_12_ANO_ANTERIOR = new Valor ("5,5018");
    /* NOTE: Figura no IRPF2026 como MULTA_POR_ATRASO_ENTREGA em
       serpro.ppgd.negocio.ConstantesGlobais de
       lib/ppgd-negocio-4.3.1.  Valor com base na Instrução Normativa
       RFB nº 2312/2026, Art. 10, § 1º, inciso I. */
    MULTA_POR_ATRASO_ENTREGA = new Valor ("165,74");
    NOME_PROGRAMA = FabricaUtilitarios.getProperties ().getProperty ("titulo");
    XMLNS = FabricaUtilitarios.getProperties ().getProperty ("aplicacao.namespace", "http://www.receita.fazenda.gov.br/declaracao");
    EXERCICIO_ANTERIOR = String.valueOf (EXERCICIO_INT - 1);
    ANO_BASE = EXERCICIO_ANTERIOR;
    ANO_BASE_ANTERIOR = String.valueOf (EXERCICIO_INT - 2);
    VERSAORECNET = Integer.parseInt (FabricaUtilitarios.getProperties ().getProperty ("versaoMinimaRecNet", "200506"));
    DATA_INICIAL_ANO_BASE.setConteudo ("01/01/" + ANO_BASE);
    DATA_INICIAL_EXERCICIO.setConteudo ("01/01/" + EXERCICIO);

  }
}
