package gcom.gui.cobranca.spcserasa; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.cliente.FiltroClienteImovel; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.spcserasa.bean.DadosNegativacaoPorImovelHelper; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; 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; /** * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os * par�metros para realiza��o da inser��o de um Comando de Negativa��o * (Por Matr�cula de Im�veis) * * @author Ana Maria * @date 06/11/2007 */ public class AdicionarMatriculaImovelNegativacaoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("adicionarComandoNegativacaPorMatricula"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); InserirComandoNegativacaoActionForm inserirComandoNegativacaoActionForm = (InserirComandoNegativacaoActionForm) actionForm; if(inserirComandoNegativacaoActionForm.getMatriculaImovelDebitos() == null || inserirComandoNegativacaoActionForm.getMatriculaImovelDebitos().equals("")){ throw new ActionServletException( "atencao.pesquisar_imovel"); } Collection<DadosNegativacaoPorImovelHelper> colecaoDadosNegativacaoPorImovelHelper = null; if(sessao.getAttribute("colecaoDadosNegativacaoPorImovelHelper") != null){ colecaoDadosNegativacaoPorImovelHelper = (Collection)sessao.getAttribute("colecaoDadosNegativacaoPorImovelHelper"); }else{ colecaoDadosNegativacaoPorImovelHelper = new ArrayList<DadosNegativacaoPorImovelHelper>(); } //Cliente Selecionado Integer idClienteImovel = new Integer(inserirComandoNegativacaoActionForm.getClienteSelecionado()); ClienteImovel clienteImovel = null; /* * Felipe Santos - 06/12/2011 * * Verifica se ClienteImovel tem rela��o RESPONS�VEL PELO PARCELAMENTO */ if(idClienteImovel.equals(new Integer(0))){ //cliente respons�vel pelo parcelamento clienteImovel = (ClienteImovel)sessao.getAttribute("clienteParcelamento"); }else{ FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.ID,idClienteImovel)); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection colecaoClienteImovel = fachada.pesquisar(filtroClienteImovel, ClienteImovel.class.getName()); clienteImovel = (ClienteImovel) Util.retonarObjetoDeColecao(colecaoClienteImovel); } //RM4097 - adicionado por Vivianne Sousa - 29/12/2010 - Ana Cristina //[FS0031] � Verificar exist�ncia de conta em nome do cliente if(inserirComandoNegativacaoActionForm.getIndicadorContaNomeCliente().equals("" + ConstantesSistema.SIM)){ Collection colecaoContasIds = null; if (sessao.getAttribute("colecaoContasIds")!= null && !((Collection) sessao.getAttribute("colecaoContasIds")).isEmpty()){ colecaoContasIds = (Collection)sessao.getAttribute("colecaoContasIds"); boolean existeClienteConta = fachada.verificarSeExisteClienteConta( clienteImovel.getCliente().getId(),colecaoContasIds); if(!existeClienteConta){ //Caso n�o exista nenhuma conta em nome do cliente selecionado //para negativa��o, exibir a mensagem �N�o h� nenhuma conta que comp�e //o d�bito do im�vel <<Matr�cula do Im�vel>> em nome do cliente //<<Nome do Cliente Selecionado para Negativa��o>>. N�o � poss�vel negativ�-lo.� throw new ActionServletException("atencao.nao_ha_conta_cliente", clienteImovel.getImovel().getId().toString(), clienteImovel.getCliente().getNome()); } } } //Atualizar Im�vel j� adicionadao(link) if(httpServletRequest.getParameter("atualizar") != null){ if(inserirComandoNegativacaoActionForm.getIdImovelDebitos() != null){ Integer idImovelAtualizar = new Integer(inserirComandoNegativacaoActionForm.getIdImovelDebitos()); if(colecaoDadosNegativacaoPorImovelHelper != null && !colecaoDadosNegativacaoPorImovelHelper.isEmpty()){ Iterator dadosNegativacaoPorImovelHelperIterator = colecaoDadosNegativacaoPorImovelHelper.iterator(); while (dadosNegativacaoPorImovelHelperIterator.hasNext()) { DadosNegativacaoPorImovelHelper helper = (DadosNegativacaoPorImovelHelper) dadosNegativacaoPorImovelHelperIterator.next(); if(helper.getIdImovel().equals(idImovelAtualizar)){ helper.setIdCliente(clienteImovel.getCliente().getId()); helper.setIdClienteRelacaoTipo(clienteImovel.getClienteRelacaoTipo().getId()); if(clienteImovel.getCliente().getCpf() != null){ helper.setCpfCliente(clienteImovel.getCliente().getCpfFormatado()); } if(clienteImovel.getCliente().getCnpj() != null){ helper.setCpfCliente(clienteImovel.getCliente().getCnpjFormatado()); } } } //sessao.setAttribute("colecaoDadosNegativacaoPorImovelHelper", colecaoDadosNegativacaoPorImovelHelper); } } }else{ //Inserir im�vel selecionado List colecaoConta = (List)sessao.getAttribute("colecaoContaValores"); List colecaoGuias = (List)sessao.getAttribute("colecaoGuiaPagamentoValores"); Integer qtdItensDebitoImovel = colecaoConta.size() + colecaoGuias.size(); String totalDebitosImovel = (String)sessao.getAttribute("valorTotalSemAcrescimo"); //Dados do Cliente Selecionado e dos d�bitos do Im�vel DadosNegativacaoPorImovelHelper helper = new DadosNegativacaoPorImovelHelper(); helper.setIdImovel(new Integer(inserirComandoNegativacaoActionForm.getIdImovelDebitos())); helper.setIdCliente(clienteImovel.getCliente().getId()); helper.setIdClienteRelacaoTipo(clienteImovel.getClienteRelacaoTipo().getId()); if(clienteImovel.getCliente().getCpf() != null){ helper.setCpfCliente(clienteImovel.getCliente().getCpfFormatado()); } if(clienteImovel.getCliente().getCnpj() != null){ helper.setCpfCliente(clienteImovel.getCliente().getCnpjFormatado()); } helper.setColecaoConta(colecaoConta); helper.setColecaoGuias(colecaoGuias); helper.setQtdItensDebitoImovel(qtdItensDebitoImovel); helper.setTotalDebitosImovel(Util.formatarMoedaRealparaBigDecimal(totalDebitosImovel)); //[FS0011] Verificar matr�cula do im�vel j� existe na lista if(colecaoDadosNegativacaoPorImovelHelper.contains(helper)){ throw new ActionServletException( "atencao.imovel_ja_existe_lista"); } colecaoDadosNegativacaoPorImovelHelper.add(helper); } sessao.setAttribute("colecaoDadosNegativacaoPorImovelHelper", colecaoDadosNegativacaoPorImovelHelper); //Realizar um reload na tela httpServletRequest.setAttribute("reloadPage", "OK"); return retorno; } }