package gcom.relatorio.atendimentopublico; import gcom.batch.Relatorio; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.sistemaparametro.SistemaParametro; 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 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 certidao negativa * * @author Bruno Barros * @created 29/01/2008 */ public class RelatorioCertidaoNegativa extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioCertidaoNegativa(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_CERTIDAO_NEGATIVA); } @Deprecated public RelatorioCertidaoNegativa() { 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 { // valor de retorno byte[] retorno = null; // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ Imovel imo = (Imovel) getParametro("imovel"); Usuario usuarioLogado = (Usuario) getParametro("usuarioLogado"); int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); // cole��o de beans do relat�rio List relatorioBeans = new ArrayList(); Fachada fachada = Fachada.getInstancia(); RelatorioCertidaoNegativaBean relatorioCertidaoNegativaBean = null; Collection<RelatorioCertidaoNegativaHelper> colecao = fachada.pesquisarRelatorioCertidaoNegativa(imo); // se a cole��o de par�metros da analise n�o for vazia if (colecao != null && !colecao.isEmpty()) { // coloca a cole��o de par�metros da analise no iterator Iterator colecaoIterator = colecao.iterator(); // la�o para criar a cole��o de par�metros da analise while (colecaoIterator.hasNext()) { RelatorioCertidaoNegativaHelper helper = (RelatorioCertidaoNegativaHelper) colecaoIterator.next(); relatorioCertidaoNegativaBean = new RelatorioCertidaoNegativaBean(helper); // adiciona o bean a cole��o relatorioBeans.add(relatorioCertidaoNegativaBean); } } // __________________________________________________________________ // Par�metros do relat�rio Map parametros = new HashMap(); // adiciona os par�metros do relat�rio // adiciona o laudo da an�lise SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); String nomeRelatorio = ConstantesRelatorios.RELATORIO_CERTIDAO_NEGATIVA; if (sistemaParametro.getCodigoEmpresaFebraban().equals(SistemaParametro.CODIGO_EMPRESA_FEBRABAN_COMPESA)) { parametros.put("validade", "IMPORTANTE: Qualquer rasura tornar� nulo o efeito desta certid�o, que tem validade de 5 dias."); } else if (sistemaParametro.getCodigoEmpresaFebraban().equals(SistemaParametro.CODIGO_EMPRESA_FEBRABAN_CAEMA)) { parametros.put("validade", "IMPORTANTE: Qualquer rasura tornar� nulo o efeito desta certid�o, que tem validade de 60 dias."); parametros.put("atendente", usuarioLogado.getNomeUsuario()); parametros.put("nomeRelatorio", "CERTID�O NEGATIVA DE D�BITOS"); parametros.put("nomeEmpresa", "COMPAHIA DE SANEAMENTO AMBIENTAL DO MARANH�O"); parametros.put("cnpjEmpresa", Util.formatarCnpj( sistemaParametro.getCnpjEmpresa()) ); parametros.put("inscricaoEstadual", Util.formatarInscricaoEstadualCaema( sistemaParametro.getInscricaoEstadual()) ); parametros.put("textoCertidaoNegativa", "Pelo presente instrumento certificamos, para fins de direito, que revendo os nossos controles, n�o encontramos d�bitos referente ao im�vel acima especificado(s) at� a presente data: " + Util.formatarData(new Date()) + "."); nomeRelatorio = ConstantesRelatorios.RELATORIO_CERTIDAO_NEGATIVA_CAEMA; } else { parametros.put("validade", "IMPORTANTE: Qualquer rasura tornar� nulo o efeito desta certid�o."); } // cria uma inst�ncia do dataSource do relat�rio RelatorioDataSource ds = new RelatorioDataSource(relatorioBeans); retorno = gerarRelatorio(nomeRelatorio, parametros, ds, tipoFormatoRelatorio); // ------------------------------------ // Grava o relat�rio no sistema try { persistirRelatorioConcluido(retorno, Relatorio.CERTIDAO_NEGATIVA, idFuncionalidadeIniciada); } catch (ControladorException e) { e.printStackTrace(); throw new TarefaException("Erro ao gravar relat�rio no sistema", e); } // ------------------------------------ // retorna o relat�rio gerado return retorno; } public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioCertidaoNegativa", this); } @Override public int calcularTotalRegistrosRelatorio() { return 0; } }