package gcom.gui.relatorio.faturamento; import gcom.cadastro.cliente.EsferaPoder; import gcom.cadastro.cliente.FiltroEsferaPoder; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroImovelPerfil; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.faturamento.debito.DebitoTipo; import gcom.faturamento.debito.FiltroDebitoTipo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesInterfaceGSAN; import gcom.util.ConstantesSistema; import gcom.util.Internacionalizador; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** *[UC0958] - Gerar Relatorio de Juros, Multas e Debitos Cancelados. * * @author Marlon Patrick * @since 07/10/2009 */ public class ExibirGerarRelatorioJurosMultasDebitosCanceladosAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { GerarRelatorioJurosMultasDebitosCanceladosActionForm form = (GerarRelatorioJurosMultasDebitosCanceladosActionForm) actionForm; if(Util.verificarNaoVazio(form.getIdLocalidade())){ pesquisarLocalidade(form); } if(Util.verificarNaoVazio(form.getIdUsuarioCancelamento())){ pesquisarUsuarioCancelamento(form); } carregarComboboxEListbox(form); return actionMapping.findForward("exibirGerarRelatorioJurosMultasDebitosCancelados"); } /** * Este m�todo faz a consulta para verificar a existencia da Localidade informada pelo usu�rio. * * @author Marlon Patrick * @since 07/10/2009 */ private void pesquisarLocalidade(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID,form.getIdLocalidade())); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.INDICADORUSO ,ConstantesSistema.INDICADOR_USO_ATIVO)); boolean isUnidadeNegocioInformado = false; if(Util.isCampoComboboxInformado(form.getIdUnidadeNegocio())){ isUnidadeNegocioInformado = true; filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.UNIDADE_NEGOCIO_ID,form.getIdUnidadeNegocio())); } Collection<Localidade> colecaoLocalidade = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if ( Util.isVazioOrNulo(colecaoLocalidade)) { form.setIdLocalidade(""); form.setLocalidadeExistente(false); if(isUnidadeNegocioInformado){ form.setNomeLocalidade( Internacionalizador.getMensagem(ConstantesInterfaceGSAN.ATENCAO_GSAN_CAMPO1_INEXISTENTE_NA_CAMPO2_INFORMADA, new String[]{ConstantesInterfaceGSAN.LABEL_GSAN_LOCALIDADE,ConstantesInterfaceGSAN.LABEL_GSAN_UNIDADE_NEGOCIO})); }else{ form.setNomeLocalidade(Internacionalizador.getMensagem( ConstantesInterfaceGSAN.ATENCAO_PESQUISA_INEXISTENTE, ConstantesInterfaceGSAN.LABEL_GSAN_LOCALIDADE)); } return; } Localidade localidade = colecaoLocalidade.iterator().next(); form.setIdLocalidade(localidade.getId().toString()); form.setNomeLocalidade(localidade.getDescricao()); form.setLocalidadeExistente(true); } /** * Este m�todo faz a consulta para verificar a existencia do Usu�rio informado pelo usu�rio. * * @author Marlon Patrick * @since 07/10/2009 */ private void pesquisarUsuarioCancelamento(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.ID, form.getIdUsuarioCancelamento())); Collection<Usuario> colecaoUsuario = this.getFachada().pesquisar(filtroUsuario, Usuario.class.getName()); if ( Util.isVazioOrNulo(colecaoUsuario)) { form.setIdUsuarioCancelamento(""); form.setNomeUsuarioCancelamento( Internacionalizador.getMensagem( ConstantesInterfaceGSAN.ATENCAO_PESQUISA_INEXISTENTE, ConstantesInterfaceGSAN.LABEL_GSAN_USUARIO)); form.setUsuarioExistente(false); return; } Usuario usuario = colecaoUsuario.iterator().next(); form.setIdUsuarioCancelamento(usuario.getId().toString()); form.setNomeUsuarioCancelamento(usuario.getNomeUsuario()); form.setUsuarioExistente(true); } /** * * Esse m�todo invoca os m�todos respons�veis por carregar as cole��es de * todos os combo boxes e list boxes a serem exibidos na tela. * * @author Marlon Patrick * @since 07/10/2009 */ private void carregarComboboxEListbox(GerarRelatorioJurosMultasDebitosCanceladosActionForm form) { carregarColecaoUnidadesNegocios(form); carregarColecaoTiposDebito(form); carregarColecaoCategorias(form); carregarColecaoPerfisImovel(form); carregarColecaoEsferasPoder(form); } /** * M�todo consulta os perfis de im�vel ativos * e seta essa cole��o no FORM para que seja exibida na tela. * * @author Marlon Patrick * @since 07/10/2009 */ private void carregarColecaoPerfisImovel(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil(); filtroImovelPerfil.setConsultaSemLimites(true); filtroImovelPerfil.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO); filtroImovelPerfil.adicionarParametro(new ParametroSimples( FiltroImovelPerfil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<ImovelPerfil> colecaoImoveisPerfis = this.getFachada().pesquisar( filtroImovelPerfil, ImovelPerfil.class.getName()); if ( Util.isVazioOrNulo(colecaoImoveisPerfis)) { throw new ActionServletException(ConstantesInterfaceGSAN.ATENCAO_NAO_CADASTRADO, ConstantesInterfaceGSAN.LABEL_GSAN_PERFIL_IMOVEL); } form.setColecaoPerfisImovel(colecaoImoveisPerfis); } /** * M�todo consulta as Unidades de Neg�cio ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @author Marlon Patrick * @since 07/10/2009 */ private void carregarColecaoTiposDebito(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo.setConsultaSemLimites(true); filtroDebitoTipo.setCampoOrderBy(FiltroDebitoTipo.DESCRICAO); filtroDebitoTipo.adicionarParametro( new ParametroSimples(FiltroDebitoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<DebitoTipo> colecaoDebitoTipo = this.getFachada().pesquisar(filtroDebitoTipo,DebitoTipo.class.getName()); if ( Util.isVazioOrNulo(colecaoDebitoTipo)) { throw new ActionServletException(ConstantesInterfaceGSAN.ATENCAO_NAO_CADASTRADO, ConstantesInterfaceGSAN.LABEL_GSAN_TIPO_DEBITO); } form.setColecaoTiposDebito(colecaoDebitoTipo); } /** * M�todo consulta as Unidades de Neg�cio ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @author Marlon Patrick * @since 07/10/2009 */ private void carregarColecaoUnidadesNegocios(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setConsultaSemLimites(true); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<UnidadeNegocio> colecaoUnidadeNegocio = this.getFachada().pesquisar(filtroUnidadeNegocio,UnidadeNegocio.class.getName()); if ( Util.isVazioOrNulo(colecaoUnidadeNegocio)) { throw new ActionServletException(ConstantesInterfaceGSAN.ATENCAO_NAO_CADASTRADO, ConstantesInterfaceGSAN.LABEL_GSAN_UNIDADE_NEGOCIO); } form.setColecaoUnidadesNegocios(colecaoUnidadeNegocio); } /** * M�todo consulta as categorias ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @author Marlon Patrick * @since 07/10/2009 */ private void carregarColecaoCategorias(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.setConsultaSemLimites(true); filtroCategoria.setCampoOrderBy(FiltroCategoria.DESCRICAO); filtroCategoria.adicionarParametro( new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Categoria> colecaoCategoria = this.getFachada().pesquisar(filtroCategoria, Categoria.class.getName()); if ( Util.isVazioOrNulo(colecaoCategoria)) { throw new ActionServletException(ConstantesInterfaceGSAN.ATENCAO_NAO_CADASTRADO, ConstantesInterfaceGSAN.LABEL_GSAN_CATEGORIA); } form.setColecaoCategorias(colecaoCategoria); } /** * M�todo consulta as esferas do poder ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @author Marlon Patrick * @since 07/10/2009 */ private void carregarColecaoEsferasPoder(GerarRelatorioJurosMultasDebitosCanceladosActionForm form){ FiltroEsferaPoder filtroEsferaPoder = new FiltroEsferaPoder(); filtroEsferaPoder.setConsultaSemLimites(true); filtroEsferaPoder.setCampoOrderBy(FiltroEsferaPoder.DESCRICAO); filtroEsferaPoder.adicionarParametro( new ParametroSimples(FiltroEsferaPoder.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<EsferaPoder> colecaoEsferaPoder = this.getFachada().pesquisar(filtroEsferaPoder,EsferaPoder.class.getName()); if ( Util.isVazioOrNulo(colecaoEsferaPoder)) { throw new ActionServletException(ConstantesInterfaceGSAN.ATENCAO_NAO_CADASTRADO, ConstantesInterfaceGSAN.LABEL_GSAN_ESFERA_PODER); } form.setColecaoEsferasPoder(colecaoEsferaPoder); } }