package gcom.relatorio.atendimentopublico; import gcom.atendimentopublico.registroatendimento.AtendimentoRelacaoTipo; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoUnidade; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoUnidade; import gcom.atendimentopublico.registroatendimento.bean.ObterDadosRegistroAtendimentoHelper; import gcom.batch.Relatorio; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.relatorio.ConstantesRelatorios; import gcom.relatorio.RelatorioDataSource; import gcom.relatorio.RelatorioVazioException; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaException; import gcom.tarefa.TarefaRelatorio; import gcom.util.ControladorException; import gcom.util.Util; import gcom.util.agendadortarefas.AgendadorTarefas; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * classe respons�vel por criar o relat�rio de regitro atendimento manter de * �gua * * @author Rafael Corr�a * @created 11 de Julho de 2005 */ public class RelatorioConsultarRegistroAtendimento extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioConsultarRegistroAtendimento(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_CONSULTAR_REGISTRO_ATENDIMENTO); } @Deprecated public RelatorioConsultarRegistroAtendimento() { super(null, ""); } /** * < <Descri��o do m�todo>> * * @param bairros * Description of the Parameter * @param bairroParametros * Description of the Parameter * @return Descri��o do retorno * @exception RelatorioVazioException * Descri��o da exce��o */ public Object executar() throws TarefaException { // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ Integer idRegistroAtendimento = (Integer) getParametro("idRegistroAtendimento"); 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(); RelatorioConsultarRegistroAtendimentoBean relatorioBean = null; RelatorioConsultarRegistroAtendimentoDetailBean relatorioDetailBean = null; ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper = fachada .obterDadosRegistroAtendimento(idRegistroAtendimento); // Seta um valor para um indicador que ser� comparado no relat�rio para // imprimir o t�tulo associado do n�mero e da situa��o da RA String indicadorAssociado = ""; if (registroAtendimentoHelper.getTituloNumeroRAAssociado() != null && registroAtendimentoHelper.getTituloNumeroRAAssociado() .equalsIgnoreCase("N�mero do RA de Refer�ncia:")) { indicadorAssociado = "1"; } else if (registroAtendimentoHelper.getTituloNumeroRAAssociado() != null && registroAtendimentoHelper.getTituloNumeroRAAssociado() .equalsIgnoreCase("N�mero do RA Atual:")) { indicadorAssociado = "2"; } else if (registroAtendimentoHelper.getTituloNumeroRAAssociado() != null && registroAtendimentoHelper.getTituloNumeroRAAssociado() .equalsIgnoreCase("N�mero do RA Anterior:")) { indicadorAssociado = "3"; } String unidadeEncerramento = ""; String usuarioEncerramento = ""; UnidadeOrganizacional unidadeEncerramentoRA = fachada.obterUnidadeEncerramentoRA(registroAtendimentoHelper.getRegistroAtendimento().getId()); if(unidadeEncerramentoRA != null){ unidadeEncerramento = unidadeEncerramentoRA.getId() + " - " + unidadeEncerramentoRA.getDescricao(); RegistroAtendimentoUnidade registroAtendimentoUnidade = this.consultarRegistroAtendimentoUnidade(registroAtendimentoHelper.getRegistroAtendimento().getId(),unidadeEncerramentoRA.getId()); Usuario usuario = registroAtendimentoUnidade.getUsuario(); if(usuario != null){ usuarioEncerramento = usuario.getId() + " - " + usuario.getNomeUsuario(); } } // Montando Bean Detail Collection<RelatorioConsultarRegistroAtendimentoDetailBean> colecaoDetail = new ArrayList<RelatorioConsultarRegistroAtendimentoDetailBean>(); Collection colecaoDadosReiteracao = new ArrayList(); colecaoDadosReiteracao = fachada.pesquisarDadosReiteracao(registroAtendimentoHelper.getRegistroAtendimento().getId()); Iterator iColecaoDadosReiteracao = colecaoDadosReiteracao.iterator(); while (iColecaoDadosReiteracao.hasNext()){ Object[] dadosReiteracao = (Object[]) iColecaoDadosReiteracao.next(); Date dt = (Date) dadosReiteracao[0]; String dataHora = Util.formatarDataComHora(dt); String nomeSolicitante = ""; if (dadosReiteracao[1] != null){ nomeSolicitante = dadosReiteracao[1].toString(); } else if (dadosReiteracao[2] != null){ nomeSolicitante = dadosReiteracao[2].toString(); } else if (dadosReiteracao[3] != null){ nomeSolicitante = dadosReiteracao[3].toString(); } String fone = ""; if (dadosReiteracao[8] == null && dadosReiteracao[6] != null && dadosReiteracao[7] != null){ fone = "(" + dadosReiteracao[6] + ")" + " - " + dadosReiteracao[7]; } else if (dadosReiteracao[6] == null && dadosReiteracao[7] != null && dadosReiteracao[8] != null){ fone = dadosReiteracao[7] + " - " + dadosReiteracao[8]; } else if (dadosReiteracao[6] == null && dadosReiteracao[8] == null && dadosReiteracao[7] != null){ fone = dadosReiteracao[7].toString(); } else if (dadosReiteracao[8] != null && dadosReiteracao[6] != null && dadosReiteracao[7] != null){ fone = "(" + dadosReiteracao[6] + ")" + " - " + dadosReiteracao[7] + " - " + dadosReiteracao[8]; } relatorioDetailBean = new RelatorioConsultarRegistroAtendimentoDetailBean( // Data Hora dataHora, // Nome do Solicidante nomeSolicitante, // Cliente dadosReiteracao[4] == null ? "" : dadosReiteracao[4] .toString(), // Unidade dadosReiteracao[5] == null ? "" : dadosReiteracao[5] .toString(), // Telefone fone ); colecaoDetail.add(relatorioDetailBean); } relatorioBean = new RelatorioConsultarRegistroAtendimentoBean( // Dados Gerais // N�mero RA registroAtendimentoHelper.getRegistroAtendimento().getId() .toString(), // Situa��o RA registroAtendimentoHelper.getDescricaoSituacaoRA(), // Indicador RA Associado indicadorAssociado, // N�mero RA Associado registroAtendimentoHelper.getRAAssociado() == null ? "" : registroAtendimentoHelper.getRAAssociado().getId() .toString(), // Situa��o RA Associado registroAtendimentoHelper.getDescricaoSituacaoRAAssociado(), // Tipo Solicita��o registroAtendimentoHelper.getRegistroAtendimento() .getSolicitacaoTipoEspecificacao() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getSolicitacaoTipoEspecificacao() .getSolicitacaoTipo().getDescricao(), // Especifica��o registroAtendimentoHelper.getRegistroAtendimento() .getSolicitacaoTipoEspecificacao() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getSolicitacaoTipoEspecificacao() .getDescricao(), // Data Atendimento Util.formatarDataComHora(registroAtendimentoHelper .getRegistroAtendimento().getRegistroAtendimento()), // Data Prevista Util.formatarData(registroAtendimentoHelper .getRegistroAtendimento().getDataPrevistaAtual()), // Meio Solicita��o registroAtendimentoHelper.getRegistroAtendimento() .getMeioSolicitacao() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getMeioSolicitacao().getDescricao(), // Unidade Atendimento registroAtendimentoHelper.getUnidadeAtendimento() == null ? "" : registroAtendimentoHelper.getUnidadeAtendimento() .getDescricao(), // Unidade Atual registroAtendimentoHelper.getUnidadeAtual() == null ? "" : registroAtendimentoHelper.getUnidadeAtual() .getDescricao(), // Observa��o registroAtendimentoHelper.getRegistroAtendimento() .getObservacao(), // Dados do Local da Ocorr�ncia // Matr�cula do Im�vel registroAtendimentoHelper.getRegistroAtendimento().getImovel() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getImovel().getId().toString(), // Inscri��o do Im�vel registroAtendimentoHelper.getRegistroAtendimento().getImovel() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getImovel().getInscricaoFormatada(), // Endere�o da Ocorr�ncia registroAtendimentoHelper.getEnderecoOcorrencia(), // Ponto de Refer�ncia registroAtendimentoHelper.getRegistroAtendimento() .getPontoReferencia(), // Munic�pio registroAtendimentoHelper.getRegistroAtendimento() .getBairroArea() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getBairroArea().getBairro().getMunicipio() .getNome(), // Bairro registroAtendimentoHelper.getRegistroAtendimento() .getBairroArea() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getBairroArea().getBairro().getNome(), // �rea do Bairro registroAtendimentoHelper.getRegistroAtendimento() .getBairroArea() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getBairroArea().getNome(), // Localidade/Setor/Quadra (registroAtendimentoHelper.getRegistroAtendimento() .getLocalidade() == null ? "---" : Util .adicionarZerosEsquedaNumero(3, registroAtendimentoHelper .getRegistroAtendimento() .getLocalidade().getId().toString())) + "/" + (registroAtendimentoHelper.getRegistroAtendimento() .getSetorComercial() == null ? "---" : Util .adicionarZerosEsquedaNumero(3, "" + registroAtendimentoHelper .getRegistroAtendimento() .getSetorComercial() .getCodigo())) + "/" + (registroAtendimentoHelper.getRegistroAtendimento() .getQuadra() == null ? "---" : Util .adicionarZerosEsquedaNumero(3, "" + registroAtendimentoHelper .getRegistroAtendimento() .getQuadra().getNumeroQuadra())), // Divis�o Esgoto registroAtendimentoHelper.getRegistroAtendimento() .getDivisaoEsgoto() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getDivisaoEsgoto().getDescricao(), // Local da Ocorr�ncia registroAtendimentoHelper.getRegistroAtendimento() .getLocalOcorrencia() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getLocalOcorrencia().getDescricao(), // Pavimento Rua registroAtendimentoHelper.getRegistroAtendimento() .getPavimentoRua() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getPavimentoRua().getDescricao(), // Pavimento Cal�ada registroAtendimentoHelper.getRegistroAtendimento() .getPavimentoCalcada() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getPavimentoCalcada().getDescricao(), // Descri��o do Local da Ocorr�ncia registroAtendimentoHelper.getRegistroAtendimento() .getDescricaoLocalOcorrencia(), // Dados do Solicitante // C�digo do Cliente registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getCliente() == null ? "" : registroAtendimentoHelper.getSolicitante() .getCliente().getId().toString(), // Nome do Cliente registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getCliente() == null ? "" : registroAtendimentoHelper.getSolicitante() .getCliente().getNome(), //Protocolo registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getNumeroProtocoloAtendimento() == null ? "" : registroAtendimentoHelper.getSolicitante() .getNumeroProtocoloAtendimento(), // Unidade Solicitante registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getUnidadeOrganizacional() == null ? "" : registroAtendimentoHelper.getSolicitante() .getUnidadeOrganizacional() .getDescricao(), // C�digo do Funcion�rio Respons�vel registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getFuncionario() == null ? "" : registroAtendimentoHelper.getSolicitante() .getFuncionario().getId().toString(), // Nome do Funcion�rio Respons�vel registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getFuncionario() == null ? "" : registroAtendimentoHelper.getSolicitante() .getFuncionario().getNome(), // Nome do Solicitante registroAtendimentoHelper.getSolicitante() == null ? "" : registroAtendimentoHelper.getSolicitante() .getSolicitante(), // Dados da Reitera��o colecaoDetail, // Dados do Encerramento // Motivo do Encerramento registroAtendimentoHelper.getRegistroAtendimento() .getAtendimentoMotivoEncerramento() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getAtendimentoMotivoEncerramento() .getDescricao(), // N�mero RA Refer�ncia registroAtendimentoHelper.getRAAssociado() == null ? "" : registroAtendimentoHelper.getRAAssociado().getId() .toString(), // Situa��o RA Refer�ncia registroAtendimentoHelper.getDescricaoSituacaoRAAssociado() == null ? "" : registroAtendimentoHelper .getDescricaoSituacaoRAAssociado(), // Data Encerramento registroAtendimentoHelper.getRegistroAtendimento() .getDataEncerramento() == null ? "" : Util .formatarDataComHora(registroAtendimentoHelper .getRegistroAtendimento() .getDataEncerramento()), // registroAtendimentoHelper.getRegistroAtendimento() // .getAtendimentoMotivoEncerramento() == null ? "" // : registroAtendimentoHelper.getRegistroAtendimento() // .getAtendimentoMotivoEncerramento() // .getUltimaAlteracao() == null ? "" : Util // .formatarDataComHora(registroAtendimentoHelper // .getRegistroAtendimento() // .getAtendimentoMotivoEncerramento() // .getUltimaAlteracao()), // Unidade Encerramento unidadeEncerramento, // Usu�rio Encerramento usuarioEncerramento, // Parecer Encerramento registroAtendimentoHelper.getRegistroAtendimento() .getParecerEncerramento() == null ? "" : registroAtendimentoHelper.getRegistroAtendimento() .getParecerEncerramento(), // Rota registroAtendimentoHelper.getCodigoRota() == null? "": registroAtendimentoHelper.getCodigoRota().toString(), // Sequencial Rota registroAtendimentoHelper.getSequencialRota() == null? "": registroAtendimentoHelper.getSequencialRota().toString() ); // 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_CONSULTAR_REGISTRO_ATENDIMENTO, parametros, ds, tipoFormatoRelatorio); // ------------------------------------ // Grava o relat�rio no sistema try { persistirRelatorioConcluido(retorno, Relatorio.CONSULTAR_REGISTRO_ATENDIMENTO, idFuncionalidadeIniciada); } catch (ControladorException e) { e.printStackTrace(); throw new TarefaException("Erro ao gravar relat�rio no sistema", e); } // ------------------------------------ // retorna o relat�rio gerado return retorno; } /** * Consulta o Registro Atendimento Unidade pelo id da RA * * @author Rafael Pinto * @created 09/08/2006 */ private RegistroAtendimentoUnidade consultarRegistroAtendimentoUnidade(Integer idRA,Integer idUnidade){ RegistroAtendimentoUnidade retorno = null; Fachada fachada = Fachada.getInstancia(); Collection colecaoRegistroAtendimentoUnidade = null; FiltroRegistroAtendimentoUnidade filtroRegistroAtendimentoUnidade = new FiltroRegistroAtendimentoUnidade(); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.REGISTRO_ATENDIMENTO_ID,idRA)); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.UNIDADE_ORGANIZACIONAL_ID,idUnidade)); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.ATENDIMENTO_RELACAO_TIPO, AtendimentoRelacaoTipo.ENCERRAR)); filtroRegistroAtendimentoUnidade.adicionarCaminhoParaCarregamentoEntidade("usuario"); colecaoRegistroAtendimentoUnidade = fachada.pesquisar(filtroRegistroAtendimentoUnidade,RegistroAtendimentoUnidade.class.getName()); if (colecaoRegistroAtendimentoUnidade != null && !colecaoRegistroAtendimentoUnidade.isEmpty()) { retorno = (RegistroAtendimentoUnidade) Util.retonarObjetoDeColecao(colecaoRegistroAtendimentoUnidade); } return retorno; } @Override public int calcularTotalRegistrosRelatorio() { int retorno = 1; return retorno; } public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioConsultarRegistroAtendimento", this); } }