StringBuffer strBuffer = new StringBuffer();
try {
ObjetoEstrutura coluna;
SegurancaECAR seguranca = (SegurancaECAR) request.getSession().getAttribute("seguranca");
EstruturaDao estruturaDao = new EstruturaDao(null);
ItemEstruturaDao itemDao = new ItemEstruturaDao(null);
ConfiguracaoDao configuracaoDao = new ConfiguracaoDao(null);
ConfiguracaoCfg configuracao = new ConfiguracaoCfg();
List confg = configuracaoDao.listar(ConfiguracaoCfg.class, null);
if(confg != null && confg.size() > 0)
configuracao = (ConfiguracaoCfg) confg.iterator().next();
List lColunas = estruturaDao.getAtributosAcessoEstrutura(estruturaSelecionada);
ValidaPermissao validaPermissao = new ValidaPermissao();
List listaItensEstrutura = null;
//Gera a lista de ietts (itens estrutura)
if(lColunas != null && lColunas.size() > 0) {
listaItensEstrutura = itemDao.getItensFilho(itemEstruturaSelecionado, estruturaSelecionada, lColunas);
}
else {
listaItensEstrutura = itemDao.getItensFilho(itemEstruturaSelecionado, estruturaSelecionada, "");
}
String radConcluido = "";
if("".equals(Pagina.getParamStr(request, "radConcluido"))){
radConcluido = (String) request.getSession().getAttribute("radConcluidoSession");
} else{
radConcluido = Pagina.getParamStr(request, "radConcluido");
}
listaItensEstrutura = itemDao.getItensIndConclusao(listaItensEstrutura, radConcluido);
//parametros auxilixares
String nomeCbCtrl = "cbCtrl" + estruturaSelecionada.getCodEtt();
String nomeCbDep = "cbDep" + estruturaSelecionada.getCodEtt();
String strCheckBox = "<td class=\\\"sorttable_nosort\\\" width=\\\"1%\\\" ><input type=\\\"checkbox\\\" class=\\\"form_check_radio\\\" name=\\\"" + nomeCbCtrl + "\\\" onclick=\\\"javascript:selectAll(document.form, '" + nomeCbCtrl + "', '" + nomeCbDep + "');\\\"></td>";
String strColunaVazia = "<td class=\\\"sorttable_nosort\\\" width=\\\"1%\\\" > </td> <!-- Coluna para colocar icone para listagem -->";
strBuffer.append("<table class=\\\"sortable\\\" border=\\\"0\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" width=\\\"100%\\\" id=\\\"tabelaOrdenada\\\" >");
strBuffer.append(" <thead >");
strBuffer.append(" <tr bgcolor=\\\""+estruturaSelecionada.getCodCor2Ett()+"\\\">");
/* desenha as colunas de uma estrutura */
Iterator itColunas = lColunas.iterator();
int numColuna = 2;
while (itColunas.hasNext()){
coluna = (ObjetoEstrutura) itColunas.next();
strBuffer.append(strCheckBox);
strBuffer.append(strColunaVazia);
strBuffer.append(" <td width=\\\"" + coluna.iGetLargura() + "%\\\">");
strBuffer.append( coluna.iGetLabel());
strBuffer.append(" </td>");
numColuna++;
strColunaVazia = strCheckBox = "";
}
strBuffer.append(" <td> </td>");
strBuffer.append(" </tr> <!-- linha_subtitulo -->");
strBuffer.append(" </thead>");
strBuffer.append("<tbody id=\\\"corpo1\\\">");
/* imprimir os itens da estrutura */
Iterator itItens = listaItensEstrutura.iterator();
while (itItens.hasNext()) {
ItemEstruturaIett item = (ItemEstruturaIett) itItens.next();
if ((item.getIndAtivoIett() != null || !"".equals(item.getIndAtivoIett()))
&& !"N".equals(item.getIndAtivoIett())) {
validaPermissao.permissoesItem(item, seguranca.getUsuario(), seguranca.getGruposAcesso());
boolean permissaoAcessoItem = validaPermissao.permissaoExcluirItem() || validaPermissao.permissaoConsultarItem();
boolean permissaoAcessoItensFilhos = false;
/* hint de otimiza��o. S� testa se tem permiss�o para os filhos (recursivo) se n�o tiver para si pr�prio */
if(!permissaoAcessoItem){
permissaoAcessoItensFilhos = validaPermissao.permissaoAcessoItensFilhos(item, seguranca.getUsuario(), seguranca.getGruposAcesso());
}
if(permissaoAcessoItem || permissaoAcessoItensFilhos){