package gcom.gui.faturamento; import gcom.cadastro.imovel.FiltroImovelCobrancaSituacao; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.ImovelCobrancaSituacao; import gcom.cobranca.CobrancaSituacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Manter D�bito a Cobrar ao Imovel * [UC0184] Manter D�bito a Cobrar * @author Rafael Santos * @since 30/12/2005 * */ public class ManterDebitoACobrarAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ManterDebitoACobrarActionForm manterDebitoACobrarActionForm = (ManterDebitoACobrarActionForm) actionForm; //Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); String confirmado = httpServletRequest.getParameter("confirmado"); HttpSession sessao = httpServletRequest.getSession(false); Imovel imovel = null; if(sessao.getAttribute("imovelPesquisado") != null){ imovel = (Imovel)sessao.getAttribute("imovelPesquisado"); } Fachada fachada = Fachada.getInstancia(); // Obt�m os ids de remo��o String[] ids = manterDebitoACobrarActionForm.getIdDebitoACobrar(); //mensagem de erro quando o usu�rio tenta excluir sem ter selecionado // nenhum //registro if (ids == null || ids.length == 0) { throw new ActionServletException( "atencao.registros.nao_selecionados"); } // [FS0003 - Verificar usu�rio com d�bito em cobran�a // administrativa] if (imovel != null) { FiltroImovelCobrancaSituacao filtroImovelCobrancaSituacao = new FiltroImovelCobrancaSituacao(); filtroImovelCobrancaSituacao .adicionarCaminhoParaCarregamentoEntidade("cobrancaSituacao"); filtroImovelCobrancaSituacao .adicionarParametro(new ParametroSimples( FiltroImovelCobrancaSituacao.IMOVEL_ID, imovel .getId())); Collection imovelCobrancaSituacaoEncontrada = fachada .pesquisar(filtroImovelCobrancaSituacao, ImovelCobrancaSituacao.class.getName()); // Verifica se o im�vel tem d�bito em cobran�a administrativa if (imovelCobrancaSituacaoEncontrada != null && !imovelCobrancaSituacaoEncontrada.isEmpty()) { if (((ImovelCobrancaSituacao) ((List) imovelCobrancaSituacaoEncontrada) .get(0)).getCobrancaSituacao() != null) { if (((ImovelCobrancaSituacao) ((List) imovelCobrancaSituacaoEncontrada) .get(0)).getCobrancaSituacao().getId().equals( CobrancaSituacao.COBRANCA_ADMINISTRATIVA) && ((ImovelCobrancaSituacao) ((List) imovelCobrancaSituacaoEncontrada) .get(0)).getDataRetiradaCobranca() == null) { throw new ActionServletException( "atencao.pesquisa.imovel.cobranca_administrativa"); } } } } if (confirmado == null || !confirmado.trim().equalsIgnoreCase("ok")){ httpServletRequest.setAttribute("caminhoActionConclusao","/gsan/manterDebitoACobrarAction.do"); if(fachada.verificarAutosAssociadosAoDebito(manterDebitoACobrarActionForm.getIdDebitoACobrar())){ return montarPaginaConfirmacao("atencao.existe_auto_infracao", httpServletRequest,actionMapping); } } Integer matriculaImovel = null; if (imovel != null){ matriculaImovel = imovel.getId(); } fachada.cancelarDebitoACobrar(ids, getUsuarioLogado(httpServletRequest), matriculaImovel); //Monta a p�gina de sucesso if (retorno.getName().equalsIgnoreCase("telaSucesso")) { montarPaginaSucesso(httpServletRequest, ids.length + " D�bito(s) a Cobrar do im�vel " +imovel.getId()+ " cancelado(s) com sucesso.", "Realizar outro Cancelamento de D�bito a Cobrar", "exibirManterDebitoACobrarAction.do?menu=sim"); } return retorno; } }