* @param estruturaEtt
* @param listaItensEstruturaExportacao
* @throws ECARException
*/
public CaminhoArquivoExportacaoBean exportar(EstruturaEtt estruturaEtt,List<ItemEstruturaIett> listaItensEstruturaExportacao, List<AcompReferenciaItemAri> listaArisEstruturaExportacao, FuncaoFun funcao, ConfiguracaoCfg config,Date dataHoraExportacao,ComunicacaoExportacao comunicacao,List<ObjetoEstrutura> colunas, SegurancaECAR segurancaECAR, AcompReferenciaAref acompReferenciaAref, Aba aba) throws ECARException {
EstruturaFuncaoDao estruturaFunDao = new EstruturaFuncaoDao(null);
AbaDao abaDao = new AbaDao(null);
this.comunicacao = comunicacao;
boolean exportar = false;
String labelFuncaoAba = "";
EstruturaFuncaoEttf estruturaFuncaoEttf = null;
//Se acompReferenciaAref != null ent�o � exporta��o de monitoramento
//caso contr�rio � de cadastro
if (acompReferenciaAref != null){
//exporta��o de monitoramento
if (aba != null){
//Veririca se o usu�rio logado tem permiss�o para visualizar a aba.
if (abaDao.getListaAbasComAcesso(acompReferenciaAref.getTipoAcompanhamentoTa(), segurancaECAR.getGruposAcesso()).contains(aba)){
//Se a fun��o != null, ent�o � uma aba com sua respectiva fun��o (dados gerais, pontos cr�ticos, Diarios de Bordos)
if (funcao != null){
//exporta��o de aba com respectiva fun��o
//valida se a fun��o est� configurada na estrutura
estruturaFuncaoEttf = estruturaFunDao.getEstruturaFuncao(estruturaEtt, funcao);
if (estruturaFuncaoEttf != null){
exportar = true;
}
} else {
//Aba sem fun��o (aba de parecer)
exportar = true;
}
//Quando a aba != null e o usu�rio tem acesso a essa aba
//o sistema obtem o label da funcaoAba de acordo com a fun��o associada no cadastro de aba
//caso n�o tenha fun��o associada, o sistema retorna o label da aba no cadastro de aba
if (exportar){
if (aba.getFuncaoFun() != null){
estruturaFuncaoEttf = estruturaFunDao.getEstruturaFuncao(estruturaEtt, aba.getFuncaoFun());
if (estruturaFuncaoEttf != null) {
labelFuncaoAba = estruturaFuncaoEttf.getLabelEttf();
} else {
labelFuncaoAba = aba.getFuncaoFun().getLabelPadraoFun();
}
} else {
labelFuncaoAba = aba.getLabelAba();
}
}
}
} else if (funcao != null){
//exporta��o de fun��o sem respectiva aba (apontamentos de pontos cr�ticos)
estruturaFuncaoEttf = estruturaFunDao.getEstruturaFuncao(estruturaEtt, funcao);
if (estruturaFuncaoEttf != null) {
labelFuncaoAba = estruturaFuncaoEttf.getLabelEttf();
exportar = true;
}
}
} else {
//exporta��o do cadastro (fun��es definidas)
estruturaFuncaoEttf = estruturaFunDao.getEstruturaFuncao(estruturaEtt, funcao);
if (estruturaFuncaoEttf != null) {
labelFuncaoAba = estruturaFuncaoEttf.getLabelEttf();
exportar = true;
}
}