package gcom.gui.faturamento; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoAtividadeCronograma; import gcom.faturamento.FaturamentoGrupo; import gcom.faturamento.FiltroFaturamentoGrupo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import java.util.Collection; import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; 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; public class PesquisarPosicaoFaturamentoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping.findForward("posicaoFaturamento"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = request.getSession(false); sessao.removeAttribute("mapPagina"); FiltroFaturamentoGrupo filtroFaturamentoGrupo = new FiltroFaturamentoGrupo(); filtroFaturamentoGrupo .setCampoOrderBy(FiltroFaturamentoGrupo.DESCRICAO); Collection colecaoFaturamentoGrupo = fachada.pesquisar( filtroFaturamentoGrupo, FaturamentoGrupo.class.getName()); /*Iterator iteratorFaturamentoGrupo =*/ colecaoFaturamentoGrupo.iterator(); Map<FaturamentoGrupo, Collection<FaturamentoAtividadeCronograma>> mapPagina = new TreeMap( new Comparator() { public int compare(Object a, Object b) { String descricao1 = ((FaturamentoGrupo) a) .getDescricao(); String descricao2 = ((FaturamentoGrupo) b) .getDescricao(); return descricao1.compareTo(descricao2); } }); Iterator iteratorFaturamentoGrupo2 = colecaoFaturamentoGrupo.iterator(); while (iteratorFaturamentoGrupo2.hasNext()) { FaturamentoGrupo faturamentoGrupo = (FaturamentoGrupo) iteratorFaturamentoGrupo2 .next(); Collection<FaturamentoAtividadeCronograma> colecaoFaturamentoAtividadeCronograma = Fachada .getInstancia().pesquisarRelacaoAtividadesGrupo( faturamentoGrupo.getId()); if (colecaoFaturamentoAtividadeCronograma != null && !colecaoFaturamentoAtividadeCronograma.isEmpty()) { mapPagina.put(faturamentoGrupo, colecaoFaturamentoAtividadeCronograma); } } if(mapPagina.size() == 0) { throw new ActionServletException( "atencao.nao.ha.cronograma.faturamento", null, ""); } sessao.setAttribute("mapPagina", mapPagina); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); request.setAttribute("mesAno", Util.formatarAnoMesParaMesAno(sistemaParametro.getAnoMesFaturamento())); return retorno; } }