SegurancaECAR seguranca = (SegurancaECAR) request.getSession().getAttribute("seguranca");
ValidaPermissao validaPermissao = new ValidaPermissao();
while(it.hasNext()){
AcompRelatorioArel arel = (AcompRelatorioArel) it.next();
List listaPermissaoTpfa = validaPermissao.permissaoVisualizarPareceres(arel.getAcompReferenciaItemAri().getAcompReferenciaAref().getTipoAcompanhamentoTa(),seguranca.getGruposAcesso());
if(listaPermissaoTpfa.contains(arel.getTipoFuncAcompTpfa())
&& validaPermissao.permissaoLeituraAcompanhamento(arel.getAcompReferenciaItemAri(), seguranca.getUsuario(), seguranca.getGruposAcesso())){
// Teste ref. Mantis 10848
// if("S".equals(this.exigeLiberarAcompanhamento) && !"S".equals(arel.getIndLiberadoArel())){
// continue;
// }
if ("N".equals(this.exigeLiberarAcompanhamento) || arel.getAcompReferenciaItemAri().getStatusRelatorioSrl().equals(statusLiberado)){
if( (Dominios.SIM).equals(arel.getIndLiberadoArel()) ){
String nomeSiglaOrg = getNomeSiglaOrgao(arel, orgao);
String siglaOrgItem = "";
if(MODELO_ESTRUTURA.equals(modelo)){
if(ehSeparadoPorOrgao && arel.getAcompReferenciaItemAri().getAcompReferenciaAref().getOrgaoOrg() != null){
siglaOrgItem = arel.getAcompReferenciaItemAri().getAcompReferenciaAref().getOrgaoOrg() .getSiglaOrg();
} else if (!ehSeparadoPorOrgao && arel.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett() != null) {
siglaOrgItem = arel.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett().getSiglaOrg();
}
else {
siglaOrgItem = config.getLabelAgrupamentoItensSemOrgao();
}
}
if(!nomeSiglaOrgaoImpresso.equals(nomeSiglaOrg)){
nomeSiglaOrgaoImpresso = nomeSiglaOrg;
if(!primeiroItem){
builder.closeNode("itens");
}
String exibirOrgao = "S";
String quebrarPaginaItens = "S";
if(MODELO_ESTRUTURA.equals(modelo)){
exibirOrgao = "N";
quebrarPaginaItens = "N";
}
temItens = true;
builder.addNode("itens", "orgao=\"" + builder.normalize(nomeSiglaOrgaoImpresso) + "\" exibirOrgao=\"" + builder.normalize(exibirOrgao) + "\" quebrarPaginaItens=\"" + builder.normalize(quebrarPaginaItens) + "\"");
}
if(codIett != arel.getAcompReferenciaItemAri().getItemEstruturaIett().getCodIett().longValue()){
boolean geraHierarquia = primeiroItem || (ascendentes != null && !ascendentes.containsAll(itemEstruturaDao.getAscendentes(arel.getAcompReferenciaItemAri().getItemEstruturaIett())));
codIett = arel.getAcompReferenciaItemAri().getItemEstruturaIett().getCodIett().longValue();
//ascendentes.addAll(geraXmlItens(builder, arel, estAtribDao.getDescricaoItemByAtributo(arel.getAcompReferenciaItemAri().getItemEstruturaIett(), arel.getAcompReferenciaItemAri().getAcompReferenciaAref().getTipoAcompanhamentoTa()), false, geraHierarquia, siglaOrgItem, primeiroItem));
String exibirEncaminhamentos = "S";
if((indice + 1) < arels.size() || (indice == arels.size() - 1)){
int proximo = indice + 1;
try{
AcompRelatorioArel proximoArel = (AcompRelatorioArel) arels.get(proximo);
if(codIett == proximoArel.getAcompReferenciaItemAri().getItemEstruturaIett().getCodIett().longValue())
exibirEncaminhamentos = "N";
}
catch (IndexOutOfBoundsException e) {
//N�o tem mais itens na lista, exibe o complemento.
exibirEncaminhamentos = "S";
}
}
ascendentes.addAll(geraXmlItens(builder, arel, estAtribDao.getDescricaoItemByAtributo(arel.getAcompReferenciaItemAri().getItemEstruturaIett(), arel.getAcompReferenciaItemAri().getAcompReferenciaAref().getTipoAcompanhamentoTa()), true, geraHierarquia, nomeSiglaOrgaoImpresso, primeiroItem, exibirEncaminhamentos));
}
else {
boolean exibirComplemento = false;
String exibirEncaminhamentos = "S";
if((indice + 1) < arels.size() || (indice == arels.size() - 1)){
int proximo = indice + 1;
try{
AcompRelatorioArel proximoArel = (AcompRelatorioArel) arels.get(proximo);
exibirComplemento = !arel.getAcompReferenciaItemAri().equals(proximoArel.getAcompReferenciaItemAri());
}
catch (IndexOutOfBoundsException e) {
//N�o tem mais itens na lista, exibe o complemento.
exibirComplemento = true;
exibirEncaminhamentos = "S";