package gcom.relatorio.cadastro.imovel; import gcom.cadastro.cliente.ClienteFone; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.imovel.ImovelSubcategoria; import gcom.cadastro.imovel.bean.ConsultarClienteRelacaoClienteImovelHelper; import gcom.cadastro.imovel.bean.ImovelSubcategoriaHelper; import gcom.fachada.Fachada; import gcom.gui.cadastro.imovel.ConsultarImovelActionForm; 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.Util; import gcom.util.agendadortarefas.AgendadorTarefas; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; public class RelatorioDadosCadastraisImovel extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioDadosCadastraisImovel(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_DADOS_CADASTRAIS_IMOVEL); } public Object executar() throws TarefaException { List<RelatorioDadosCadastraisImovelBean> relatorioBeans = new ArrayList<RelatorioDadosCadastraisImovelBean>(); relatorioBeans.add( criarRelatorioBean() ); RelatorioDataSource ds = new RelatorioDataSource(relatorioBeans); Map<String, Object> parametros = criarParametrosRelatorio(); int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); return this.gerarRelatorio(ConstantesRelatorios.RELATORIO_DADOS_CADASTRAIS_IMOVEL, parametros,ds, tipoFormatoRelatorio); } /** * Esse m�todo cria o RelatorioBean atrav�s dos parametros * enviado a este objeto. * *@since 22/09/2009 *@author Marlon Patrick */ private RelatorioDadosCadastraisImovelBean criarRelatorioBean() { ConsultarImovelActionForm consultarImovelForm = (ConsultarImovelActionForm) getParametro("consultarImovelForm"); Collection<ClienteImovel> colecaoClienteImovel = (Collection<ClienteImovel>) getParametro("colecaoClienteImovel"); Collection<ImovelSubcategoria> colecaoImovelSubCategoria = (Collection<ImovelSubcategoria>) getParametro("colecaoImovelSubcategoria"); RelatorioDadosCadastraisImovelBean relatorioBean = new RelatorioDadosCadastraisImovelBean(); relatorioBean.setInscricaoImovel(consultarImovelForm.getMatriculaImovelDadosCadastrais()); relatorioBean.setMatriculaImovel(consultarImovelForm.getIdImovelDadosCadastrais()); relatorioBean.setEnderecoImovel(consultarImovelForm.getEnderecoImovelDadosCadastrais()); relatorioBean.setSituacaoAguaImovel(consultarImovelForm.getSituacaoAguaDadosCadastrais()); relatorioBean.setSituacaoEsgotoImovel(consultarImovelForm.getSituacaoEsgotoDadosCadastrais()); relatorioBean.setPerfilImovel(consultarImovelForm.getImovelPerfilDadosCadastrais()); relatorioBean.setTipoDespejo(consultarImovelForm.getDespejoDadosCadastrais()); relatorioBean.setAreaConstruida(consultarImovelForm.getAreaConstruidaDadosDadosCadastrais()); relatorioBean.setTestadaLote(consultarImovelForm.getTestadaLoteDadosCadastrais()); relatorioBean.setVolumeInferiorReservatorio(consultarImovelForm.getVolumeReservatorioInferiorDadosCadastrais()); relatorioBean.setVolumeSuperiorReservatorio(consultarImovelForm.getVolumeReservatorioSuperiorDadosCadastrais()); relatorioBean.setVolumePiscina(consultarImovelForm.getVolumePiscinaDadosCadastrais()); relatorioBean.setFonteAbastecimento(consultarImovelForm.getFonteAbastecimentoDadosCadastrais()); relatorioBean.setTipoPoco(consultarImovelForm.getPocoTipoDadosCadastrais()); relatorioBean.setDivisaoEsgoto(consultarImovelForm.getDivisaoEsgotoDadosCadastrais()); relatorioBean.setPavimentoRua(consultarImovelForm.getPavimentoRuaDadosCadastrais()); relatorioBean.setPavimentoCalcada(consultarImovelForm.getPavimentoCalcadaDadosCadastrais()); relatorioBean.setNumeroIptu(consultarImovelForm.getNumeroIptuDadosCadastrais()); relatorioBean.setNumeroCompanhiaEletrica(consultarImovelForm.getNumeroCelpeDadosCadastrais()); relatorioBean.setCoordenadaUTMX(consultarImovelForm.getCoordenadaXDadosCadastrais()); relatorioBean.setCoordenadaUTMY(consultarImovelForm.getCoordenadaYDadosCadastrais()); relatorioBean.setOcorrenciaCadastro(consultarImovelForm.getCadastroOcorrenciaDadosCadastrais()); relatorioBean.setEloAnormalidade(consultarImovelForm.getEloAnormalidadeDadosCadastrais()); relatorioBean.setIndicadorImovelCondominio(consultarImovelForm.getIndicadorImovelCondominioDadosCadastrais()); relatorioBean.setMatriculaCondominio(consultarImovelForm.getImovelCondominioDadosCadastrais()); relatorioBean.setMatriculaImovelPrincipal(consultarImovelForm.getImovelPrincipalDadosCadastrais()); relatorioBean.setNumeroPontosUtilizacao(consultarImovelForm.getNumeroPontosUtilizacaoDadosCadastrais()); relatorioBean.setNumeroMoradores(consultarImovelForm.getNumeroMoradoresDadosCadastrais()); relatorioBean.setIndicadorJardim(consultarImovelForm.getJardimDadosCadastrais()); relatorioBean.setTipoHabitacao(consultarImovelForm.getTipoHabitacaoDadosCadastrais()); relatorioBean.setTipoPropriedade(consultarImovelForm.getTipoPropriedadeDadosCadastrais()); relatorioBean.setTipoConstrucao(consultarImovelForm.getTipoConstrucaoDadosCadastrais()); relatorioBean.setTipoCobertura(consultarImovelForm.getTipoCoberturaDadosCadastrais()); relatorioBean.setDistritoAbastecimento(consultarImovelForm.getDistritoOperacionalDadosCadastrais()); if( !Util.isVazioOrNulo(colecaoClienteImovel)){ relatorioBean.setColecaoClienteImovel( new JRBeanCollectionDataSource( criarColecaoClienteImovelHelper(colecaoClienteImovel) )); } if( !Util.isVazioOrNulo(colecaoImovelSubCategoria)){ relatorioBean.setColecaoImovelSubcategoriaHelper( new JRBeanCollectionDataSource( criarColecaoImovelSubcategoriaHelper(colecaoImovelSubCategoria) )); } return relatorioBean; } /** * Esse m�todo cria uma cole��o de ImovelSubcategoriaHelper * a partir da cole��o de ImovelSubcategoria. * *@since 22/09/2009 *@author Marlon Patrick */ private ArrayList<ImovelSubcategoriaHelper> criarColecaoImovelSubcategoriaHelper( Collection<ImovelSubcategoria> colecaoImovelSubCategoria) { ArrayList<ImovelSubcategoriaHelper> colecaoImovelSubCategoriaHelper = new ArrayList<ImovelSubcategoriaHelper>(); for(ImovelSubcategoria subCategoria : colecaoImovelSubCategoria){ ImovelSubcategoriaHelper helperTemp = new ImovelSubcategoriaHelper(); helperTemp.setImovelSubcategoria(subCategoria); colecaoImovelSubCategoriaHelper.add(helperTemp); } return colecaoImovelSubCategoriaHelper; } /** * Esse m�todo cria os ClienteImovelHelper * a partir da cole��o de ClienteImovel. * *@since 22/09/2009 *@author Marlon Patrick */ private Collection<ConsultarClienteRelacaoClienteImovelHelper> criarColecaoClienteImovelHelper( Collection<ClienteImovel> colecaoClienteImovel) { Collection<ConsultarClienteRelacaoClienteImovelHelper> colecaoHelpers = new ArrayList<ConsultarClienteRelacaoClienteImovelHelper>(); for(ClienteImovel clienteImovel : colecaoClienteImovel){ if(clienteImovel.getCliente()!=null && !Util.isVazioOrNulo(clienteImovel.getCliente().getClienteFones())){ ClienteFone fonePadrao = (ClienteFone)clienteImovel.getCliente().getClienteFones().iterator().next(); fonePadrao.setIndicadorTelefonePadrao((short)1); } ConsultarClienteRelacaoClienteImovelHelper clienteImovelHelper= new ConsultarClienteRelacaoClienteImovelHelper(); clienteImovelHelper.setClienteImovel(clienteImovel); colecaoHelpers.add(clienteImovelHelper); } return colecaoHelpers; } /** * Esse m�todo cria os parametros do relatorio com base * nos parametros passados para esse objeto. * *@since 22/09/2009 *@author Marlon Patrick */ private Map<String, Object> criarParametrosRelatorio() { ConsultarImovelActionForm consultarImovelForm = (ConsultarImovelActionForm) getParametro("consultarImovelForm"); Map<String,Object> parametros = new HashMap<String,Object>(); parametros.put("imagem", Fachada.getInstancia(). pesquisarParametrosDoSistema().getImagemRelatorio()); if( Util.verificarNaoVazio(consultarImovelForm.getIdImovelDadosCadastrais()) ){ parametros.put("idImovelFiltro",consultarImovelForm.getIdImovelDadosCadastrais()); } return parametros; } @Override public int calcularTotalRegistrosRelatorio() { int retorno = 0; return retorno; } public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioDadosCadastraisImovel", this); } }