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.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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 [UC0915] Inserir Entidade Beneficente. * Pr�-valida algumas informa��es ao usu�rio utilizar a tecla enter para selecionar o cliente e o tipo de d�bito. * * @author Samuel Valerio * @date 11/06/2009 * @since 4.1.6.4 * */ public class ExibirInserirEntidadeBeneficenteAction extends GcomAction { @Override public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("inserirEntidadeBeneficente"); Fachada fachada = Fachada.getInstancia(); EntidadeBeneficenteActionForm form = (EntidadeBeneficenteActionForm) actionForm; httpServletRequest.setAttribute("nomeCampo", "entidadeBeneficente.cliente.id"); Cliente cliente = form.getEntidadeBeneficente().getCliente(); if (cliente.getId() != null) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, cliente.getId())); filtroCliente.adicionarCaminhoParaCarregamentoEntidade("clienteTipo"); Collection colecaoCliente = fachada.pesquisar(filtroCliente, Cliente.class.getName()); // [FS0001] - Verificar exist�ncia do cliente if (colecaoCliente == null || colecaoCliente.isEmpty()) { if (!new Integer(0).equals(cliente.getId())) cliente.setNome("CLIENTE INEXISTENTE"); cliente.setId(null); httpServletRequest.setAttribute("existeCliente","exception"); httpServletRequest.setAttribute("nomeCampo", "entidadeBeneficente.cliente.id"); }else{ Cliente clienteEncontrado = (Cliente) Util.retonarObjetoDeColecao(colecaoCliente); // [FS0002] - Verificar se cliente � pessoa jur�dica fachada.validarSeClienteEhPessoaJuridica(clienteEncontrado); form.getEntidadeBeneficente().setCliente(clienteEncontrado); httpServletRequest.setAttribute("nomeCampo","entidadeBeneficente.debitoTipo.id"); } } DebitoTipo debitoTipo = form.getEntidadeBeneficente().getDebitoTipo(); if (debitoTipo.getId() != null) { FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo.adicionarParametro(new ParametroSimples( FiltroDebitoTipo.ID, debitoTipo.getId())); Collection colecaoDebitoTipo = fachada.pesquisar(filtroDebitoTipo, DebitoTipo.class.getName()); // [FS0003] - Verificar exist�ncia do tipo de d�bito if (colecaoDebitoTipo == null || colecaoDebitoTipo.isEmpty()) { if (!new Integer(0).equals(debitoTipo.getId())) debitoTipo.setDescricao("TIPO DE D�BITO INEXISTENTE"); debitoTipo.setId(null); httpServletRequest.setAttribute("existeDebitoTipo","exception"); httpServletRequest.setAttribute("nomeCampo", "entidadeBeneficente.debitoTipo.id"); } else { DebitoTipo debitoTipoEncontrado = (DebitoTipo) Util.retonarObjetoDeColecao(colecaoDebitoTipo); // [FS0004] - Verificar se tipo de d�bito n�o � gerado automaticamente fachada.validarSeDebitoTipoNaoEhGeradoAutomaticamente(debitoTipoEncontrado); form.getEntidadeBeneficente().setDebitoTipo(debitoTipoEncontrado); httpServletRequest.setAttribute("nomeCampo", "entidadeBeneficente.empresa.id"); } } FiltroEmpresa filtroEmpresa = new FiltroEmpresa(); filtroEmpresa.adicionarParametro(new ParametroSimples(FiltroEmpresa.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroEmpresa.setCampoOrderBy(FiltroEmpresa.DESCRICAO); 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); return retorno; } }