package gcom.gui.cobranca; import gcom.cobranca.CobrancaAcao; import gcom.cobranca.CobrancaAcaoAtividadeCronograma; import gcom.cobranca.CobrancaAcaoCronograma; import gcom.cobranca.CobrancaAtividade; import gcom.cobranca.CobrancaGrupo; import gcom.cobranca.CobrancaGrupoCronogramaMes; import gcom.cobranca.FiltroCobrancaAcao; import gcom.cobranca.FiltroCobrancaAcaoAtividadeCronograma; import gcom.cobranca.FiltroCobrancaAcaoCronograma; import gcom.cobranca.FiltroCobrancaAtividade; import gcom.cobranca.FiltroCobrancaGrupo; import gcom.cobranca.FiltroCobrancaGrupoCronogramaMes; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0243] Inserir Comando de A��o de Conbran�a - Tipo de Comando Cronograma * @author Rafael Santos * @since 24/01/2006 */ public class ExibirInserirComandoAcaoCobrancaCronogramaAction extends GcomAction{ /** * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirInserirComandoAcaoCobrancaCronograma"); //Mudar isso quando implementar a parte de seguran�a HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); String limparForm = httpServletRequest.getParameter("limparForm"); if (limparForm != null && !limparForm.trim().equalsIgnoreCase("")) { if (sessao.getAttribute("colecaoCobrancaGrupo") != null) { sessao.removeAttribute("colecaoCobrancaGrupo"); } if (sessao.getAttribute("colecaoCobrancaAcao") != null) { sessao.removeAttribute("colecaoCobrancaAcao"); } if (sessao.getAttribute("colecaoCobrancaAtividade") != null) { sessao.removeAttribute("colecaoCobrancaAtividade"); } } String validarCobrancaGrupo = (String) httpServletRequest.getParameter("validarCobrancaGrupo"); String validarCobrancaAcao = (String) httpServletRequest.getParameter("validarCobrancaAcao"); String validarCobrancaAtividade = (String) httpServletRequest.getParameter("validarCobrancaAtividade"); FiltroCobrancaGrupo filtroCobrancaGrupo = new FiltroCobrancaGrupo(); InserirComandoAcaoCobrancaCronogramaActionForm inserirComandoAcaoCobrancaCronogramaActionForm = (InserirComandoAcaoCobrancaCronogramaActionForm) actionForm; Collection colecaoCobrancaGrupo = null; if(sessao.getAttribute("colecaoCobrancaGrupo") == null){ Collection colecaoCobrancaGrupoAptos = new ArrayList(); filtroCobrancaGrupo.setCampoOrderBy(FiltroCobrancaGrupo.DESCRICAO); // CARREGAR AS COBRAN�AS GRUPO - INICIO colecaoCobrancaGrupo = (Collection) fachada.pesquisar(filtroCobrancaGrupo,CobrancaGrupo.class.getName()); //[FS0002] - Verificar sele��o de pelo menos um grupo de cobran�a if(colecaoCobrancaGrupo != null && !colecaoCobrancaGrupo.isEmpty()){ //carregar grupo de cobran�a Iterator iteratorColecaoCobrancaGrupo = colecaoCobrancaGrupo.iterator(); while (iteratorColecaoCobrancaGrupo.hasNext()) { CobrancaGrupo cobrancaGrupo = (CobrancaGrupo) iteratorColecaoCobrancaGrupo.next(); FiltroCobrancaGrupoCronogramaMes filtroCobrancaGrupoCronogramaMensal = new FiltroCobrancaGrupoCronogramaMes(); filtroCobrancaGrupoCronogramaMensal.adicionarCaminhoParaCarregamentoEntidade("cobrancaGrupo"); filtroCobrancaGrupoCronogramaMensal.adicionarParametro( new ParametroSimples(FiltroCobrancaGrupoCronogramaMes.ID_COBRANCA_GRUPO, cobrancaGrupo.getId())); filtroCobrancaGrupoCronogramaMensal.adicionarParametro( new ParametroSimples(FiltroCobrancaGrupoCronogramaMes.ANO_MES_REFERENCIA, cobrancaGrupo.getAnoMesReferencia())); Collection colecaoCobrancaGrupoCronogramaMensal = (Collection) fachada.pesquisar(filtroCobrancaGrupoCronogramaMensal,CobrancaGrupoCronogramaMes.class.getName()); if(colecaoCobrancaGrupoCronogramaMensal != null && !colecaoCobrancaGrupoCronogramaMensal.isEmpty()){ colecaoCobrancaGrupoAptos.add(cobrancaGrupo); } } if(colecaoCobrancaGrupoAptos == null || colecaoCobrancaGrupoAptos.isEmpty()){ throw new ActionServletException("atencao.nao.grupo_cobranca.cronograma.mes.corrente"); } sessao.setAttribute("colecaoCobrancaGrupo",colecaoCobrancaGrupoAptos); } else { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Tabela Cobran�a Grupo"); } // FIM COBRAN�A GRUPO } //INICIO VALIDAR COBRANCA GRUPO SELECIONADO e CARREGAR AS A��ES DE COBRAN�A if(validarCobrancaGrupo != null && !validarCobrancaGrupo.equals("")){ String idGrupoCobranca = inserirComandoAcaoCobrancaCronogramaActionForm.getCobrancaGrupo(); if(idGrupoCobranca != null && !idGrupoCobranca.equals("")){ //pesquisando a cobrancao grupo filtroCobrancaGrupo = new FiltroCobrancaGrupo(); filtroCobrancaGrupo.adicionarParametro(new ParametroSimples(FiltroCobrancaGrupo.ID,idGrupoCobranca)); colecaoCobrancaGrupo = (Collection) fachada.pesquisar(filtroCobrancaGrupo,CobrancaGrupo.class.getName()); CobrancaGrupo cobrancaGrupo = (CobrancaGrupo)colecaoCobrancaGrupo.iterator().next(); //pesquisando o grupo cronograma mensal FiltroCobrancaGrupoCronogramaMes filtroCobrancaGrupoCronogramaMensal = new FiltroCobrancaGrupoCronogramaMes(); filtroCobrancaGrupoCronogramaMensal.adicionarParametro( new ParametroSimples(FiltroCobrancaGrupoCronogramaMes.ID_COBRANCA_GRUPO, cobrancaGrupo.getId())); filtroCobrancaGrupoCronogramaMensal.adicionarCaminhoParaCarregamentoEntidade("cobrancaGrupo"); filtroCobrancaGrupoCronogramaMensal.setCampoOrderBy(FiltroCobrancaGrupoCronogramaMes.ID); Collection colecaoCobrancaGrupoCronogramaMensal = (Collection) fachada.pesquisar(filtroCobrancaGrupoCronogramaMensal,CobrancaGrupoCronogramaMes.class.getName()); //[FS002] - Veririficar exist�ncia do cronograma para o grupo if(colecaoCobrancaGrupoCronogramaMensal == null || colecaoCobrancaGrupoCronogramaMensal.isEmpty()){ throw new ActionServletException("atencao.cronograma_cobranca.inexistente", null, idGrupoCobranca + " no M�s Corrente " + cobrancaGrupo.getAnoMesReferencia()); } Collections.reverse((List)colecaoCobrancaGrupoCronogramaMensal); //cobrancao de grupo selecionado sessao.setAttribute("cobrancaGrupo",cobrancaGrupo); CobrancaGrupoCronogramaMes cobrancaGrupoCronogramaMensal = null; if (inserirComandoAcaoCobrancaCronogramaActionForm.getReferenciaCobranca() != null && !inserirComandoAcaoCobrancaCronogramaActionForm.getReferenciaCobranca().toString().equals("")){ cobrancaGrupoCronogramaMensal = new CobrancaGrupoCronogramaMes(); cobrancaGrupoCronogramaMensal.setId(new Integer( inserirComandoAcaoCobrancaCronogramaActionForm.getReferenciaCobranca())); }else{ cobrancaGrupoCronogramaMensal = (CobrancaGrupoCronogramaMes) colecaoCobrancaGrupoCronogramaMensal.iterator().next(); } sessao.setAttribute("colecaoCobrancaGrupoCronogramaMensal",colecaoCobrancaGrupoCronogramaMensal); //CARREGAR A��O COBRAN�A FiltroCobrancaAcao filtroCobrancaAcao = new FiltroCobrancaAcao(); filtroCobrancaAcao.setCampoOrderBy(FiltroCobrancaAcao.DESCRICAO); Collection colecaoCobrancaAcao = (Collection) fachada.pesquisar(filtroCobrancaAcao,CobrancaAcao.class.getName()); //[SB0004] - Selecionar A��o de Cobran�a if(colecaoCobrancaAcao != null && !colecaoCobrancaAcao.isEmpty()){ Collection colecaoCobranAcaoAptas = new ArrayList(); Iterator iColecaoCobrancaAcao = colecaoCobrancaAcao.iterator(); Collection colecaoCobrancaAcaoAtividadeCronograma = null; CobrancaAcaoCronograma cobrancaAcaoCronograma = null; Collection colecaoCobrancaAcaoCronograma = null; FiltroCobrancaAcaoAtividadeCronograma filtroCobrancaAcaoAtividadeCronograma = null; //adicionar as cobran�as de a��o aptas para serem selecionadas while(iColecaoCobrancaAcao.hasNext()){ boolean primeiraCondicao = false; boolean segundaCondicao = false; boolean terceiraCondicao = false; CobrancaAcao cobrancaAcao = (CobrancaAcao) iColecaoCobrancaAcao.next(); //pesquisa a cobranca acao cronograma FiltroCobrancaAcaoCronograma filtroCobrancaAcaoCronograma = new FiltroCobrancaAcaoCronograma(); filtroCobrancaAcaoCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoCronograma.ID_COBRANCA_ACAO,cobrancaAcao.getId())); filtroCobrancaAcaoCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoCronograma.ID_COBRANCA_GRUPO_CRONOGRAMA_MES,cobrancaGrupoCronogramaMensal.getId())); colecaoCobrancaAcaoCronograma = fachada.pesquisar(filtroCobrancaAcaoCronograma,CobrancaAcaoCronograma.class.getName()); if(colecaoCobrancaAcaoCronograma != null && !colecaoCobrancaAcaoCronograma.isEmpty()){ cobrancaAcaoCronograma = (CobrancaAcaoCronograma) colecaoCobrancaAcaoCronograma.iterator().next(); terceiraCondicao = true; //pesquisar crobranca acao atividade cronograma filtroCobrancaAcaoAtividadeCronograma = new FiltroCobrancaAcaoAtividadeCronograma(); filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade(FiltroCobrancaAcaoAtividadeCronograma.COBRANCA_ATIVIDADE); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ACAO_CRONOGRAMA,cobrancaAcaoCronograma.getId())); colecaoCobrancaAcaoAtividadeCronograma = fachada.pesquisar(filtroCobrancaAcaoAtividadeCronograma,CobrancaAcaoAtividadeCronograma.class.getName()); } //primeira condi��o if(cobrancaAcao.getIndicadorRepeticao().shortValue() == (short)1){ primeiraCondicao = true; }else{ if(colecaoCobrancaAcaoAtividadeCronograma != null && !colecaoCobrancaAcaoAtividadeCronograma.isEmpty()){ Iterator iteratorColecaoCobrancaAcaoAtividadeCronograma = colecaoCobrancaAcaoAtividadeCronograma.iterator(); boolean achou = true; while (iteratorColecaoCobrancaAcaoAtividadeCronograma.hasNext() & achou) { CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma = (CobrancaAcaoAtividadeCronograma) iteratorColecaoCobrancaAcaoAtividadeCronograma.next(); if(cobrancaAcaoAtividadeCronograma.getRealizacao() == null & cobrancaAcaoAtividadeCronograma.getCobrancaAtividade().getIndicadorComando().shortValue() == (short)1){ primeiraCondicao = true; achou = false; } } } } boolean achou = true; //segunda condi��o if(cobrancaAcao.getCobrancaAcaoPredecessora() == null){ segundaCondicao = true; }else{ //pesquisa a cobranca acao cronograma filtroCobrancaAcaoCronograma = new FiltroCobrancaAcaoCronograma(); filtroCobrancaAcaoCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoCronograma.ID_COBRANCA_ACAO,cobrancaAcao.getCobrancaAcaoPredecessora().getId())); filtroCobrancaAcaoCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoCronograma.ID_COBRANCA_GRUPO_CRONOGRAMA_MES,cobrancaGrupoCronogramaMensal.getId())); colecaoCobrancaAcaoCronograma = fachada.pesquisar(filtroCobrancaAcaoCronograma,CobrancaAcaoCronograma.class.getName()); if(colecaoCobrancaAcaoCronograma != null && !colecaoCobrancaAcaoCronograma.isEmpty()){ cobrancaAcaoCronograma = (CobrancaAcaoCronograma) colecaoCobrancaAcaoCronograma.iterator().next(); //pesquisar crobranca acao atividade cronograma filtroCobrancaAcaoAtividadeCronograma = new FiltroCobrancaAcaoAtividadeCronograma(); filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade(FiltroCobrancaAcaoAtividadeCronograma.COBRANCA_ATIVIDADE); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ACAO_CRONOGRAMA,cobrancaAcaoCronograma.getId())); colecaoCobrancaAcaoAtividadeCronograma = fachada.pesquisar(filtroCobrancaAcaoAtividadeCronograma,CobrancaAcaoAtividadeCronograma.class.getName()); } if(colecaoCobrancaAcaoAtividadeCronograma != null && !colecaoCobrancaAcaoAtividadeCronograma.isEmpty()){ Iterator iteratorColecaoCobrancaAcaoAtividadeCronograma = colecaoCobrancaAcaoAtividadeCronograma.iterator(); while (iteratorColecaoCobrancaAcaoAtividadeCronograma.hasNext() & achou) { CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma = (CobrancaAcaoAtividadeCronograma) iteratorColecaoCobrancaAcaoAtividadeCronograma.next(); if(cobrancaAcaoAtividadeCronograma.getCobrancaAtividade().getIndicadorComando().shortValue() == (short)1){ if((cobrancaAcaoAtividadeCronograma.getRealizacao() != null) || (cobrancaAcaoAtividadeCronograma.getRealizacao() != null && (cobrancaAcaoAtividadeCronograma.getRealizacao().compareTo(cobrancaAcaoAtividadeCronograma.getComando()) <1 ))){ segundaCondicao = false; achou = false; } } } } if(!achou){ segundaCondicao = true; } } if(primeiraCondicao & segundaCondicao & terceiraCondicao){ colecaoCobranAcaoAptas.add(cobrancaAcao); } } if(colecaoCobranAcaoAptas != null && !colecaoCobranAcaoAptas.isEmpty()){ //carregar Acao de cobran�a aptos sessao.setAttribute("colecaoCobrancaAcao",colecaoCobranAcaoAptas); }else{ throw new ActionServletException("atencao.nenhuma.acao_cobranca", null,cobrancaGrupo.getId() + " no m�s corrente " + cobrancaGrupo.getAnoMesReferencia() + " j� foram realizadas"); } } else { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Tabela Cobran�a A��o"); } }else{ if (sessao.getAttribute("colecaoCobrancaGrupoCronogramaMensal") != null) { sessao.removeAttribute("colecaoCobrancaGrupoCronogramaMensal"); } if (sessao.getAttribute("colecaoCobrancaAcao") != null) { sessao.removeAttribute("colecaoCobrancaAcao"); } if (sessao.getAttribute("colecaoCobrancaAtividade") != null) { sessao.removeAttribute("colecaoCobrancaAtividade"); } } } //FIM VALIDAR COBRAN�A GRUPO SELECIONADO //INICIO DE VALIDAR COBRAN�A A��O SELECIONADA if(validarCobrancaAcao != null && !validarCobrancaAcao.equals("")){ String idAcaoCobranca = inserirComandoAcaoCobrancaCronogramaActionForm.getCobrancaAcao(); if(idAcaoCobranca != null && !idAcaoCobranca.equals("")){ if(sessao.getAttribute("cobrancaGrupo") != null && sessao.getAttribute("colecaoCobrancaGrupoCronogramaMensal") != null){ CobrancaGrupo cobrancaGrupo = (CobrancaGrupo)sessao.getAttribute("cobrancaGrupo"); Integer idCobrancaGrupoCronogramaMensalSelecionado = new Integer(inserirComandoAcaoCobrancaCronogramaActionForm.getReferenciaCobranca()); //validando a cobran�a a��o selecionada //essa valida��o � necess�ria pq a a��o pode ser carrega sem ter validado pelo [SF004] FiltroCobrancaAcao filtroCobrancaAcao = new FiltroCobrancaAcao(); filtroCobrancaAcao.adicionarParametro( new ParametroSimples("id", idAcaoCobranca)); Collection colecaoCobrancaAcao = (Collection) fachada.pesquisar(filtroCobrancaAcao,CobrancaAcao.class.getName()); CobrancaAcao cobrancaAcao = (CobrancaAcao) colecaoCobrancaAcao.iterator().next(); sessao.setAttribute("cobrancaAcao",cobrancaAcao); //pesquisa a cobranca acao cronograma FiltroCobrancaAcaoCronograma filtroCobrancaAcaoCronograma = new FiltroCobrancaAcaoCronograma(); filtroCobrancaAcaoCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoCronograma.ID_COBRANCA_ACAO,idAcaoCobranca)); filtroCobrancaAcaoCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoCronograma.ID_COBRANCA_GRUPO_CRONOGRAMA_MES,idCobrancaGrupoCronogramaMensalSelecionado)); Collection colecaoCobrancaAcaoCronograma = fachada.pesquisar(filtroCobrancaAcaoCronograma,CobrancaAcaoCronograma.class.getName()); CobrancaAcaoCronograma cobrancaAcaoCronograma = (CobrancaAcaoCronograma) colecaoCobrancaAcaoCronograma.iterator().next(); sessao.setAttribute("cobrancaAcaoCronogama",cobrancaAcaoCronograma); //CARREGAR COBRAN�A ATIVIDADE FiltroCobrancaAtividade filtroCobrancaAtividade = new FiltroCobrancaAtividade(); filtroCobrancaAtividade.setCampoOrderBy(FiltroCobrancaAtividade.DESCRICAO); filtroCobrancaAtividade.adicionarParametro( new ParametroSimples("indicadorComando", "1"));//valor 1 Collection colecaoCobrancaAtividade = (Collection) fachada.pesquisar(filtroCobrancaAtividade, CobrancaAtividade.class.getName()); //carregar as cobran�as atividades aptas if(colecaoCobrancaAtividade != null && !colecaoCobrancaAtividade.isEmpty()){ Collection colecaoCobrancaAtividadeAptas = new ArrayList(); Iterator iColecaoCobrancaAtividade = colecaoCobrancaAtividade.iterator(); while(iColecaoCobrancaAtividade.hasNext()){ boolean primeiraCondicao = false; boolean segundaCondicao = false; boolean terceiraCondicao = false; CobrancaAtividade cobrancaAtividade = (CobrancaAtividade) iColecaoCobrancaAtividade.next(); //terceira condi��o FiltroCobrancaAcaoAtividadeCronograma filtroCobrancaAcaoAtividadeCronograma = new FiltroCobrancaAcaoAtividadeCronograma(); filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade("cobrancaAcaoCronograma"); filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade(FiltroCobrancaAcaoAtividadeCronograma.COBRANCA_ATIVIDADE); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro( new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ATIVIDADE,cobrancaAtividade.getId() )); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro( new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ACAO_CRONOGRAMA,cobrancaAcaoCronograma.getId() )); Collection colecaoCobrancaAcaoAtividadeCronograma = (Collection) fachada.pesquisar(filtroCobrancaAcaoAtividadeCronograma,CobrancaAcaoAtividadeCronograma.class.getName()); if(colecaoCobrancaAcaoAtividadeCronograma != null && !colecaoCobrancaAcaoAtividadeCronograma.isEmpty()){ terceiraCondicao = true; } //primeira condi��o //pesquisar crobranca acao atividade cronograma /// FiltroCobrancaAcaoAtividadeCronograma filtroCobrancaAcaoAtividadeCronograma = new FiltroCobrancaAcaoAtividadeCronograma(); //filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade(FiltroCobrancaAcaoAtividadeCronograma.COBRANCA_ATIVIDADE); //filtroCobrancaAcaoAtividadeCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ACAO_CRONOGRAMA,cobrancaAcaoCronograma.getId()));; //filtroCobrancaAcaoAtividadeCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ATIVIDADE,cobrancaAtividade.getId()));; //Collection colecaoCobrancaAcaoAtividadeCronograma = fachada.pesquisar(filtroCobrancaAcaoAtividadeCronograma,CobrancaAcaoAtividadeCronograma.class.getName()); if(colecaoCobrancaAcaoAtividadeCronograma != null && !colecaoCobrancaAcaoAtividadeCronograma.isEmpty()){ boolean achou = true; Iterator iteratorCobrancaAcaoAtividadeCronograma = colecaoCobrancaAcaoAtividadeCronograma.iterator(); while (iteratorCobrancaAcaoAtividadeCronograma.hasNext() && achou) { CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma = (CobrancaAcaoAtividadeCronograma) iteratorCobrancaAcaoAtividadeCronograma.next(); if(cobrancaAcaoAtividadeCronograma.getRealizacao() == null){ primeiraCondicao = true; achou = false; } } } //segunda condi��o //pesquisar crobranca acao atividade cronograma if(cobrancaAtividade.getCobrancaAtividadePredecessora() == null){ segundaCondicao = true; }else{ //pesquisa pela predecesora filtroCobrancaAcaoAtividadeCronograma = new FiltroCobrancaAcaoAtividadeCronograma(); filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade(FiltroCobrancaAcaoAtividadeCronograma.COBRANCA_ATIVIDADE); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ACAO_CRONOGRAMA,cobrancaAcaoCronograma.getId())); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro(new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ATIVIDADE,cobrancaAtividade.getCobrancaAtividadePredecessora().getId())); colecaoCobrancaAcaoAtividadeCronograma = fachada.pesquisar(filtroCobrancaAcaoAtividadeCronograma,CobrancaAcaoAtividadeCronograma.class.getName()); boolean achou = true; if(colecaoCobrancaAcaoAtividadeCronograma != null && !colecaoCobrancaAcaoAtividadeCronograma.isEmpty()){ Iterator iteratorCobrancaAcaoAtividadeCronograma = colecaoCobrancaAcaoAtividadeCronograma.iterator(); while (iteratorCobrancaAcaoAtividadeCronograma.hasNext() && achou) { CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma = (CobrancaAcaoAtividadeCronograma) iteratorCobrancaAcaoAtividadeCronograma.next(); if(cobrancaAcaoAtividadeCronograma.getRealizacao() != null){ segundaCondicao = false; achou = false; } } } if(!achou){ segundaCondicao = true; } } if(primeiraCondicao & segundaCondicao & terceiraCondicao){ colecaoCobrancaAtividadeAptas.add(cobrancaAtividade); } } //[SF005] - Verificar sele��o de pelo menos uma atividade de cobran�a if(colecaoCobrancaAtividade != null && colecaoCobrancaAtividade.isEmpty()){ throw new ActionServletException("atencao.nenhuma.atividade_cobranca", null,idAcaoCobranca + " para o Grupo " + cobrancaGrupo.getId().toString()+ ", no m�s corrente " + cobrancaGrupo.getAnoMesReferencia() + ", j� foram realizadas"); }else{ //carregar atividade de cobran�a sessao.setAttribute("colecaoCobrancaAtividade",colecaoCobrancaAtividadeAptas); } } else { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Tabela Cobran�a Atividade"); } } }else{ if (sessao.getAttribute("colecaoCobrancaAtividade") != null) { sessao.removeAttribute("colecaoCobrancaAtividade"); } } } //validar a cobran�a atividade selecionada if(validarCobrancaAtividade != null && !validarCobrancaAtividade.equals("")){ String idAtividade = inserirComandoAcaoCobrancaCronogramaActionForm.getCobrancaAtividade(); if(idAtividade != null && !idAtividade.equals("")){ if( sessao.getAttribute("colecaoCobrancaGrupoCronogramaMensal") != null && sessao.getAttribute("cobrancaAcaoCronogama") != null){ CobrancaAcaoCronograma cobrancaAcaoCronogama = (CobrancaAcaoCronograma) sessao.getAttribute("cobrancaAcaoCronogama"); FiltroCobrancaAtividade filtroCobrancaAtividade = new FiltroCobrancaAtividade(); filtroCobrancaAtividade.adicionarParametro( new ParametroSimples("id",idAtividade )); Collection colecaoCobrancaAtividade = (Collection) fachada.pesquisar(filtroCobrancaAtividade,CobrancaAtividade.class.getName()); CobrancaAtividade cobrancaAtividade = (CobrancaAtividade) colecaoCobrancaAtividade.iterator().next(); FiltroCobrancaAcaoAtividadeCronograma filtroCobrancaAcaoAtividadeCronograma = new FiltroCobrancaAcaoAtividadeCronograma(); filtroCobrancaAcaoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade("cobrancaAcaoCronograma"); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro( new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ATIVIDADE,idAtividade )); filtroCobrancaAcaoAtividadeCronograma.adicionarParametro( new ParametroSimples(FiltroCobrancaAcaoAtividadeCronograma.ID_COBRANCA_ACAO_CRONOGRAMA,cobrancaAcaoCronogama.getId() )); Collection colecaoCobrancaAcaoAtividadeCronograma = (Collection) fachada.pesquisar(filtroCobrancaAcaoAtividadeCronograma,CobrancaAcaoAtividadeCronograma.class.getName()); //[FS006] - Verificar exist�ncia da atividade no cronograma do grupo do m�s corrente // if(!(colecaoCobrancaAcaoAtividadeCronograma != null && !colecaoCobrancaAcaoAtividadeCronograma.isEmpty())){ //throw new ActionServletException("atencao.nenhuma.atividade_grupo_acao", // null, cobrancaGrupo.getId().toString() + ", do M�s Corrente " + cobrancaGrupo.getAnoMesReferencia() + ", n�o existe a Atividade " + cobrancaAtividade.getDescricaoCobrancaAtividade() + " para a A��o " + cobrancaAcao.getDescricaoCobrancaAcao()); // } CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma = (CobrancaAcaoAtividadeCronograma)colecaoCobrancaAcaoAtividadeCronograma.iterator().next(); sessao.setAttribute("cobrancaAtividade",cobrancaAtividade); sessao.setAttribute("cobrancaAcaoAtividadeCronograma",cobrancaAcaoAtividadeCronograma); } } } return retorno; } }