package gcom.relatorio.atendimentopublico; import gcom.atendimentopublico.ordemservico.bean.RelacaoOrdensServicoConcluidasHelper; 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 3 - Por Local de Instalacao - Relatorio Relacao das Ordens de Servico Concluidas. * * @author Ivan S�rgio * @created 04/04/2008 * */ public class RelatorioRelacaoOrdensServicoConcluidas extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioRelacaoOrdensServicoConcluidas(Usuario usuario, String nomeRelatorio) { super(usuario, nomeRelatorio); } @Deprecated public RelatorioRelacaoOrdensServicoConcluidas() { super(null, ""); } public Object executar() throws TarefaException { // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ String tipoOrdem = (String) getParametro("tipoOrdem"); String situacaoOrdemServico = (String) getParametro("situacaoOrdemServico").toString(); 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").toString(); String idSetorComercialInicial = (String) getParametro("idSetorComercialFinal"); 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<RelatorioRelacaoOrdensServicoConcluidasBean> relatorioBeans = new ArrayList<RelatorioRelacaoOrdensServicoConcluidasBean>(); Fachada fachada = Fachada.getInstancia(); RelatorioRelacaoOrdensServicoConcluidasBean relatorioBean = null; Collection<RelacaoOrdensServicoConcluidasHelper> colecaoDadosHelper = fachada .pesquisarOrdemServicoConcluidaGerarRelatorioAcompanhamentoHidrometro( firma, tipoOrdem, situacaoOrdemServico, idLocalidadeInicial, idLocalidadeFinal, dataEncerramentoInicial, dataEncerramentoFinal, idMotivoEncerramento, idSetorComercialInicial, idSetorComercialFinal, codigoQuadraInicial, codigoQuadraFinal, codigoRotaInicial, codigoRotaFinal, sequenciaRotaInicial, sequenciaRotaFinal); if (colecaoDadosHelper != null && !colecaoDadosHelper.isEmpty()) { Iterator<RelacaoOrdensServicoConcluidasHelper> iColecaoDados = colecaoDadosHelper.iterator(); while (iColecaoDados.hasNext()) { //dados = (Object[]) iColecaoDados.next(); RelacaoOrdensServicoConcluidasHelper helper = iColecaoDados.next(); relatorioBean = new RelatorioRelacaoOrdensServicoConcluidasBean(); // 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()); // Id do Local de Instalacao do Hidrometro relatorioBean.setIdLocalInstalacao(helper.getIdLocalInstalacaoHidrometro().toString()); // Descricao do Local de Instalacao do Hidrometro relatorioBean.setDescricaoLocalInstalacao(helper.getDescricaoLocalInstalacaoHidrometro()); // adiciona o bean a cole��o relatorioBeans.add(relatorioBean); } // Par�metros do relat�rio Map<String, String> parametros = new HashMap<String, String>(); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); // cria uma inst�ncia do dataSource do relat�rio RelatorioDataSource ds = new RelatorioDataSource(relatorioBeans); if(this.nomeRelatorio.equals(ConstantesRelatorios.RELATORIO_RELACAO_ORDENS_SERVICO_ENCERRADAS_MOTIVO_ENCERRAMENTO)){ retorno = gerarRelatorio( ConstantesRelatorios.RELATORIO_RELACAO_ORDENS_SERVICO_ENCERRADAS_MOTIVO_ENCERRAMENTO, parametros, ds, tipoFormatoRelatorio); }else{ retorno = gerarRelatorio( ConstantesRelatorios.RELATORIO_RELACAO_ORDENS_SERVICO_CONCLUIDAS, parametros, ds, tipoFormatoRelatorio); } // Grava o relat�rio no sistema try { persistirRelatorioConcluido(retorno, Relatorio.RELATORIO_RELACAO_OS_CONCLUIDAS, 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("RelatorioRelacaoOrdensServicoConcluidas", this); } }