StringBuffer linha = null;
String separadorCampos = configuracao.getSeparadorArqTXT();
IRegistro registro = null;
List<IRegistro> listaRegistros = new ArrayList<IRegistro>();
ItemEstruturaIett itemEstruturaIett = null;
ItemEstrtIndResulCorIettrcorDAO iettrCorDao = new ItemEstrtIndResulCorIettrcorDAO(null);
SisGrupoAtributoSga sgaMetasFisicas = configuracao.getSisGrupoAtributoSgaByCodSgaGrAtrMetasFisicas();
SisGrupoAtributoSga sgaUnidMedida = configuracao.getSisGrupoAtributoSgaByUnidMedida();
Cor corFiltro = new Cor();
corFiltro.setIndIndicadoresFisicosCor("S");
List listaCores = new CorDao(null).pesquisar(corFiltro, new String[]{"ordemCor","asc"});
List<ItemEstrtIndResulIettr> listaItemEstrtIndResulIettrs = obterItemEstrtIndResulIettr(listaItensEstruturaExportacao);
//datas que ser�o usadas para verificar o valor previsto
Set<EcarData> datas = new TreeSet<EcarData>();
for(ItemEstruturaIett _item_: listaItensEstruturaExportacao){
ItemEstrutura item = new ItemEstrutura(_item_);
if(item.getMeses() != null){
datas.addAll(item.getMeses());
}
}
for (ItemEstrtIndResulIettr itemEstrtIndResulIettr : listaItemEstrtIndResulIettrs) {
linha = new StringBuffer();
// se item pai existe
itemEstruturaIett = itemEstrtIndResulIettr.getItemEstruturaIett();
if(itemEstruturaIett.getItemEstruturaIett() != null) {
linha.append(itemEstruturaIett.getItemEstruturaIett().getCodIett());
}
linha.append(separadorCampos);
linha.append(itemEstruturaIett.getCodIett());
linha.append(separadorCampos);
linha.append(itemEstrtIndResulIettr.getCodIettir());
linha.append(separadorCampos);
//Inicio dos campos da tela de metas/indicadores
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getNomeIettir()));
linha.append(separadorCampos);
//Exibe esse campo apenas se o grupo de metas estiver configurado
if (sgaMetasFisicas != null){
if (itemEstrtIndResulIettr.getSisAtributoSatb() != null){
linha.append(itemEstrtIndResulIettr.getSisAtributoSatb().getDescricaoSatb());
}
linha.append(separadorCampos);
}
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getDescricaoIettir()));
linha.append(separadorCampos);
//Se o grupo de unidade de medida estiver configurado
//usa o grupo, caso contr�rio usa a unidade de medida da pr�pria meta
if (sgaUnidMedida != null) {
if (itemEstrtIndResulIettr.getCodUnidMedidaIettr() != null){
linha.append(itemEstrtIndResulIettr.getCodUnidMedidaIettr().getDescricaoSatb());
}
} else {
linha.append(itemEstrtIndResulIettr.getUnidMedidaIettr());
}
linha.append(separadorCampos);
//Nome do agrupamento para o Gr�fico de Grupos
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getLabelGraficoGrupoIettir()));
linha.append(separadorCampos);
//Formato
linha.append(Pagina.trocaFormato(itemEstrtIndResulIettr.getIndTipoQtde()));
linha.append(separadorCampos);
//Proje��o
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndProjecaoIettr()));
linha.append(separadorCampos);
//Acumul�vel
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndAcumulavelIettr()));
linha.append(separadorCampos);
//Valor final
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndValorFinalIettr()));
linha.append(separadorCampos);
//� P�blico?
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndPublicoIettr()));
linha.append(separadorCampos);
//Qtde. Prevista Informada por Local?
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndPrevPorLocal()));
linha.append(separadorCampos);
//Qtde. Realizada Informada por Local?
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndRealPorLocal()));
linha.append(separadorCampos);
//Valor inicial de refer�ncia
linha.append(Pagina.trocaNullQtdValor(itemEstrtIndResulIettr.getIndiceMaisRecenteIettr(), "V"));
linha.append(separadorCampos);
//Data de apura��o
linha.append(Data.parseDate(itemEstrtIndResulIettr.getDataApuracaoIettr()));
linha.append(separadorCampos);
// //Base geogr�fica - O CAMPO N�O EST� SENDO SALVO
// linha.append(Dominios.STRING_VAZIA);
// linha.append(separadorCampos);
//Periodicidade
if (itemEstrtIndResulIettr.getPeriodicidadePrdc() != null){
linha.append(itemEstrtIndResulIettr.getPeriodicidadePrdc().getDescricaoPrdc());
}
linha.append(separadorCampos);
//Fonte
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getFonteIettr()));
linha.append(separadorCampos);
//F�rmula
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getFormulaIettr()));
linha.append(separadorCampos);
//Utiliza Sinaliza��o
linha.append(Pagina.trocaNull(itemEstrtIndResulIettr.getIndSinalizacaoIettr()));
linha.append(separadorCampos);
//Lista de cores
List<ItemEstrtIndResulCorIettrcor> listaCoresIettrcor = iettrCorDao.listarIettrcorAtivosPorIettrOrderByValorPrimEmailIettrcor(itemEstrtIndResulIettr);
String menorValor = ItemEstrtIndResulCorIettrcorDAO.MENOR_VALOR;
for (ItemEstrtIndResulCorIettrcor itemEstrtIndResulCorIettrcor : listaCoresIettrcor) {
//Estado
linha.append(itemEstrtIndResulCorIettrcor.getCor().getSignificadoCor());
linha.append(separadorCampos);