ConfiguracaoDao configuracaoDao = new ConfiguracaoDao(request);
TipoAcompanhamentoDao tipoAcompanhamentoDao = new TipoAcompanhamentoDao(request);
AcompReferenciaDao acompReferenciaDao = new AcompReferenciaDao(request);
ArrayList objetos = new ArrayList();
AcompReferenciaAref acompanhamento = (AcompReferenciaAref)listAcompReferenciaAref.get(0);
ItemEstUsutpfuacDao itemEstUsutpfuacDao = new ItemEstUsutpfuacDao(request);
AcompRelatorioDao acompRelatorioDao = new AcompRelatorioDao(request);
UsuarioUsu usuario = (UsuarioUsu) new UsuarioDao(request).buscar(UsuarioUsu.class, Long.valueOf(Pagina.getParamStr(request, "codUsuario")));
//// Obter configura��o de grupo de meta f�sica
ConfiguracaoCfg cfg = configuracaoDao.getConfiguracao();
ArrayList<SisAtributoSatb> listAtribMetasFisicasCfg = new ArrayList<SisAtributoSatb>();
TipoAcompanhamentoTa ta = (TipoAcompanhamentoTa) tipoAcompanhamentoDao.buscar(TipoAcompanhamentoTa.class, acompanhamento.getTipoAcompanhamentoTa().getCodTa());
if(cfg.getSisGrupoAtributoSgaByCodSgaGrAtrMetasFisicas() != null) {
ArrayList listSatb = new ArrayList(ta.getSisAtributoSatbs());
if( listSatb != null ) {
for (Iterator itSatbs = listSatb.iterator(); itSatbs.hasNext();) {
SisAtributoSatb sisAtributoSatb = (SisAtributoSatb) itSatbs.next();
if( sisAtributoSatb.getSisGrupoAtributoSga().equals(cfg.getSisGrupoAtributoSgaByCodSgaGrAtrMetasFisicas()) ) {
listAtribMetasFisicasCfg.add(sisAtributoSatb);
}
}
}
}
////
/*
* itensSelecionados em Tela ser�o os checkboxes marcados em selecaoItem.jsp
*/
List<ItemEstruturaIett> itensSelecionadosEmTela = new ArrayList<ItemEstruturaIett>();
String[] itemSelecao = request.getParameterValues("iett");
if(itemSelecao != null){
for(int i = 0; i < itemSelecao.length; i++){
ItemEstruturaIett item = (ItemEstruturaIett) buscar(ItemEstruturaIett.class, Long.valueOf(itemSelecao[i]));
// se for separado por orgao e o item selecionado tiver o mesmo orgao da referencia OU
if((acompanhamento.getTipoAcompanhamentoTa().getIndSepararOrgaoTa() != null &&
acompanhamento.getTipoAcompanhamentoTa().getIndSepararOrgaoTa().equals(Dominios.SIM) &&
(item.getOrgaoOrgByCodOrgaoResponsavel1Iett() == null && acompanhamento.getOrgaoOrg() == null) ||
(item.getOrgaoOrgByCodOrgaoResponsavel1Iett() != null && acompanhamento.getOrgaoOrg() != null &&
item.getOrgaoOrgByCodOrgaoResponsavel1Iett().getCodOrg().equals(acompanhamento.getOrgaoOrg().getCodOrg()))) ||
//se nao for separado por orgao OU
(acompanhamento.getTipoAcompanhamentoTa().getIndSepararOrgaoTa() == null || acompanhamento.getTipoAcompanhamentoTa().getIndSepararOrgaoTa().equals(Dominios.NAO)) ||
//se for altera��o, mesmo que n�o seja do mesmo �rg�o e estiver marcado vai continuar sendo acompanhado.
(acompanhamento.getCodAref() != null)) {
itensSelecionadosEmTela.add(item);
}
}
}
List listaCompletaItens = adicionaDescendentesQuantidadePrevista(itensSelecionadosEmTela, acompanhamento);
for (Iterator itAref = listAcompReferenciaAref.iterator(); itAref.hasNext();) {
acompanhamento = (AcompReferenciaAref) itAref.next();
/*
* Cria uma vari�vel acompAuxiliar para receber o objeto acompanhamento com os dados que estavam ne session do
* servidor e foram setados a partir de dados do Formul�rio.
* Faz buscar do acompanhamento que esta sendo alterado e seta as valores que estavam em acompAuxiliar para
* acompanhamento
*/
if(acompanhamento.getCodAref() != null && acompanhamento.getCodAref().longValue() > 0){
AcompReferenciaAref acompAuxiliar = acompanhamento;
acompanhamento = (AcompReferenciaAref) this.buscar(AcompReferenciaAref.class, acompAuxiliar.getCodAref());
acompanhamento.setDataInicioAref(acompAuxiliar.getDataInicioAref());
acompanhamento.setDataLimiteAcompFisicoAref(acompAuxiliar.getDataLimiteAcompFisicoAref());
acompanhamento.setNomeAref(acompAuxiliar.getNomeAref());
acompanhamento.setAcompRefLimitesArls(acompAuxiliar.getAcompRefLimitesArls());
session.update(acompanhamento);
}
else {
session.save(acompanhamento);
}