Collection periodosConsiderados = new ArrayList();//varre todas as estruturas do n�vel corrente e gera uma lista com as estruturas filhas tamb�m
periodosConsiderados.add(acompReferenciaAref);
List tpfaOrdenadosPorEstrutura = tipoFuncAcompDao.getFuncaoAcompOrderByEstruturas();
String exigeLiberarAcompanhamento = acompReferenciaAref.getTipoAcompanhamentoTa().getIndLiberarAcompTa();
String ocultarObservacoesParecer = configuracao.getIndOcultarObservacoesParecer();
StatusRelatorioSrl statusLiberado = (StatusRelatorioSrl) itemDao.
buscar(StatusRelatorioSrl.class, Long.valueOf(AcompReferenciaItemDao.STATUS_LIBERADO));
SegurancaECAR seguranca = (SegurancaECAR) request.getSession().getAttribute("seguranca");
Iterator itPeriodos = periodosConsiderados.iterator();
Map map = acompReferenciaItemDao.criarMapPeriodoAri(periodosConsiderados, itemEstruturaIett);
List listaPareceres = new ArrayList();
while(itPeriodos.hasNext()){
AcompReferenciaAref acompReferencia = (AcompReferenciaAref) itPeriodos.next();
AcompReferenciaItemAri ari = (AcompReferenciaItemAri) map.get(acompReferencia);
if(!map.isEmpty()){
// if("N".equals(exigeLiberarAcompanhamento) || ari.getStatusRelatorioSrl().equals(statusLiberado)){
List relatorios = acompReferenciaItemDao.getAcompRelatorioArelOrderByFuncaoAcomp(ari, tpfaOrdenadosPorEstrutura);
Iterator itRelatorios = relatorios.iterator();
ValidaPermissao validaPermissao = new ValidaPermissao();
List listaPermissaoTpfa = validaPermissao.permissaoVisualizarPareceres(acompReferenciaAref.getTipoAcompanhamentoTa(),
seguranca.getGruposAcesso());
while(itRelatorios.hasNext()){
AcompRelatorioArel relatorio = (AcompRelatorioArel) itRelatorios.next();
if(listaPermissaoTpfa.contains(relatorio.getTipoFuncAcompTpfa())
&& validaPermissao.permissaoLeituraAcompanhamento(relatorio.getAcompReferenciaItemAri(), seguranca.getUsuario(), seguranca.getGruposAcesso())){
listaPareceres.add(relatorio);
}
}
//} else if("N".equals(exigeLiberarAcompanhamento) || (ari.getAcompRelatorioArels() != null && ari.getAcompRelatorioArels().size() > 0)) {
// Campo: Nome do Item - Na linha -> Label
//linhaRetorno += "N/L";
//linhaRetorno += this.separadorCampos;
//Campo Fun��o de Acompanhamento - Na linha -> Label da fun��o de acompanhamento
// linhaRetorno += "N/L";
// linhaRetorno += this.separadorCampos;
//
//
// //Campo Situ��o - Na linha -> Atrasado
// linhaRetorno += "N/L";
// linhaRetorno += this.separadorCampos;
//
// //Campo Cor- Linha -> vermelho
// linhaRetorno += "N/L";
// linhaRetorno += this.separadorCampos;
//
// //Campo Label da posi��o em fun��o de acompanhamento - Linha: Repete o mesmo do cabe�alho
// linhaRetorno += "N/L";
// linhaRetorno += this.separadorCampos;
//
// //Campo: Observa��o
// if (ocultarObservacoesParecer == null || ocultarObservacoesParecer.equals("N")) {
// linhaRetorno += "N/L";
// linhaRetorno += this.separadorCampos;
// }
//}
}
}
StatusRelatorioSrl statusAri = null;
if(listaPareceres != null) {
EstruturaEtt estrutura = itemEstruturaIett.getEstruturaEtt();
Set funcoesAcompanhamento = estrutura.getEstrutTpFuncAcmpEtttfas();
if(funcoesAcompanhamento != null) {
Iterator itTpFunAnt = funcoesAcompanhamento.iterator();
while (itTpFunAnt.hasNext()) {
EstrutTpFuncAcmpEtttfa estruturaTpFuncaoAnt = (EstrutTpFuncAcmpEtttfa) itTpFunAnt.next();
boolean achou = false;
for(int i=0; i<listaPareceres.size(); i++) {
AcompRelatorioArel relatorio = (AcompRelatorioArel) listaPareceres.get(i);
statusAri = relatorio.getAcompReferenciaItemAri().getStatusRelatorioSrl();
if(relatorio.getTipoFuncAcompTpfa().getCodTpfa().equals(estruturaTpFuncaoAnt.getTipoFuncAcompTpfa().getCodTpfa())) {
if("S".equals(exigeLiberarAcompanhamento) && !relatorio.getAcompReferenciaItemAri().getStatusRelatorioSrl().equals(statusLiberado)){
//Campo Fun��o de Acompanhamento - Na linha -> Label da fun��o de acompanhamento
linhaRetorno += estruturaTpFuncaoAnt.getTipoFuncAcompTpfa().getLabelTpfa().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
linhaRetorno += this.separadorCampos;
//Campo Situ��o - Na linha -> Atrasado
linhaRetorno += "N/L";
linhaRetorno += this.separadorCampos;
//Campo Cor- Linha -> vermelho
linhaRetorno += "N/L";
linhaRetorno += this.separadorCampos;
//Campo Label da posi��o em fun��o de acompanhamento - Linha: Repete o mesmo do cabe�alho
linhaRetorno += "N/L";
linhaRetorno += this.separadorCampos;
//Campo: Observa��o // Pode estar configurado para ser ocultado
if (ocultarObservacoesParecer == null || ocultarObservacoesParecer.equals("N")) {
linhaRetorno += "N/L";
linhaRetorno += this.separadorCampos;
}
achou = true;
break;
} else {
//Campo Fun��o de Acompanhamento - Na linha -> Label da fun��o de acompanhamento
linhaRetorno += relatorio.getTipoFuncAcompTpfa().getLabelTpfa().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
linhaRetorno += this.separadorCampos;
//Campo Situ��o - Na linha -> Atrasado
if(relatorio.getSituacaoSit()!= null)
linhaRetorno += relatorio.getSituacaoSit().getDescricaoSit().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
else
linhaRetorno += "N/I";
linhaRetorno += this.separadorCampos;
//Campo Cor- Linha -> vermelho
if(relatorio.getCor() != null)
linhaRetorno += relatorio.getCor().getSignificadoCor().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
else
linhaRetorno += "N/I";
linhaRetorno += this.separadorCampos;
//Campo Label da posi��o em fun��o de acompanhamento - Linha: Repete o mesmo do cabe�alho
if(relatorio.getDescricaoArel() != null)
linhaRetorno += relatorio.getDescricaoArel().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
linhaRetorno += this.separadorCampos;
//Campo: Observa��o // Pode estar configurado para ser ocultado
if (ocultarObservacoesParecer == null || ocultarObservacoesParecer.equals("N")){
if(relatorio.getComplementoArel() != null && !"".equals(relatorio.getComplementoArel().trim()))
linhaRetorno += relatorio.getComplementoArel().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
else
linhaRetorno += "N/I";
linhaRetorno += this.separadorCampos;
}
achou = true;
break;
}
}
}
if(achou == false) {
if("S".equals(exigeLiberarAcompanhamento) && statusAri != null && !statusAri.equals(statusLiberado)){
//Campo Fun��o de Acompanhamento - Na linha -> Label da fun��o de acompanhamento
linhaRetorno += estruturaTpFuncaoAnt.getTipoFuncAcompTpfa().getLabelTpfa().replaceAll("\n"," ").replaceAll("\r"," ").replaceAll("\t", " ");
linhaRetorno += this.separadorCampos;
//Campo Situ��o - Na linha -> Atrasado
linhaRetorno += "N/L";