package gcom.gui.relatorio.cobranca; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.FiltroEmpresa; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.fachada.Fachada; 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 org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0868]-Gerar Relat�rio de Pagamentos das Contas em Cobranca por Empresas * * @author R�mulo Aur�lio * @date 08/01/2009 */ public class ExibirGerarRelatorioPagamentosContasCobrancaEmpresaAction extends GcomAction { /** * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirGerarRelatorioPagamentosContasCobrancaEmpresaAction"); GerarRelatorioPagamentosContasCobrancaEmpresaActionForm form = (GerarRelatorioPagamentosContasCobrancaEmpresaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); this.pesquisarCampoEnter(httpServletRequest, form, fachada); if (httpServletRequest.getParameter("menu") != null) { form.setOpcaoRelatorio(ConstantesSistema.INDICADOR_USO_ATIVO .toString()); form.setOpcaoTotalizacao("estado"); } FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); Collection<GerenciaRegional> gerenciasRegionais = fachada.pesquisar( filtroGerenciaRegional, GerenciaRegional.class.getName()); httpServletRequest.setAttribute("colecaoGerenciaRegional", gerenciasRegionais); FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); Collection<UnidadeNegocio> colecaoUnidadeNegocio = fachada.pesquisar( filtroUnidadeNegocio, UnidadeNegocio.class.getName()); httpServletRequest.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); // Pega os codigos que o usuario digitou para a pesquisa direta de // localidade String codigoLocalidade = httpServletRequest .getParameter("codigoLocalidade"); if (codigoLocalidade != null && !codigoLocalidade.trim().equals("")) { pesquisarLocalidade(codigoLocalidade, httpServletRequest); } return retorno; } private void pesquisarCampoEnter(HttpServletRequest httpServletRequest, GerarRelatorioPagamentosContasCobrancaEmpresaActionForm form, Fachada fachada) { String idEmpresa = form.getIdEmpresa(); // Pesquisa a empresa if (idEmpresa != null && !idEmpresa.trim().equals("")) { FiltroEmpresa filtroEmpresa = new FiltroEmpresa(); filtroEmpresa.adicionarParametro(new ParametroSimples( FiltroEmpresa.ID, idEmpresa)); Collection colecaoEmpresa = fachada.pesquisar(filtroEmpresa, Empresa.class.getName()); if (colecaoEmpresa != null && !colecaoEmpresa.isEmpty()) { Empresa empresa = (Empresa) Util .retonarObjetoDeColecao(colecaoEmpresa); form.setIdEmpresa(empresa.getId().toString()); form.setNomeEmpresa(empresa.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "idEmpresa"); } else { form.setIdEmpresa(""); form.setNomeEmpresa("EMPRESA INEXISTENTE"); httpServletRequest.setAttribute("empresaInexistente", true); httpServletRequest.setAttribute("nomeCampo", "idEmpresa"); } } else { form.setNomeEmpresa(""); } } /** * Pesquisa uma localidade informada e prepara os dados para exibi��o na * tela * */ private void pesquisarLocalidade(String idLocalidade, HttpServletRequest httpServletRequest) { Fachada fachada = Fachada.getInstancia(); // Pesquisa a localidade na base FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidade)); Collection<Localidade> localidadePesquisada = fachada.pesquisar( filtroLocalidade, Localidade.class.getName()); // Se nenhuma localidade for encontrada a mensagem � enviada para a // p�gina if (localidadePesquisada == null || localidadePesquisada.isEmpty()) { // [FS0001 - Verificar exist�ncia de dados] httpServletRequest.setAttribute("codigoLocalidade", ""); httpServletRequest.setAttribute("descricaoLocalidade", "Localidade Inexistente".toUpperCase()); } // obtem o imovel pesquisado if (localidadePesquisada != null && !localidadePesquisada.isEmpty()) { Localidade localidade = localidadePesquisada.iterator().next(); // Manda a Localidade pelo request httpServletRequest.setAttribute("codigoLocalidade", idLocalidade); httpServletRequest.setAttribute("descricaoLocalidade", localidade .getDescricao()); } } }