package gcom.gui.cobranca.parcelamento; import gcom.arrecadacao.ArrecadacaoForma; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; public class ExibirAdicionarPagamentoCartaoCreditoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirAdicionarPagamentoCartaoCredito"); HttpSession sessao = httpServletRequest.getSession(false); String pesquisaCliente = httpServletRequest.getParameter("pesquisaCliente"); String validaData = httpServletRequest.getParameter("validaData"); String inicio = httpServletRequest.getParameter("inicio"); String pesquisaSubmit = httpServletRequest.getParameter("pesquisaSubmit"); Fachada fachada = Fachada.getInstancia(); ParcelamentoCartaoConfirmarForm form = (ParcelamentoCartaoConfirmarForm) actionForm; if(inicio != null && inicio.equalsIgnoreCase("sim")){ form.setCartaoCredito("-1"); form.setIdCliente(""); form.setNomeCliente(""); form.setAutorizacaoCartao(""); form.setValidadeCartao(""); form.setDocumentoCartao(""); form.setNumeroIdentificacaoTransacao(""); form.setNumeroCartao(""); form.setValorTransacao(""); form.setDataOperadora(""); form.setQtdParcelas(form.getNumeroPrestacoes().toString()); } if(pesquisaSubmit!=null && pesquisaSubmit.equalsIgnoreCase("sim")){ httpServletRequest.setAttribute("pesquisaSubmit","sim"); } // RECUPERA DADOS DO POPUP if (httpServletRequest.getParameter("tipoConsulta") != null && httpServletRequest.getParameter("tipoConsulta").equals( "cliente")) { form.setIdCliente(httpServletRequest .getParameter("idCampoEnviarDados")); form.setNomeCliente(httpServletRequest .getParameter("descricaoCampoEnviarDados")); } // PESQUISAR CLIENTE if (pesquisaCliente != null && pesquisaCliente.equalsIgnoreCase("sim")) { this.pesquisarCliente(form.getIdCliente(), form, fachada, httpServletRequest); } // PESQUISAR CARTOES DE CREDITO this.pesquisarCartoesDeCredito(sessao, fachada, form); if (validaData != null && validaData.equalsIgnoreCase("sim")) { if (form.getValidadeCartao() != null && !form.getValidadeCartao().equalsIgnoreCase("")) { Date dataAtual = new Date(System.currentTimeMillis()); Integer anoMesAtual = Util.getAnoMesComoInteger(dataAtual); Integer anoMesValidade = Util .formatarMesAnoComBarraParaAnoMes(form .getValidadeCartao()); if (Util.compararAnoMesReferencia(anoMesValidade, anoMesAtual, "<")) { sessao.setAttribute("validadeCartaoinvalida", "true"); form.setValidadeCartaoInvalida("true"); } else { sessao.removeAttribute("validadeCartaoinvalida"); form.setValidadeCartaoInvalida("false"); } } } return retorno; } private void pesquisarCartoesDeCredito(HttpSession sessao, Fachada fachada, ParcelamentoCartaoConfirmarForm form) { Collection<Cliente> colecaoCartao = null; if (form.getModalidadeCartao().equals(ConstantesSistema.MODALIDADE_CARTAO_CREDITO.toString())){ colecaoCartao = fachada.pesquisarCartoes(ArrecadacaoForma.CARTAO_CREDITO); } else{ colecaoCartao = fachada.pesquisarCartoes(ArrecadacaoForma.CARTAO_DEBITO); } sessao.setAttribute("colecaoCartao", colecaoCartao); } /** * Pesquisar Clientes * * @param filtroCliente * @param idCliente * @param clientes * @param filtrarImovelFiltrarActionForm * @param fachada * @param httpServletRequest */ public void pesquisarCliente(String idCliente, ParcelamentoCartaoConfirmarForm filtro, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, idCliente)); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection clienteEncontrado = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (clienteEncontrado != null && !clienteEncontrado.isEmpty()) { // O municipio foi encontrado filtro.setIdCliente("" + ((Cliente) ((List) clienteEncontrado).get(0)).getId()); filtro.setNomeCliente(((Cliente) ((List) clienteEncontrado).get(0)) .getNome()); httpServletRequest.setAttribute("idClienteNaoEncontrado", "true"); httpServletRequest.setAttribute("nomeCampo", "cepFiltro"); } else { filtro.setIdCliente(""); httpServletRequest.setAttribute("idClienteNaoEncontrado", "exception"); filtro.setNomeCliente("Cliente inexistente"); httpServletRequest.setAttribute("nomeCampo", "idClienteFiltro"); } } }