package gcom.gui.relatorio.faturamento.conta; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.SetorComercial; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoGrupo; import gcom.faturamento.FiltroFaturamentoGrupo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * * Este caso de uso gera um pdf com as contas de acordo com o filtro selecionado * * [UCXXXX] Gerar Contas * * @author Rafael Corr�a * @date 27/07/2009 * */ public class ExibirGerarRelatorioContaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("gerarRelatorioConta"); Fachada fachada = Fachada.getInstancia(); GerarRelatorioContaActionForm form = (GerarRelatorioContaActionForm)actionForm; HttpSession sessao = httpServletRequest.getSession(false); //--------- SETANDO FOCO INICIAL E CARREGANDO AS COLE��ES QUE SER�O MOSTRADAS NA P�GINA INICIAL if (httpServletRequest.getParameter("menu")!= null && !httpServletRequest.getParameter("menu").equals("")){ httpServletRequest.setAttribute("nomeCampo", "mesAno"); //----- [FS0001 - VERIFICAR EXISTENCIA DE DADOS] -------- GRUPO FiltroFaturamentoGrupo filtroFaturamentoGrupo = new FiltroFaturamentoGrupo(FiltroFaturamentoGrupo.ID); Collection colecaoFaturamentoGrupo = fachada.pesquisar( filtroFaturamentoGrupo, FaturamentoGrupo.class.getName()); if (colecaoFaturamentoGrupo == null || colecaoFaturamentoGrupo.isEmpty()) { throw new ActionServletException("atencao.entidade_sem_dados_para_selecao", null,"Faturamento Grupo"); } sessao.setAttribute("colecaoFaturamentoGrupo", colecaoFaturamentoGrupo); } //---------- [FS0003 - VERIFICAR EXISTENCIA DA LOCALIDADE] String idLocalidadeInicialForm = form.getIdLocalidadeInicial(); if (idLocalidadeInicialForm != null && !idLocalidadeInicialForm.equals("")) { FiltroLocalidade filtroLocalidadeOrigem = new FiltroLocalidade(); filtroLocalidadeOrigem.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLocalidadeOrigem.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, new Integer(idLocalidadeInicialForm))); Collection colecaoLocalidadeOrigem = fachada.pesquisar(filtroLocalidadeOrigem, Localidade.class.getName()); if (colecaoLocalidadeOrigem != null && !colecaoLocalidadeOrigem.isEmpty()) { Localidade localidadeOrigem = (Localidade)colecaoLocalidadeOrigem.iterator().next(); form.setIdLocalidadeInicial(""+localidadeOrigem.getId()); form.setNomeLocalidadeInicial(localidadeOrigem.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "idLocalidadeFinal"); } else { form.setIdLocalidadeInicial(""); form.setNomeLocalidadeInicial("LOCALIDADE INEXISTENTE"); httpServletRequest.setAttribute("localidadeInicialInexistente",true); httpServletRequest.setAttribute("nomeCampo", "idLocalidadeInicial"); } } else { form.setNomeLocalidadeInicial(""); } String idLocalidadeFinalForm = form.getIdLocalidadeFinal(); if (idLocalidadeFinalForm != null && !idLocalidadeFinalForm.equals("")) { FiltroLocalidade filtroLocalidadeDestino = new FiltroLocalidade(); filtroLocalidadeDestino.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLocalidadeDestino.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, new Integer(idLocalidadeFinalForm))); Collection colecaoLocalidadeDestino = fachada.pesquisar(filtroLocalidadeDestino, Localidade.class.getName()); if (colecaoLocalidadeDestino != null && !colecaoLocalidadeDestino.isEmpty()) { Localidade localidadeDestino = (Localidade)colecaoLocalidadeDestino.iterator().next(); form.setIdLocalidadeFinal(""+localidadeDestino.getId()); form.setNomeLocalidadeFinal(localidadeDestino.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "referencia"); } else { form.setIdLocalidadeFinal(""); form.setNomeLocalidadeFinal("LOCALIDADE INEXISTENTE"); httpServletRequest.setAttribute("localidadeFinalInexistente",true); httpServletRequest.setAttribute("nomeCampo", "idLocalidadeFinal"); } } else { form.setNomeLocalidadeFinal(""); } String codigoSetorComercialInicial = form.getCodigoSetorComercialInicial(); if (codigoSetorComercialInicial != null && !codigoSetorComercialInicial.equals("") && idLocalidadeInicialForm != null && !idLocalidadeInicialForm.equals("")) { FiltroSetorComercial filtro = new FiltroSetorComercial(); filtro.adicionarParametro(new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, codigoSetorComercialInicial)); filtro.adicionarParametro(new ParametroSimples(FiltroSetorComercial.ID_LOCALIDADE, idLocalidadeInicialForm)); Collection pesquisa = (Collection) fachada.pesquisar(filtro, SetorComercial.class.getName()); if (pesquisa != null && !pesquisa.isEmpty()) { SetorComercial inicial = (SetorComercial) Util.retonarObjetoDeColecao(pesquisa); form.setCodigoSetorComercialInicial(inicial.getCodigo() + ""); form.setNomeSetorComercialInicial(inicial.getDescricao()); } else { form.setCodigoSetorComercialInicial(""); form.setNomeSetorComercialInicial("SETOR COMERCIAL INEXISTENTE"); httpServletRequest.setAttribute("setorComercialInicialInexistente",true); } } else { form.setCodigoSetorComercialInicial(""); form.setNomeSetorComercialInicial(""); } String codigoSetorComercialFinal = form.getCodigoSetorComercialFinal(); if (codigoSetorComercialFinal != null && !codigoSetorComercialFinal.equals("") && idLocalidadeFinalForm != null && !idLocalidadeFinalForm.equals("")) { FiltroSetorComercial filtro = new FiltroSetorComercial(); filtro.adicionarParametro(new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, codigoSetorComercialFinal)); filtro.adicionarParametro(new ParametroSimples(FiltroSetorComercial.ID_LOCALIDADE, idLocalidadeFinalForm)); Collection pesquisa = (Collection) fachada.pesquisar(filtro, SetorComercial.class.getName()); if (pesquisa != null && !pesquisa.isEmpty()) { SetorComercial Final = (SetorComercial) Util.retonarObjetoDeColecao(pesquisa); form.setCodigoSetorComercialFinal(Final.getCodigo() + ""); form.setNomeSetorComercialFinal(Final.getDescricao()); } else { form.setCodigoSetorComercialFinal(""); form.setNomeSetorComercialFinal("SETOR COMERCIAL INEXISTENTE"); httpServletRequest.setAttribute("setorComercialFinalInexistente",true); } } else { form.setCodigoSetorComercialFinal(""); form.setNomeSetorComercialFinal(""); } return retorno; } }