package gcom.relatorio.atendimentopublico; import gcom.atendimentopublico.ordemservico.bean.RelacaoOrdensServicoEncerradasPendentesHelper; import gcom.batch.Relatorio; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; 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 java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * [UC0432] - Gerar Relatorio Acompanhamento Ordem de Servico de Hidrometro * * Tipo 1 - Analitico - Relatorio Relacao das Ordens de Servico Encerradas/Pendentes * * @author Ivan S�rgio * @created 12/12/2007, 27/03/2008 * @alteracao: Adicionado Motivo Encerramento; Setor Comercial; */ public class RelatorioRelacaoOrdensServicoEncerradasPendentes extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioRelacaoOrdensServicoEncerradasPendentes(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_RELACAO_ORDENS_SERVICO_ENCERRADAS_PENDENTES); } @Deprecated public RelatorioRelacaoOrdensServicoEncerradasPendentes() { super(null, ""); } public Object executar() throws TarefaException { // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ String tipoOrdem = (String) getParametro("tipoOrdem"); String situacaoOrdemServico = (String) getParametro("situacaoOrdemServico"); String firma = (String) getParametro("firma"); String nomeFirma = (String) getParametro("nomeFirma"); String idLocalidadeInicial = (String) getParametro("idLocalidadeInicial"); String idLocalidadeFinal = (String) getParametro("idLocalidadeFinal"); String dataEncerramentoInicial = (String) getParametro("dataEncerramentoInicial"); String dataEncerramentoFinal = (String) getParametro("dataEncerramentoFinal"); String idMotivoEncerramento = (String) getParametro("idMotivoEncerramento"); String idSetorComercialInicial = (String) getParametro("idSetorComercialInicial"); String idSetorComercialFinal = (String) getParametro("idSetorComercialFinal"); String codigoQuadraInicial = (String) getParametro("codigoQuadraInicial"); String codigoQuadraFinal = (String) getParametro("codigoQuadraFinal"); String codigoRotaInicial = (String) getParametro("codigoRotaInicial"); String codigoRotaFinal = (String) getParametro("codigoRotaFinal"); String sequenciaRotaInicial = (String) getParametro("sequenciaRotaInicial"); String sequenciaRotaFinal = (String) getParametro("sequenciaRotaFinal"); int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); // valor de retorno byte[] retorno = null; // cole��o de beans do relat�rio List relatorioBeans = new ArrayList(); Fachada fachada = Fachada.getInstancia(); RelatorioRelacaoOrdensServicoEncerradasPendentesBean relatorioBean = null; Collection colecaoDadosHelper = fachada .pesquisarOrdemServicoGerarRelatorioAcompanhamentoHidrometro( firma, tipoOrdem, situacaoOrdemServico, idLocalidadeInicial, idLocalidadeFinal, dataEncerramentoInicial, dataEncerramentoFinal, idMotivoEncerramento, idSetorComercialInicial, idSetorComercialFinal, codigoQuadraInicial, codigoQuadraFinal, codigoRotaInicial, codigoRotaFinal, sequenciaRotaInicial, sequenciaRotaFinal); if (colecaoDadosHelper != null && !colecaoDadosHelper.isEmpty()) { Iterator iColecaoDados = colecaoDadosHelper.iterator(); while (iColecaoDados.hasNext()) { //dados = (Object[]) iColecaoDados.next(); RelacaoOrdensServicoEncerradasPendentesHelper helper = (RelacaoOrdensServicoEncerradasPendentesHelper) iColecaoDados.next(); relatorioBean = new RelatorioRelacaoOrdensServicoEncerradasPendentesBean(); // Numero da Ordem relatorioBean.setNumeroOrdem(helper.getIdOrdemServico().toString()); // Imovel Selecionado relatorioBean.setImovel(helper.getIdImovel().toString()); // Localidade relatorioBean.setIdLocalidade(helper.getIdLocalidade().toString()); // Inscricao do Imovel Imovel imovel = new Imovel(); Localidade localidade = new Localidade(); localidade.setId(helper.getIdLocalidade()); SetorComercial setorComercial = new SetorComercial(); setorComercial.setCodigo(helper.getCodigoSetorComercial()); Quadra quadra = new Quadra(); quadra.setNumeroQuadra(helper.getNumeroQuadra()); imovel.setId(helper.getIdImovel()); imovel.setLocalidade(localidade); imovel.setSetorComercial(setorComercial); imovel.setQuadra(quadra); imovel.setLote(helper.getLote()); imovel.setSubLote(helper.getSubLote()); relatorioBean.setInscricao(imovel.getInscricaoFormatada()); // Data Geracao relatorioBean.setDataGeracao(helper.getDataGeracao()); // Data Encerramento relatorioBean.setDataEncerramento(helper.getDataEncerramento()); // Motivo Encerramento relatorioBean.setMotivoEncerramento(helper.getMotivoEncerramento()); // Situacao selecionada relatorioBean.setSituacao(situacaoOrdemServico); // Tipo do Servico relatorioBean.setTipoServico(tipoOrdem); // Periodo encerramento if (dataEncerramentoInicial != null && !dataEncerramentoInicial.equals("") && dataEncerramentoFinal != null && !dataEncerramentoFinal.equals("")) { relatorioBean.setPeriodoEncerramento(dataEncerramentoInicial + " � " + dataEncerramentoFinal); }else { relatorioBean.setPeriodoEncerramento(""); } // Nome Localidade relatorioBean.setNomeLocalidade(helper.getNomeLocalidade()); // Firma relatorioBean.setFirma(firma); // Nome Firma relatorioBean.setNomeFirma(nomeFirma); // Endereco abreviado relatorioBean.setEndereco(fachada.obterEnderecoAbreviadoImovel(imovel.getId())); // Id do Setor Comercial relatorioBean.setIdSetorComercial(helper.getIdSetorComercial().toString()); // Codigo Setor Comercial relatorioBean.setCodigoSetorComercial(helper.getCodigoSetorComercial().toString()); // Nome Setor Comercial relatorioBean.setNomeSetorComercial(helper.getNomeSetorComercial()); // adiciona o bean a cole��o relatorioBeans.add(relatorioBean); } // Par�metros do relat�rio Map parametros = new HashMap(); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); // cria uma inst�ncia do dataSource do relat�rio RelatorioDataSource ds = new RelatorioDataSource(relatorioBeans); retorno = gerarRelatorio( ConstantesRelatorios.RELATORIO_RELACAO_ORDENS_SERVICO_ENCERRADAS_PENDENTES, parametros, ds, tipoFormatoRelatorio); // Grava o relat�rio no sistema try { persistirRelatorioConcluido(retorno, Relatorio.RELATORIO_RELACAO_OS_ENCERRADAS_PENDENTES, idFuncionalidadeIniciada); } catch (ControladorException e) { e.printStackTrace(); throw new TarefaException("Erro ao gravar relat�rio no sistema", e); } // ------------------------------------ }else { throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } // retorna o relat�rio gerado return retorno; } @Override public int calcularTotalRegistrosRelatorio() { return 0; } public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioRelacaoOrdensServicoEncerradasPendentes", this); } }