package gcom.gui.cobranca.spcserasa; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.spcserasa.bean.DadosNegativacaoPorImovelHelper; import gcom.util.ConstantesSistema; import gcom.util.ControladorException; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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 validar as informa��es da segunda aba do * processo de inser��o de um Comando de Negativa��o * * @author Ana Maria * @date 06/11/2007 */ public class InserirComandoNegativacaoMatriculaImovelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ControladorException { ActionForward retorno = actionMapping.findForward("telaSucesso"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); InserirComandoNegativacaoActionForm inserirComandoNegativacaoActionForm = (InserirComandoNegativacaoActionForm) actionForm; //Pesquisa Usuario String usuario = inserirComandoNegativacaoActionForm.getUsuario(); if(usuario != null && !usuario.equals("")){ FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.ID, usuario)); Collection colecaoUsuario = fachada.pesquisar( filtroUsuario,Usuario.class.getName()); if (colecaoUsuario != null && !colecaoUsuario.isEmpty()) { httpServletRequest.setAttribute("corUsuario", "valor"); inserirComandoNegativacaoActionForm.setUsuario("" + ((Usuario) ((List) colecaoUsuario).get(0)).getId()); inserirComandoNegativacaoActionForm.setNomeUsuario("" + ((Usuario) ((List) colecaoUsuario).get(0)).getNomeUsuario()); } else { throw new ActionServletException( "atencao.cliente.inexistente"); } } Collection<DadosNegativacaoPorImovelHelper> colecaoDadosNegativacaoPorImovelHelper = (Collection)sessao.getAttribute("colecaoDadosNegativacaoPorImovelHelper"); if(colecaoDadosNegativacaoPorImovelHelper == null || colecaoDadosNegativacaoPorImovelHelper.isEmpty()){ throw new ActionServletException( "atencao.informe_imovel_negativacao"); } //Verifica o bloqueio de negativa��o para o cliente Iterator iColecaoDadosNegativacao = colecaoDadosNegativacaoPorImovelHelper.iterator(); while (iColecaoDadosNegativacao.hasNext()){ DadosNegativacaoPorImovelHelper dadosNegativacao = (DadosNegativacaoPorImovelHelper)iColecaoDadosNegativacao.next(); Collection colecaoCliente = null; if (dadosNegativacao.getIdCliente() != null && !dadosNegativacao.getIdCliente().equals("")){ FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.ID, dadosNegativacao.getIdCliente())); colecaoCliente = fachada.pesquisarCliente(filtroCliente); Iterator icliente = colecaoCliente.iterator(); Cliente cliente = (Cliente) icliente.next(); if (cliente.getIndicadorPermiteNegativacao().equals(ConstantesSistema.NAO)){ throw new ActionServletException("atencao.cliente_bloqueado_negativacao", cliente.getNome()); } } } Integer idNegativador = new Integer(inserirComandoNegativacaoActionForm.getIdNegativador()); String identificacaoCI = inserirComandoNegativacaoActionForm.getIdentificacaoCI(); Integer idUsuario = new Integer(inserirComandoNegativacaoActionForm.getUsuario()); fachada.gerarMovimentoInclusaoNegativacao(null, ConstantesSistema.TIPO_COMANDO_POR_MATRICULA_IMOVEIS, identificacaoCI, idNegativador, idUsuario, colecaoDadosNegativacaoPorImovelHelper, new Date(), inserirComandoNegativacaoActionForm.getIndicadorBaixaRenda(), inserirComandoNegativacaoActionForm.getIndicadorContaNomeCliente(), inserirComandoNegativacaoActionForm.getIndicadorImovelCategoriaPublico()); //Monta a p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Foram enviados "+colecaoDadosNegativacaoPorImovelHelper.size() + " im�veis para negativa��o.", "Efetuar outra Negativa��o", ""); return retorno; } }