package gcom.relatorio.cadastro; import gcom.batch.Relatorio; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.relatorio.ConstantesRelatorios; import gcom.relatorio.RelatorioDataSource; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaException; import gcom.tarefa.TarefaRelatorio; import gcom.util.ControladorException; import gcom.util.agendadortarefas.AgendadorTarefas; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * [UC1076] Gerar Relat�rio Atualiza��es Cadastrais Via Internet. * * @author Daniel Alves * @date 28/09/2010 * * "Relatorio de Resumo" */ public class RelatorioResumoAtualizacaoCadastralViaInternet extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioResumoAtualizacaoCadastralViaInternet(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_RESUMO_ATUALIZACAO_CADASTRAL_VIA_INTERNET); } @Deprecated public RelatorioResumoAtualizacaoCadastralViaInternet() { super(null, ""); } /** * M�todo que executa a tarefa * * @return Object * */ public Object executar() throws TarefaException { // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ Fachada fachada = Fachada.getInstancia(); String filtroPeriodoInicial = (String) getParametro("filtroPeriodoInicial"); String filtroPeriodoFinal = (String) getParametro("filtroPeriodoFinal"); String filtroGerenciaRegional = (String) getParametro("filtroGerenciaRegional"); String filtroUnidadeNegocio = (String) getParametro("filtroUnidadeNegocio"); String filtroLocalidadeInicial = (String) getParametro("filtroLocalidadeInicial"); String filtroLocalidadeFinal = (String) getParametro("filtroLocalidadeFinal"); int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); //Parametros String gerencia = ""; String unidade = ""; // cole��o de beans do relat�rio List relatorioBeans = new ArrayList(); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); GerarRelatorioAtualizacaoCadastralViaInternetHelper filtro = new GerarRelatorioAtualizacaoCadastralViaInternetHelper(); filtro.setPeriodoReferenciaInicial(filtroPeriodoInicial); filtro.setPeriodoReferenciaFinal(filtroPeriodoFinal); if(filtroGerenciaRegional != null && !filtroGerenciaRegional.equals("-1")){ filtro.setIdGerenciaRegional(Integer.parseInt(filtroGerenciaRegional)); FiltroGerenciaRegional pesquisaGerenciaRegional = new FiltroGerenciaRegional(); pesquisaGerenciaRegional.adicionarParametro(new ParametroSimples(FiltroGerenciaRegional.ID, filtroGerenciaRegional)); Collection<GerenciaRegional> colecaoGerencias = fachada.pesquisar(pesquisaGerenciaRegional, GerenciaRegional.class.getName()); for (GerenciaRegional gerenciaRegional : colecaoGerencias) { gerencia = gerenciaRegional.getNome(); } } if(filtroUnidadeNegocio != null && !filtroUnidadeNegocio.equals("-1")){ filtro.setIdUnidadeNegocio(Integer.parseInt(filtroUnidadeNegocio)); FiltroUnidadeNegocio pesquisaUnidadeNegocio = new FiltroUnidadeNegocio(); pesquisaUnidadeNegocio.adicionarParametro(new ParametroSimples(FiltroUnidadeNegocio.ID, filtroUnidadeNegocio)); Collection<UnidadeNegocio> colecaoUnidade = fachada.pesquisar(pesquisaUnidadeNegocio, UnidadeNegocio.class.getName()); for (UnidadeNegocio unidadeNegocio : colecaoUnidade) { unidade = unidadeNegocio.getNome(); } } if(filtroLocalidadeInicial != null && !filtroLocalidadeInicial.equals("") && filtroLocalidadeFinal != null && !filtroLocalidadeFinal.equals("")){ filtro.setIdLocalidadeInicial(Integer.parseInt(filtroLocalidadeInicial)); filtro.setIdLocalidadeFinal(Integer.parseInt(filtroLocalidadeFinal)); } Collection colecaResumoAtualizacaoCadastralViaInternet = null; try { colecaResumoAtualizacaoCadastralViaInternet = fachada.pesquisarDadosRelatorioResumoAtualizacaoCadastralViaInternet(filtro); } catch (ControladorException e1) { //throw new ActionServletException("atencao.naocadastrado", null, "Unidade de Neg�cio"); } Iterator iterator = colecaResumoAtualizacaoCadastralViaInternet.iterator(); RelatorioResumoAtualizacaoCadastralViaInternetBean relatorioBean = null; while(iterator.hasNext()){ relatorioBean = new RelatorioResumoAtualizacaoCadastralViaInternetBean(); Object[] obj = (Object[]) iterator.next(); relatorioBean.setQuantidadeNome(obj[0]!=null?(Integer)obj[0]:0); relatorioBean.setQuantidadeCPF(obj[1]!=null?(Integer)obj[1]:0); relatorioBean.setQuantidadeCNPJ(obj[2]!=null?(Integer)obj[2]:0); relatorioBean.setQuantidadeEmail(obj[3]!=null?(Integer)obj[3]:0); relatorioBean.setQuantidadeClientesAlterados(obj[4]!=null?(Integer)obj[4]:0); relatorioBeans.add(relatorioBean); } // valor de retorno byte[] retorno = null; // Par�metros do relat�rio Map<String, String> parametros = new HashMap(); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); parametros.put("filtroGerenciaRegional", gerencia); parametros.put("filtroUnidadeNegocio", unidade); parametros.put("filtroLocalidadeInicial", filtroLocalidadeInicial); parametros.put("filtroLocalidadeFinal", filtroLocalidadeFinal); parametros.put("filtroPeriodoInicial", filtroPeriodoInicial); parametros.put("filtroPeriodoFinal", filtroPeriodoFinal); parametros.put("tipoRelatorio", "R1076"); RelatorioDataSource ds = new RelatorioDataSource((java.util.List) relatorioBeans); retorno = this.gerarRelatorio( ConstantesRelatorios.RELATORIO_RESUMO_ATUALIZACAO_CADASTRAL_VIA_INTERNET, parametros, ds, tipoFormatoRelatorio); // ------------------------------------ // Grava o relat�rio no sistema try { persistirRelatorioConcluido(retorno, Relatorio.RELATORIO_RESUMO_ATUALIZACAO_CADASTRAL_VIA_INTERNET, idFuncionalidadeIniciada); } catch (ControladorException e) { e.printStackTrace(); throw new TarefaException("Erro ao gravar relat�rio no sistema", e); } // ------------------------------------ // retorna o relat�rio gerado return retorno; } @Override public int calcularTotalRegistrosRelatorio() { return 0; } public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioResumoAtualizacaoCadastralViaInternet", this); } }