AcompReferenciaAref acompReferenciaSelecionado = null;
TipoFuncAcompDao tipoFuncAcompDao = new TipoFuncAcompDao();
ItemEstUsutpfuacDao itemEstUsuDao = new ItemEstUsutpfuacDao(request);
AcompReferenciaItemDao acompReferenciaItemDao = new AcompReferenciaItemDao(request);
AcompReferenciaDao acompReferenciaDao = new AcompReferenciaDao(request);
TipoAcompanhamentoDao taDao = new TipoAcompanhamentoDao(getRequest());
Map mapAcao = null;
Iterator itPeriodosAcao = null;
// guarda se a referencia selecionada � igual a referencia atual. Isso serve pra saber se vai colocar o lapis quando mais de um periodo for selecionado
boolean referenciaSelecionadaIgualReferenciaItem = true;
try{
if(codTipoAcompanhamento != null && !codTipoAcompanhamento.equals("") && codAref != null && !codAref.equals("")) {
acompReferenciaAref = (AcompReferenciaAref) acompReferenciaDao.buscar(AcompReferenciaAref.class, Long.valueOf(codAref));
if(acompReferenciaAref.getTipoAcompanhamentoTa() != null) {
tipoAcompanhamento = acompReferenciaAref.getTipoAcompanhamentoTa();
ari = (AcompReferenciaItemAri) acompReferenciaItemDao.getAcompReferenciaItemByItemEstruturaIett(acompReferenciaAref, pItemEstrutura);
linkAbrirIettComeco = "<a href=\"javascript:detalharItemEstrutura(form, '"
+ status
+ "', '" + ari.getCodAri().toString()
+ "', '" + this.periodo
+ "', '" + this.codTipoAcompanhamento
+ "', '" + this.codAref
+ "', '" + enderecoAbaRegistro + "')\" title=\"A��o\">";
}
}
} catch (Exception e) {
Logger.getLogger(this.getClass()).error(e);
e.printStackTrace();
}
//imagem inserir anota��o
retorno.append("<td>");
if(!getStatus().equals("true")){
retorno.append("<a href=\"javascript:abrirPopUpInserirAnotacao("+pItemEstrutura.getCodIett()+")\" title=\"Inserir anota��o\"> ");
retorno.append("<img src=\""+getPathEcar()+"/images/relAcomp/icon_anotacoes.png\" border=\"0\" alt=\"\"> </a>");
}
retorno.append("</td>");
// ADICIONAR A IMAGEM PARA EDITAR
usuarioLogadoEmiteParecer = false;
boolean permissaoLapis = false;
if(permissaoAdministradorAcompanhamento){
permissaoLapis = true;
}
try {
if(tipoAcompanhamento == null)
tipoAcompanhamento = (TipoAcompanhamentoTa) taDao.buscar(TipoAcompanhamentoTa.class, Long.valueOf(codTipoAcompanhamento));
//Retorna um AREF na chave do Map e um ARI referente ao item no valor do MAP.
if(tipoAcompanhamento != null && tipoAcompanhamento.getIndSepararOrgaoTa() != null && tipoAcompanhamento.getIndSepararOrgaoTa().equals("S")) {
Collection listaReferenciasOrgaoAtual = new ArrayList();
Iterator itPeriodosOrgaoAtual = periodosConsiderados.iterator();
if(codArefSelecionado != null && !codArefSelecionado.equals(""))
acompReferenciaSelecionado = (AcompReferenciaAref) acompReferenciaDao.buscar(AcompReferenciaAref.class, Long.valueOf(codArefSelecionado));
if(acompReferenciaAref != null && acompReferenciaSelecionado != null) {
if(acompReferenciaAref.getDiaAref().equals(acompReferenciaSelecionado.getDiaAref()) &&
acompReferenciaAref.getMesAref().equals(acompReferenciaSelecionado.getMesAref()) &&
acompReferenciaAref.getAnoAref().equals(acompReferenciaSelecionado.getAnoAref())) {
listaReferenciasOrgaoAtual.add(acompReferenciaAref);
} else {
referenciaSelecionadaIgualReferenciaItem = false;
}
}
listaReferenciasOrgaoAtual.add(acompReferenciaSelecionado);
//agrupa outros arefs de outros periodos com o mesmo orgao
while(itPeriodosOrgaoAtual.hasNext() ) {
AcompReferenciaAref arefPeriodo = (AcompReferenciaAref) itPeriodosOrgaoAtual.next();
AcompReferenciaAref refOrgaoAtual = acompReferenciaDao.getAcompReferenciaByOrgaoDiaMesAnoAref(acompReferenciaAref.getOrgaoOrg(), arefPeriodo);
if(refOrgaoAtual != null && !listaReferenciasOrgaoAtual.contains(refOrgaoAtual) && referenciaSelecionadaIgualReferenciaItem) {
listaReferenciasOrgaoAtual.add(refOrgaoAtual);
}
}
mapAcao = acompReferenciaItemDao.criarMapPeriodoAriMontarListagem(periodosConsiderados, listaReferenciasOrgaoAtual, pItemEstrutura);
} else {
referenciaSelecionadaIgualReferenciaItem = true;
mapAcao = acompReferenciaItemDao.criarMapPeriodoAri(periodosConsiderados, pItemEstrutura);
}
} catch(ECARException ecarex) {
Logger.getLogger(this.getClass()).error(ecarex);
ecarex.printStackTrace();
}
itPeriodosAcao = periodosConsiderados.iterator();
if(itPeriodosAcao.hasNext()) {
AcompReferenciaAref acompReferencia = (AcompReferenciaAref) itPeriodosAcao.next();
if(!mapAcao.isEmpty() && mapAcao.containsKey(acompReferencia)) {
AcompReferenciaItemAri ariAcao = (AcompReferenciaItemAri) mapAcao.get(acompReferencia);
List relatorios = null;
try{
relatorios = acompReferenciaItemDao.getAcompRelatorioArelOrderByFuncaoAcomp(ariAcao, tpfaOrdenadosPorEstrutura);
} catch(ECARException ecarex) {
Logger.getLogger(this.getClass()).error(ecarex);
ecarex.printStackTrace();
}
Iterator itRelatorios = relatorios.iterator();
while(itRelatorios.hasNext()){
AcompRelatorioArel relatorio = (AcompRelatorioArel) itRelatorios.next();
ItemEstUsutpfuacIettutfa itemEstUsu = null;
try{
itemEstUsu = itemEstUsuDao.buscar(itemEstrutura.getCodIett(), relatorio.getTipoFuncAcompTpfa().getCodTpfa());
} catch(ECARException ecarex) {
Logger.getLogger(this.getClass()).error(ecarex);
//ecarex.printStackTrace();
}
//Verifica se a permiss�o � de grupo ou usu�rio
if(itemEstUsu!=null){
if (itemEstUsu.getUsuarioUsu() != null) {
usuarioLogadoEmiteParecer = itemEstUsu.getUsuarioUsu().getCodUsu().equals(usuario.getCodUsu());
} else if (itemEstUsu.getSisAtributoSatb() != null) {
if (itemEstUsu.getSisAtributoSatb().getUsuarioAtributoUsuas() != null) {
Iterator itUsuarios = itemEstUsu.getSisAtributoSatb().getUsuarioAtributoUsuas().iterator();
while (itUsuarios.hasNext()) {
UsuarioAtributoUsua usuarioAtributoUsua = (UsuarioAtributoUsua) itUsuarios.next();
if (usuarioAtributoUsua.getUsuarioUsu().getCodUsu().equals(usuario.getCodUsu())){
usuarioLogadoEmiteParecer = true;
break;
}
}
}
}
if(usuarioLogadoEmiteParecer==true)
break;
}
}//fecha while relat�rios
}
}
retorno.append("*@*"); //Marcador que ser� utilizado na apresenta��o dos Itens
retorno.append("<td align=\"center\">");
AcompReferenciaAref arefSelecionada = null;
AcompReferenciaItemAri acompAri = null;
try {
arefSelecionada = (AcompReferenciaAref) acompReferenciaDao.buscar(AcompReferenciaAref.class, Long.valueOf(getCodAref()));
acompAri = acompReferenciaItemDao.getAcompReferenciaItemByItemEstruturaIett(arefSelecionada,pItemEstrutura);
} catch(ECARException ecarex) {
Logger.getLogger(this.getClass()).error(ecarex);
ecarex.printStackTrace();
}