package gcom.gui.arrecadacao.pagamento; import gcom.arrecadacao.pagamento.FiltroPagamento; import gcom.arrecadacao.pagamento.FiltroPagamentoSituacao; import gcom.arrecadacao.pagamento.GuiaPagamento; import gcom.arrecadacao.pagamento.Pagamento; import gcom.arrecadacao.pagamento.PagamentoSituacao; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.Localidade; import gcom.cobranca.DocumentoTipo; import gcom.cobranca.FiltroDocumentoTipo; import gcom.fachada.Fachada; import gcom.faturamento.conta.Conta; import gcom.faturamento.debito.DebitoACobrarGeral; import gcom.faturamento.debito.DebitoTipo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Action que inicializa a p�gina de atualizar pagamentoa * * @author Pedro Alexandre * @date 22/03/2006 */ public class ExibirAtualizarPagamentosAction extends GcomAction { /** * <Breve descri��o sobre o caso de uso> * * <Identificador e nome do caso de uso> * * <Breve descri��o sobre o subfluxo> * * <Identificador e nome do subfluxo> * * <Breve descri��o sobre o fluxo secund�rio> * * <Identificador e nome do fluxo secund�rio> * * @author Pedro Alexandre * @date 22/03/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno para a p�gina de atualizar pagamento ActionForward retorno = actionMapping.findForward("atualizarPagamento"); // Cria uma inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Cria uma inst�ncia da sess�o HttpSession sessao = httpServletRequest.getSession(false); SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); Calendar dataCorrente = new GregorianCalendar(); // Data Corrente httpServletRequest.setAttribute("dataAtual", formatoData .format(dataCorrente.getTime())); // Recupera o c�digo do pagamento que vai ser atualizado // String codigoPagamento = // httpServletRequest.getParameter("idRegistroAtualizacao"); // Cria a vari�vel que vai armazenar o pagamento para ser atualizado // Pagamento pagamento = (Pagamento) sessao.getAttribute("pagamento"); // recupera o form de manter pagamentos ManterPagamentoActionForm manterPagamentoActionForm = (ManterPagamentoActionForm) actionForm; // Cria o filtro de tipo de documento, e seta no filtro quais os tipo de // documentos necess�rios // para pesquisar os tipos de documento de conta, guia de pagamento e // d�bito a cobrar FiltroDocumentoTipo filtroDocumentoTipo = new FiltroDocumentoTipo(); filtroDocumentoTipo.adicionarParametro(new ParametroSimples( FiltroDocumentoTipo.ID, DocumentoTipo.CONTA, ParametroSimples.CONECTOR_OR)); filtroDocumentoTipo.adicionarParametro(new ParametroSimples( FiltroDocumentoTipo.ID, DocumentoTipo.GUIA_PAGAMENTO, ParametroSimples.CONECTOR_OR)); filtroDocumentoTipo.adicionarParametro(new ParametroSimples( FiltroDocumentoTipo.ID, DocumentoTipo.DEBITO_A_COBRAR)); Collection<DocumentoTipo> colecaoDocumentoTipo = fachada.pesquisar( filtroDocumentoTipo, DocumentoTipo.class.getName()); // [FS0002] - Verificar exist�ncia de dados // Caso a cole��o de tipo de documento estiver nula ou vazia, levanta // uma // exce��o para o usu�rio indicando que nenhum tipo de documento est� // cadastrado // Caso contr�rio manda os tipos de documentos pesquisados pela sess�o if (colecaoDocumentoTipo == null || colecaoDocumentoTipo.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null, "Tipo de Documento"); } sessao.setAttribute("colecaoDocumentoTipo", colecaoDocumentoTipo); String idPagamento = null; if (httpServletRequest.getParameter("reloadPage") == null || httpServletRequest.getParameter("reloadPage").equals("")) { // Recupera o id de Pagamento que vai ser atualizado if (httpServletRequest.getParameter("idRegistroInseridoAtualizar") != null) { idPagamento = httpServletRequest .getParameter("idRegistroInseridoAtualizar"); // Definindo a volta do bot�o Voltar p Filtrar Pagamento sessao.setAttribute("voltar", "filtrar"); sessao.setAttribute("idRegistroAtualizacao", idPagamento); } else if (httpServletRequest.getParameter("idRegistroAtualizacao") == null) { idPagamento = "" + sessao.getAttribute("idRegistroAtualizacao"); // Definindo a volta do bot�o Voltar p Filtrar Pagamento sessao.setAttribute("voltar", "filtrar"); } else if (httpServletRequest.getParameter("idRegistroAtualizacao") != null) { idPagamento = httpServletRequest .getParameter("idRegistroAtualizacao"); // Definindo a volta do bot�o Voltar p Manter Pagamento sessao.setAttribute("voltar", "manter"); sessao.setAttribute("idRegistroAtualizacao", idPagamento); } exibirPagamento(idPagamento, manterPagamentoActionForm, fachada, sessao, httpServletRequest); } else { idPagamento = (String) sessao.getAttribute("idRegistroAtualizacao"); } if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer") .equalsIgnoreCase("S")) { // -------------- bt DESFAZER --------------- exibirPagamento(idPagamento, manterPagamentoActionForm, fachada, sessao, httpServletRequest); } else { // -------Parte que trata do c�digo quando o usu�rio tecla enter if (httpServletRequest.getParameter("reloadPage") != null && !httpServletRequest.getParameter("reloadPage").equals("")) { // [FS0003] - Verificar exist�ncia da localidade // Recupera o c�digo da localidade digitado pelo usu�rio String codigoLocalidadeDigitadoEnter = manterPagamentoActionForm.getIdLocalidade(); // Caso o c�digo da localidade informado n�o estiver vazio if (codigoLocalidadeDigitadoEnter != null && !codigoLocalidadeDigitadoEnter.trim().equalsIgnoreCase( "")) { // Recupera a localidade informada pelo usu�rio Localidade localidadeEncontrada = fachada .pesquisarLocalidadeDigitada(new Integer( codigoLocalidadeDigitadoEnter)); // Caso a localidade informada pelo usu�rio esteja cadastrada no // sistema // Seta os dados da localidade no form // Caso contr�rio seta as informa��es da localidade para vazio // e indica ao usu�rio que a localidade n�o existe if (localidadeEncontrada != null) { manterPagamentoActionForm.setIdLocalidade("" + localidadeEncontrada.getId()); manterPagamentoActionForm .setDescricaoLocalidade(localidadeEncontrada .getDescricao()); httpServletRequest.setAttribute( "idLocalidadeNaoEncontrada", "true"); } else { manterPagamentoActionForm.setIdLocalidade(""); httpServletRequest.setAttribute( "idLocalidadeNaoEncontrada", "exception"); manterPagamentoActionForm .setDescricaoLocalidade("Localidade inexistente"); } } // [FS0004] - Verificar exist�ncia da matr�cula do im�vel String codigoImovelDigitadoEnter = manterPagamentoActionForm.getIdImovel(); // Caso o c�digo do im�vel informado n�o estiver vazio if (codigoImovelDigitadoEnter != null && !codigoImovelDigitadoEnter.trim().equalsIgnoreCase("")) { // Recupera o im�vel informado pelo usu�rio Imovel imovelEncontrado = fachada .pesquisarImovelDigitado(new Integer( codigoImovelDigitadoEnter)); // Caso o im�vel informado pelo usu�rio esteja cadastrado no // sistema // Seta os dados o im�vel no form // Caso contr�rio seta as informa��es o im�vel para vazio // e indica ao usu�rio que o im�vel informado n�o existe if (imovelEncontrado != null) { manterPagamentoActionForm.setIdImovel("" + imovelEncontrado.getId()); manterPagamentoActionForm.setDescricaoImovel("" + imovelEncontrado.getInscricaoFormatada()); httpServletRequest.setAttribute("idImovelNaoEncontrado", "true"); // Recupera a localidade do im�vel,caso o mesmo exista na // base Localidade localidadeImovel = imovelEncontrado .getLocalidade(); // Caso o usu�rio tenha informado a localidade if (codigoLocalidadeDigitadoEnter != null && !codigoLocalidadeDigitadoEnter.trim() .equalsIgnoreCase("")) { // [FS0005] - Verificar localidade da matr�cula do // im�vel if (!fachada .verificarLocalidadeMatriculaImovel( codigoLocalidadeDigitadoEnter, imovelEncontrado)) { manterPagamentoActionForm.setIdImovel(""); httpServletRequest.setAttribute( "idImovelNaoEncontrado", "exception"); manterPagamentoActionForm .setDescricaoImovel("A Localidade da Matr�cula " + localidadeImovel.getId() + " � diferente da localidade informada " + codigoLocalidadeDigitadoEnter); } } else { manterPagamentoActionForm.setIdLocalidade("" + localidadeImovel.getId()); manterPagamentoActionForm .setDescricaoLocalidade(localidadeImovel .getDescricao()); httpServletRequest.setAttribute( "idLocalidadeNaoEncontrada", "true"); } } else { manterPagamentoActionForm.setIdImovel(""); httpServletRequest.setAttribute("idImovelNaoEncontrado", "exception"); manterPagamentoActionForm .setDescricaoImovel("Matr�cula inexistente"); } } // [FS0007] - Verificar exist�ncia do c�digo do cliente String codigoClienteDigitadoEnter = manterPagamentoActionForm.getIdCliente(); // Recupera a metr�cula do im�vel e o c�digo do cliente do form de // manter pagamento String codigoImovel = codigoImovelDigitadoEnter; String codigoCliente = manterPagamentoActionForm.getIdCliente(); // Caso o usu�rio tenha informado o c�digo do cliente if (codigoClienteDigitadoEnter != null && !codigoClienteDigitadoEnter.trim().equalsIgnoreCase("")) { // Recupera o cliente ,caso o mesmo exista na base Cliente clienteEncontrado = fachada .pesquisarClienteDigitado(new Integer( codigoClienteDigitadoEnter)); // Caso o cliente esteja cadastrado no sistema // Seta no form todos os dados do cliente // Caso contr�rio seta os dados do cliente para vazio e informa // que // o cliente n�o existe if (clienteEncontrado != null) { manterPagamentoActionForm.setIdCliente("" + clienteEncontrado.getId()); manterPagamentoActionForm.setNomeCliente(clienteEncontrado .getNome()); httpServletRequest.setAttribute("idClienteNaoEncontrado", "true"); } else { manterPagamentoActionForm.setIdCliente(""); httpServletRequest.setAttribute("idClienteNaoEncontrado", "exception"); manterPagamentoActionForm .setNomeCliente("C�digo inexistente"); } } // [FS0008] - Verificar exist�ncia da conta String referenciaContaDigitadoEnter = manterPagamentoActionForm.getReferenciaConta(); // Caso o usu�rio tenha informado a refer�ncia da conta if (referenciaContaDigitadoEnter != null && !referenciaContaDigitadoEnter.trim() .equalsIgnoreCase("")) { // Caso o usu�rio n�o tenha informado a matr�cula do im�vel // Levanta uma exce��o para o usu�rio indicado que ele n�o // informou // a matr�cula do im�vel if (codigoImovel == null || codigoImovel.trim().equalsIgnoreCase("")) { throw new ActionServletException("atencao.naoinformado", null, "Im�vel"); } // Recupera a conta do im�vel com a refer�ncia informada Conta contaEncontrada = fachada.pesquisarContaDigitada( codigoImovel, referenciaContaDigitadoEnter); // Caso a conta esteja cadastrada no sistema // Seta todas as informa��es da conta no form // Caso contr�rio seta as informa��es da conta para nulo // e indica ao usu�rio que n�o existe conta para o im�el // informadocom a refer�ncia indicada if (contaEncontrada != null) { manterPagamentoActionForm.setReferenciaConta("" + referenciaContaDigitadoEnter); manterPagamentoActionForm.setDescricaoReferenciaConta("" + contaEncontrada.getValorTotalConta()); manterPagamentoActionForm.setValorPagamento("" + contaEncontrada.getValorTotalConta()); httpServletRequest.setAttribute( "referenciaContaNaoEncontrada", "true"); } else { manterPagamentoActionForm.setReferenciaConta("" + referenciaContaDigitadoEnter); httpServletRequest.setAttribute( "referenciaContaNaoEncontrada", "exception"); manterPagamentoActionForm .setDescricaoReferenciaConta("N�o h� Conta com a refer�ncia " + referenciaContaDigitadoEnter + " para o im�vel " + codigoImovel); manterPagamentoActionForm.setValorPagamento(""); } } // [FS0022] - Verificar exist�ncia da guia de pagamento String codigoGuiaPagamentoDigitadoEnter = manterPagamentoActionForm.getIdGuiaPagamento(); // Caso o usu�rio tenha informado o c�digo da guia de pagamento if (codigoGuiaPagamentoDigitadoEnter != null && !codigoGuiaPagamentoDigitadoEnter.trim() .equalsIgnoreCase("")) { // Caso o usu�rio n�o tenha informado a matr�cula do im�vel // Levanta uma exce��o para o usu�rio indicado que ele n�o // informou // a matr�cula do im�vel if ( !Util.verificarNaoVazio(codigoImovel) && !Util.verificarNaoVazio(codigoCliente)) { throw new ActionServletException("atencao.naoinformado", null, "Im�vel ou Cliente"); } // Pesquisa a guia de pagamento para o im�vel informado GuiaPagamento guiaPagamentoEncontrada = fachada .pesquisarGuiaPagamentoDigitada(codigoImovel, codigoCliente, codigoGuiaPagamentoDigitadoEnter); // Caso a guia de pagamento esteja cadastrada no sistema // Seta os dados da guia de pagamento no form // Caso contr�rio seta os dados da guia para nulo e informa ao // usu�rio que n�o existe // guia de pagamento cadastrada no sistema if (guiaPagamentoEncontrada != null) { manterPagamentoActionForm.setIdGuiaPagamento("" + guiaPagamentoEncontrada.getId()); manterPagamentoActionForm.setDescricaoGuiaPagamento("" + guiaPagamentoEncontrada.getDebitoTipo() .getDescricao()); manterPagamentoActionForm.setValorGuiaPagamento("" + guiaPagamentoEncontrada.getValorDebito()); httpServletRequest.setAttribute( "idGuiaPagamentoNaoEncontrado", "true"); } else { manterPagamentoActionForm.setIdGuiaPagamento(""); manterPagamentoActionForm .setDescricaoGuiaPagamento("Guia de Pagamento inexistente"); manterPagamentoActionForm.setValorGuiaPagamento(""); httpServletRequest.setAttribute( "idGuiaPagamentoNaoEncontrado", "exception"); } } // [FS0024] - Verificar exist�ncia do d�bito a cobrar String codigoDebitoACobrarDigitadoEnter = manterPagamentoActionForm.getIdDebitoACobrar(); // Caso o usu�rio tenha informado o c�digo do d�bito a cobrar if (codigoDebitoACobrarDigitadoEnter != null && !codigoDebitoACobrarDigitadoEnter.trim() .equalsIgnoreCase("")) { // Caso o usu�rio n�o tenha informado a matr�cula do im�vel // Levanta uma exce��o para o usu�rio indicado que ele n�o // informou // a matr�cula do im�vel if (codigoImovel == null || codigoImovel.trim().equalsIgnoreCase("")) { throw new ActionServletException("atencao.naoinformado", null, "Im�vel"); } // Pesquisa o d�bito a cobrar para o im�vel informado /* DebitoACobrar debitoACobrarEncontrado = fachada .pesquisarDebitoACobrarDigitado(codigoImovel, codigoDebitoACobrarDigitadoEnter);*/ // Pesquisa o d�bito a cobrar para o im�vel informado DebitoACobrarGeral debitoACobrarGeralEncontrado = fachada .pesquisarDebitoACobrarGeralDigitado(codigoImovel, codigoDebitoACobrarDigitadoEnter); // Caso o d�bito a cobrar esteja cadastrado no sistema // Seta os dados do d�bito a cobrar no form // Caso contr�rio seta os dados do d�bito para nulo e informa ao // usu�rio que n�o existe // d�bito a cobrar cadastrado no sistema if (debitoACobrarGeralEncontrado != null) { if(debitoACobrarGeralEncontrado.getDebitoACobrar()!=null){ manterPagamentoActionForm.setIdDebitoACobrar("" + debitoACobrarGeralEncontrado.getDebitoACobrar().getId()); manterPagamentoActionForm.setDescricaoDebitoACobrar("" + debitoACobrarGeralEncontrado.getDebitoACobrar().getDebitoTipo() .getDescricao()); manterPagamentoActionForm.setValorDebitoACobrar("" + debitoACobrarGeralEncontrado.getDebitoACobrar().getValorDebito()); httpServletRequest.setAttribute( "idDebitoACobrarNaoEncontrado", "true"); }else{ manterPagamentoActionForm.setIdDebitoACobrar("" + debitoACobrarGeralEncontrado.getDebitoACobrarHistorico().getId()); manterPagamentoActionForm.setDescricaoDebitoACobrar("" + debitoACobrarGeralEncontrado.getDebitoACobrarHistorico().getDebitoTipo() .getDescricao()); manterPagamentoActionForm.setValorDebitoACobrar("" + debitoACobrarGeralEncontrado.getDebitoACobrarHistorico().getValorDebito()); httpServletRequest.setAttribute( "idDebitoACobrarNaoEncontrado", "true"); } } else { manterPagamentoActionForm.setIdDebitoACobrar(""); manterPagamentoActionForm .setDescricaoDebitoACobrar("D�bito a Cobrar inexistente"); manterPagamentoActionForm.setDescricaoDebitoACobrar(""); httpServletRequest.setAttribute( "idDebitoACobrarNaoEncontrado", "exception"); } } // } // [FS0020] - Verificar exist�ncia do tipo de d�bito String codigoTipoDebitoDigitadoEnter = manterPagamentoActionForm.getIdTipoDebito(); // Caso o usu�rio tenha informado o c�digo do tipo de d�bito if (codigoTipoDebitoDigitadoEnter != null && !codigoTipoDebitoDigitadoEnter.trim().equalsIgnoreCase( "")) { // Recupera o tipo de d�bito ,caso o mesmo exista na base DebitoTipo tipoDebitoEncontrado = fachada .pesquisarTipoDebitoDigitado(new Integer( codigoTipoDebitoDigitadoEnter)); // Caso o tipo de d�bito esteja cadastrado no sistema // Seta no form todos os dados do tipo de d�bito // Caso contr�rio seta os dados do tipo de d�bito para vazio e // informa que o tipo de d�bito n�o existe if (tipoDebitoEncontrado != null) { manterPagamentoActionForm.setIdTipoDebito("" + tipoDebitoEncontrado.getId()); manterPagamentoActionForm .setDescricaoTipoDebito(tipoDebitoEncontrado .getDescricao()); httpServletRequest.setAttribute( "idTipoDebitoNaoEncontrado", "true"); } else { manterPagamentoActionForm.setIdTipoDebito(""); httpServletRequest.setAttribute( "idTipoDebitoNaoEncontrado", "exception"); manterPagamentoActionForm .setDescricaoTipoDebito("Tipo de D�bito inexistente"); } } } } // -------Parte que trata do c�digo quando o usu�rio tecla enter // Seta na sess�o o form de pagamento e o pagamento que vai ser // atualizado sessao.setAttribute("ManterPagamentoActionForm", manterPagamentoActionForm); // sessao.setAttribute("pagamento", pagamento); // Retorna o mapeamento contido na vari�vel retorno return retorno; } private void exibirPagamento(String idPagamento, ManterPagamentoActionForm manterPagamentoActionForm, Fachada fachada, HttpSession sessao, HttpServletRequest httpServletRequest) { Pagamento pagamento = null; PagamentoSituacao pagamentoSituacaoAtual = null; if (idPagamento != null && !idPagamento.equalsIgnoreCase("")) { // Cria o filtro de pagamento e seta o c�digo do pagamento para ser // atualizado no filtro // e indicxa quais objetos devem ser retornados pela pesquisa FiltroPagamento filtroPagamento = new FiltroPagamento(); filtroPagamento.adicionarParametro(new ParametroSimples( FiltroPagamento.ID, idPagamento)); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("documentoTipo"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.localidade"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.setorComercial"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.quadra"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("avisoBancario"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("arrecadacaoForma"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("pagamentoSituacaoAtual"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("pagamentoSituacaoAnterior"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador.cliente"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("contaGeral"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("contaGeral.conta"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("guiaPagamento"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("debitoACobrarGeral"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("debitoACobrarGeral.debitoACobrar"); filtroPagamento.adicionarCaminhoParaCarregamentoEntidade("debitoACobrarGeral.debitoACobrarHistorico"); // Pesquisa o pagamento no sistema com os par�metros informados no // filtro Collection<Pagamento> colecaoPagamentos = fachada.pesquisar(filtroPagamento, Pagamento.class.getName()); // Caso a pesquisa tenha retornado o pagamento if (colecaoPagamentos != null && !colecaoPagamentos.isEmpty()) { // Recupera da cole��o o pagamento que vai ser atualizado pagamento = (Pagamento) Util .retonarObjetoDeColecao(colecaoPagamentos); // Cria a vari�vel que vai armazenar a cole��o de situa��es // atuais de pagamento Collection<PagamentoSituacao> colecaoSituacaoAtualPagamento = null; // Recupera a situa��o atual e anterior do pagamento pagamentoSituacaoAtual = pagamento.getPagamentoSituacaoAtual(); // Caso a situa��o atual do pagamento esteja preenchida if (pagamentoSituacaoAtual != null) { // Caso a situa��o atual do pagamento seja igual a "Fatura // Inexistente" ou // "Pagamento em Duplicidade" ou igual a valor em excesso if (pagamentoSituacaoAtual.getId().equals( PagamentoSituacao.FATURA_INEXISTENTE) || pagamentoSituacaoAtual.getId().equals( PagamentoSituacao.PAGAMENTO_EM_DUPLICIDADE) || pagamentoSituacaoAtual.getId().equals( PagamentoSituacao.VALOR_EM_EXCESSO) /* Alterado dia 12/09/2008 Author: Bruno Barros Descri��o: Altera��o do caso de uso para que quando a situa��o atual do pagamento for igual a �Valor N�o Confere� e valor excedente do pagamento com valor maior que zero */ || ( pagamentoSituacaoAtual.getId().equals( PagamentoSituacao.VALOR_NAO_CONFERE ) && pagamento.getValorExcedente() != null && pagamento.getValorExcedente().floatValue() > 0 ) ) { // Fim altera��o Bruno Barros // Cria o filtro de situa��o de pagamento e seta no // filtro para retornar somente a situa��o // igual a valor a baixar FiltroPagamentoSituacao filtroPagamentoSituacao = new FiltroPagamentoSituacao(); filtroPagamentoSituacao .adicionarParametro(new ParametroSimples( FiltroPagamentoSituacao.CODIGO, PagamentoSituacao.VALOR_A_BAIXAR)); colecaoSituacaoAtualPagamento = fachada.pesquisar( filtroPagamentoSituacao, PagamentoSituacao.class.getName()); // [FS0002] - Verificar exist�ncia de dados // Caso a situa��o de valor a baixar n�o esteja // cadastrada no sistema // levante uma exce��o para o usu�rio indicando que a // situa��o n�o est� cadastrada if (colecaoSituacaoAtualPagamento == null || colecaoSituacaoAtualPagamento.isEmpty()) { throw new ActionServletException( "atencao.naocadastrado", null, "Situa��o de Pagamento"); } } } // Seta na sess�oa cole��o de situa��o de pagamentos, para o // campo de situa��o de pagamento atual sessao.setAttribute("colecaoSituacaoAtualPagamento", colecaoSituacaoAtualPagamento); // Seta no form os dados de aviso banc�rio manterPagamentoActionForm.setIdAvisoBancario("" + pagamento.getAvisoBancario().getId()); manterPagamentoActionForm.setCodigoAgenteArrecadador("" + pagamento.getAvisoBancario().getArrecadador() .getCodigoAgente()); manterPagamentoActionForm.setDataLancamentoAviso(Util .formatarData(pagamento.getAvisoBancario() .getDataLancamento())); manterPagamentoActionForm.setNumeroSequencialAviso("" + pagamento.getAvisoBancario().getNumeroSequencial()); // Seta no form os dados de arrecada��o if (pagamento.getArrecadacaoForma() != null){ manterPagamentoActionForm.setIdFormaArrecadacao("" + pagamento.getArrecadacaoForma().getId()); manterPagamentoActionForm.setDescricaoFormaArrecadacao("" + pagamento.getArrecadacaoForma().getDescricao()); } // Seta no form os dados de tipo de documento manterPagamentoActionForm.setIdTipoDocumento("" + pagamento.getDocumentoTipo().getId()); // Seta no form os dados de localidade if (pagamento.getLocalidade() != null) { manterPagamentoActionForm.setIdLocalidade("" + pagamento.getLocalidade().getId()); manterPagamentoActionForm.setDescricaoLocalidade(pagamento .getLocalidade().getDescricao()); } // Seta no form os dados de im�vel if (pagamento.getImovel() != null) { manterPagamentoActionForm.setIdImovel("" + pagamento.getImovel().getId()); manterPagamentoActionForm.setDescricaoImovel("" + pagamento.getImovel().getInscricaoFormatada()); } // Seta no form os dados de cliente if (pagamento.getCliente() != null) { manterPagamentoActionForm.setIdCliente("" + pagamento.getCliente().getId()); manterPagamentoActionForm.setNomeCliente(pagamento .getCliente().getNome()); } // Seta no form os dados de refer�ncia da conta if (pagamento.getAnoMesReferenciaPagamento() != null && pagamento.getAnoMesReferenciaPagamento() != 0) { manterPagamentoActionForm.setReferenciaConta(Util .formatarAnoMesParaMesAno(pagamento .getAnoMesReferenciaPagamento())); } // Seta no form os dados da guia de pagamento if (pagamento.getGuiaPagamento() != null) { manterPagamentoActionForm.setIdGuiaPagamento("" + pagamento.getGuiaPagamento().getId()); if (pagamento.getGuiaPagamento().getDebitoTipo() != null) { manterPagamentoActionForm.setDescricaoGuiaPagamento("" + pagamento.getGuiaPagamento().getDebitoTipo() .getDescricao()); } manterPagamentoActionForm.setValorGuiaPagamento("" + Util.formatarMoedaReal(pagamento .getGuiaPagamento().getValorDebito())); } // Seta no form os dados do d�bito a cobrar if (pagamento.getDebitoACobrarGeral() != null) { manterPagamentoActionForm.setIdDebitoACobrar(""+pagamento.getDebitoACobrarGeral().getId()); if ( pagamento.getDebitoACobrarGeral().getDebitoACobrar() != null ){ if ( pagamento.getDebitoACobrarGeral().getDebitoACobrar().getDebitoTipo() != null) { manterPagamentoActionForm.setDescricaoDebitoACobrar("" + pagamento.getDebitoACobrarGeral().getDebitoACobrar(). getDebitoTipo().getDescricao()); } manterPagamentoActionForm.setValorDebitoACobrar("" + Util.formatarMoedaReal(pagamento.getDebitoACobrarGeral().getDebitoACobrar().getValorDebito())); }else{ if ( pagamento.getDebitoACobrarGeral().getDebitoACobrarHistorico().getDebitoTipo() != null) { manterPagamentoActionForm.setDescricaoDebitoACobrar("" + pagamento.getDebitoACobrarGeral().getDebitoACobrarHistorico(). getDebitoTipo().getDescricao()); } manterPagamentoActionForm.setValorDebitoACobrar("" + Util.formatarMoedaReal(pagamento.getDebitoACobrarGeral().getDebitoACobrarHistorico().getValorDebito())); } } if (pagamento.getGuiaPagamento() == null && pagamento.getDebitoACobrarGeral() == null && pagamento.getAnoMesReferenciaPagamento() == null) { if (pagamento.getDebitoTipo() != null) { manterPagamentoActionForm.setIdTipoDebito(""+ pagamento.getDebitoTipo().getId()); manterPagamentoActionForm.setDescricaoTipoDebito(pagamento.getDebitoTipo().getDescricao()); } } // Seta no form a data de pagamento manterPagamentoActionForm.setDataPagamento(Util .formatarData(pagamento.getDataPagamento())); // Seta no form o valor de pagamento manterPagamentoActionForm.setValorPagamento("" + pagamento.getValorPagamento()); // Seta no form os dados da situa��o atual do pagamento if (pagamento.getPagamentoSituacaoAtual() != null) { manterPagamentoActionForm.setIdSituacaoAtualPagamento("" + pagamento.getPagamentoSituacaoAtual().getId()); } if (pagamento.getAvisoBancario().getArrecadador() != null && pagamento.getAvisoBancario().getArrecadador().getCliente() != null){ manterPagamentoActionForm.setNomeClienteArrecadador( pagamento.getAvisoBancario().getArrecadador().getCliente().getNome()); } manterPagamentoActionForm.setUltimaAlteracaoPagamento(Util.formatarData(pagamento.getUltimaAlteracao())); } } // Cria a flag que vai indicar se o campo de valor de pagamento vai // estar habilitado ou n�o String habilitarValorPagamento = null; // Caso a situa��o atual e a anterior da guia n�o estiverem preenchidas // indica na flag que o campo do valor de pagamento vai estar habilitado // na p�gina de atualizar // Caso contr�rio indica na flag que o campo do valor de pagamento N�O // vai estar habilitado na p�gina de atualizar //Retirado por ordem de aryed,por S�vio Luiz data:22/03/2007 /*if ((pagamentoSituacaoAtual == null) && (pagamentoSituacaoAnterior == null)) { */ habilitarValorPagamento = "true"; /*} else { habilitarValorPagamento = "false"; }*/ // Seta no request a flag que indica se o campo de valor de pagamento // vai estar habilitado ou n�o sessao.setAttribute("habilitarValorPagamento", habilitarValorPagamento); sessao.setAttribute("pagamento", pagamento); // ????? } }