package gcom.gui.faturamento; import gcom.faturamento.FaturamentoGrupoCronogramaMensal; import gcom.faturamento.FiltroFaturamentoGrupoCronogramaMensal; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import java.util.Collection; import java.util.Map; 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; /** * < <Descri��o da Classe>> * * @author Administrador */ public class ExibirManterFaturamentoCronogramaAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("manterFaturamentoCronograma"); // Fachada fachada = Fachada.getInstancia(); //Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); String identificadorAtualizar = (String)sessao.getAttribute("indicadorAtualizar"); FiltroFaturamentoGrupoCronogramaMensal filtroFaturamentoGrupoCronogramaMensal = (FiltroFaturamentoGrupoCronogramaMensal) sessao .getAttribute("filtroFaturamentoGrupoCronogramaMensal"); // FiltroFaturamentoGru // Collection faturamentoGrupos = fachada.pesquisar( // filtroFaturamentoGrupo, FaturamentoGrupo.class.getName()); // //Cole�ao q vai guardar os faturamentos grupos cronogramas mensais // // filtrados // Collection faturamentoGrupoCronogramaMensaisFiltrados = new HashSet(); // FiltroFaturamentoGrupoCronogramaMensal filtroFaturamentoGrupoCronogramaMensal = new FiltroFaturamentoGrupoCronogramaMensal(); // if (!faturamentoGrupos.isEmpty()) { // Iterator iteratorFaturamentoGrupo = faturamentoGrupos.iterator(); // FaturamentoGrupo faturamentoGrupo = (FaturamentoGrupo) faturamentoGrupos // .iterator().next(); // // filtroFaturamentoGrupoCronogramaMensal // .adicionarParametro(new ParametroSimples( // FiltroFaturamentoGrupoCronogramaMensal.ID_FATURAMENTO_GRUPO, // filtroFaturamentoGrupoCronogramaMensalSessao.getId())); // filtroFaturamentoGrupoCronogramaMensal // .adicionarParametro(new MaiorQue( // FiltroFaturamentoGrupoCronogramaMensal.ANO_MES_REFERENCIA, // faturamentoGrupo.getAnoMesReferencia())); // // filtroFaturamentoGrupoCronogramaMensal.setCampoOrderBy(FiltroFaturamentoGrupoCronogramaMensal.REFERENCIA); // if(httpServletRequest.getAttribute("anoMes") != null && !httpServletRequest.getAttribute("anoMes").toString().trim().equalsIgnoreCase("")){ // filtroFaturamentoGrupoCronogramaMensal.adicionarParametro(new ParametroSimples(FiltroFaturamentoGrupoCronogramaMensal.ANO_MES_REFERENCIA, // httpServletRequest.getAttribute("anoMes").toString())); // } // novo componente de pagina��o filtroFaturamentoGrupoCronogramaMensal.adicionarCaminhoParaCarregamentoEntidade("faturamentoGrupo"); filtroFaturamentoGrupoCronogramaMensal.setCampoOrderBy(FiltroFaturamentoGrupoCronogramaMensal.FATURAMENTO_GRUPO, FiltroFaturamentoGrupoCronogramaMensal.REFERENCIA); Map resultado = controlarPaginacao(httpServletRequest, retorno, filtroFaturamentoGrupoCronogramaMensal, FaturamentoGrupoCronogramaMensal.class.getName()); Collection faturamentoGrupoCronogramaMensais = (Collection) resultado.get("colecaoRetorno"); retorno = (ActionForward) resultado.get("destinoActionForward"); // [FS0004] Nenhum registro encontrado if (faturamentoGrupoCronogramaMensais == null || faturamentoGrupoCronogramaMensais.isEmpty()) { // Nenhuma Localidade cadastrado throw new ActionServletException("atencao.nao_cadastrado.faturamento_atividade_cronograma"); } //---Fim // Collection faturamentoGrupoCronogramaMensais = fachada.pesquisar( // filtroFaturamentoGrupoCronogramaMensal, // FaturamentoGrupoCronogramaMensal.class.getName()); //verifica se a algum Faturamento Grupo Cronograma Mensal a ser // retornado pelo filtro if(identificadorAtualizar == null){ identificadorAtualizar = httpServletRequest.getParameter("indicadorAtualizar"); } // if (!faturamentoGrupoCronogramaMensais.isEmpty()) { // // //ordena��o atrav�s do sort---Feita pelo mesAnoReferencia // Collections.sort((List) faturamentoGrupoCronogramaMensais, new Comparator() { // public int compare(Object a, Object b) { // String faturamentoGrupoCronogramaMensail1 = ((FaturamentoGrupoCronogramaMensal) a).getAnoMesReferencia().toString(); // String faturamentoGrupoCronogramaMensail2 = ((FaturamentoGrupoCronogramaMensal) b).getAnoMesReferencia().toString(); // // return faturamentoGrupoCronogramaMensail1.compareTo(faturamentoGrupoCronogramaMensail2); // } // }); // Iterator iteratorFaturamentoGrupoCronogramaMensal = faturamentoGrupoCronogramaMensais // .iterator(); // FiltroFaturamentoAtividadeCronograma filtroFaturamentoAtividadeCronograma = new FiltroFaturamentoAtividadeCronograma(); // FaturamentoGrupoCronogramaMensal faturamentoGrupoCronogramaMensal = null; // Collection faturamentoAtividadeCronogramas = null; // while (iteratorFaturamentoGrupoCronogramaMensal.hasNext()) { // //Procura Faturamento Atividade Cronogramas Associados a o // // Grupo Cronograma Mensal // faturamentoAtividadeCronogramas = null; // filtroFaturamentoAtividadeCronograma // .limparListaParametros(); // faturamentoGrupoCronogramaMensal = (FaturamentoGrupoCronogramaMensal) iteratorFaturamentoGrupoCronogramaMensal // .next(); // filtroFaturamentoAtividadeCronograma // .adicionarParametro(new ParametroSimples( // FiltroFaturamentoAtividadeCronograma.FATURAMENTO_GRUPO_CRONOGRAMA_MENSAL_ID, // faturamentoGrupoCronogramaMensal.getId())); // faturamentoAtividadeCronogramas = fachada.pesquisar( // filtroFaturamentoAtividadeCronograma, // FaturamentoAtividadeCronograma.class.getName()); // if (!faturamentoAtividadeCronogramas.isEmpty()) { // //Parte para testar se a alguma atividade em aberto // Iterator iteratorFaturamentoAtividadeCronograma = faturamentoAtividadeCronogramas // .iterator(); // FaturamentoAtividadeCronograma faturamentoAtividadeCronograma = null; // // while (iteratorFaturamentoAtividadeCronograma.hasNext()) { // faturamentoAtividadeCronograma = (FaturamentoAtividadeCronograma) iteratorFaturamentoAtividadeCronograma // .next(); // if (faturamentoAtividadeCronograma // .getDataRealizacao() == null) { // faturamentoGrupoCronogramaMensaisFiltrados // .add(faturamentoGrupoCronogramaMensal); // } // } // } // } // } // } if (faturamentoGrupoCronogramaMensais.isEmpty()) { throw new ActionServletException("atencao.nao_cadastrado.faturamento_atividade_cronograma"); } else { if(faturamentoGrupoCronogramaMensais.size() == 1 && identificadorAtualizar != null && !identificadorAtualizar.trim().equals("")){ // caso o resultado do filtro s� retorne um registro // e o check box Atualizar estiver selecionado //o sistema n�o exibe a tela de manter, exibe a de atualizar retorno = actionMapping.findForward("exibirAtualizar"); FaturamentoGrupoCronogramaMensal faturamentoGrupoCronogramaMensal = (FaturamentoGrupoCronogramaMensal)faturamentoGrupoCronogramaMensais.iterator().next(); sessao.setAttribute("idRegistroAtualizacao", new Integer (faturamentoGrupoCronogramaMensal.getId()).toString()); sessao.setAttribute("voltar", "filtrar"); }else{ sessao.setAttribute("faturamentoGruposCronogramaMensais", faturamentoGrupoCronogramaMensais); FaturamentoGrupoCronogramaMensal faturamentoGrupoCronogramaMensal = (FaturamentoGrupoCronogramaMensal)faturamentoGrupoCronogramaMensais.iterator().next(); sessao.setAttribute("idRegistroAtualizacao", new Integer (faturamentoGrupoCronogramaMensal.getId()).toString()); sessao.setAttribute("voltar", "manter"); } } return retorno; } }