package gcom.gui.cadastro.entidadebeneficente; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.FiltroEmpresa; import gcom.fachada.Fachada; import gcom.faturamento.debito.DebitoTipo; import gcom.faturamento.debito.FiltroDebitoTipo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Carrega os dados necess�rios e redireciona para a p�gina que invocar� o [UC0917] Filtrar Entidade Beneficente. * * @author Hugo Fernando * @date 18/01/2010 * @since 4.1.6.4 * */ public class ExibirFiltrarEntidadeBeneficenteAction extends GcomAction{ @Override public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("filtrarEntidadeBeneficente"); Fachada fachada = Fachada.getInstancia(); FiltrarEntidadeBeneficenteActionForm form = (FiltrarEntidadeBeneficenteActionForm) actionForm; if(form.getAtualizar() == null){ form.setAtualizar("1"); } FiltroEmpresa filtroEmpresa = new FiltroEmpresa(); filtroEmpresa.setCampoOrderBy(FiltroEmpresa.DESCRICAO); // Verifica se os dados foram informados da tabela existem e joga numa // colecao Collection<Empresa> colecaoEmpresa = fachada.pesquisar(filtroEmpresa, Empresa.class.getName()); if (colecaoEmpresa == null || colecaoEmpresa.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Empresa"); } httpServletRequest.setAttribute("colecaoEmpresa", colecaoEmpresa); // Parte que trata do c�digo quando o usu�rio tecla enter para pesquisar algum campo. Cliente cliente = form.getCliente(); //Verifica se o c�digo do Cliente foi digitado if ( cliente != null && cliente.getId() != null && cliente.getId() > 0) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.ID, cliente.getId())); Collection<Cliente> ColecaoclienteEncontrado = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (ColecaoclienteEncontrado != null && !ColecaoclienteEncontrado.isEmpty()) { //o Cliente foi encontrado Cliente clienteEncontrado = (Cliente) Util.retonarObjetoDeColecao(ColecaoclienteEncontrado); // resgata os parametros do cliente encontrado. Integer idClienteEncontrado = clienteEncontrado.getId();//((Cliente) ((List) ColecaoclienteEncontrado).get(0)).getId(); String nomeClienteEncontrado = clienteEncontrado.getNome();//((Cliente) ((List) ColecaoclienteEncontrado).get(0)).getNome(); // seta os parametros do cliente encontrado no actionForm. cliente.setId(idClienteEncontrado); cliente.setNome(nomeClienteEncontrado); form.setCliente(cliente); if(form.getDebitoTipo().getId()!= null && form.getDebitoTipo().equals("0")){ form.getDebitoTipo().setId(null); } httpServletRequest.setAttribute("idClienteEncontrado","true"); httpServletRequest.setAttribute("nomeCampo", "debitoTipo.id"); } else { // nao foi encontrado nenhum Cliente. cliente.setId(null); cliente.setNome("CLIENTE N�O EMCONTRADO"); if(form.getDebitoTipo().getId()!= null && form.getDebitoTipo().equals("0")){ form.getDebitoTipo().setId(null); } form.setCliente(cliente); httpServletRequest.setAttribute("nomeCampo", "cliente.id"); } } DebitoTipo debitoTipo = form.getDebitoTipo(); // Verifica se o tipo de debito foi digitado if( debitoTipo != null && debitoTipo.getId() != null && debitoTipo.getId().intValue() > 0){ FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo.adicionarParametro( new ParametroSimples( FiltroDebitoTipo.ID , debitoTipo.getId() ) ); Collection<DebitoTipo> debitoTipoEncontrado = fachada.pesquisar(filtroDebitoTipo, DebitoTipo.class.getName()); if (debitoTipoEncontrado != null && !debitoTipoEncontrado.isEmpty()) { // O Debito tipo foi encontrado. // resgata os parametros do debitoTipo encontrado. Integer idDebitoTipo = ((DebitoTipo) ((List) debitoTipoEncontrado).get(0)).getId(); String descricaoDebitoTipo = ((DebitoTipo) ((List) debitoTipoEncontrado).get(0)).getDescricao(); // seta os parametros do debitoTipo encontrado no actionForm. form.getDebitoTipo().setId(idDebitoTipo); form.getDebitoTipo().setDescricao(descricaoDebitoTipo); if(form.getCliente().getId()!= null && form.getCliente().equals("0")){ form.getCliente().setId(null); } httpServletRequest.setAttribute("idDebitoTipoEncontrado","true"); } else { // nao foi encontrado nenhum DebitoTipo. form.getDebitoTipo().setId(null); form.getDebitoTipo().setDescricao("CLIENTE N�O EMCONTRADO"); if(form.getCliente().getId()!= null && form.getCliente().equals("0")){ form.getCliente().setId(null); } } httpServletRequest.setAttribute("nomeCampo", "idDebitoTipo"); } //-------Fim de parte que trata do c�digo quando o usu�rio tecla enter //-------------- bt DESFAZER --------------- if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer").equalsIgnoreCase("sim")) { form.setAtualizar(""); form.setCliente(null); form.setDebitoTipo(null); form.setEmpresa(null); form.setFimMesAnoAdesao(""); form.setInicioMesAnoAdesao(""); form.setId(null); form.setUltimaAlteracao(null); } // Fim------------Desfazer-------------------- if( form.getCliente() == null ){ form.setCliente(new Cliente()); } if( form.getDebitoTipo() == null ){ form.setDebitoTipo(new DebitoTipo()); } if( form.getEmpresa() == null ){ form.setEmpresa(new Empresa()); } return retorno; } }