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.cadastro.imovel.EntidadeBeneficente; import gcom.cadastro.imovel.FiltroEntidadeBeneficente; 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 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 ExibirAtualizarEntidadeBeneficenteAction extends GcomAction{ /** * * [UC0916] Manter Entidade Beneficente * * * @author Hugo Fernando * @date 21/01/2010 * * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("atualizarEntidadeBeneficente"); AtualizarEntidadeBeneficenteActionForm form = (AtualizarEntidadeBeneficenteActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); //Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Verifica se veio do filtrar ou do manter if (httpServletRequest.getParameter("manter") != null) { sessao.setAttribute("manter", true); } else if (httpServletRequest.getParameter("filtrar") != null) { sessao.removeAttribute("manter"); } 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 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); Integer idClienteEncontrado = clienteEncontrado.getId(); String nomeClienteEncontrado = clienteEncontrado.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 { cliente.setId(null); cliente.setNome("CLIENTE N�O EMCONTRADO"); httpServletRequest.setAttribute("idClienteNaoEncontrado","true"); form.setCliente(cliente); if(form.getDebitoTipo().getId()!= null && form.getDebitoTipo().equals("0")){ form.getDebitoTipo().setId(null); } httpServletRequest.setAttribute("nomeCampo", "cliente.id"); } } else{ httpServletRequest.setAttribute("idClienteEncontrado","true"); } DebitoTipo debitoTipo = form.getDebitoTipo(); //Verifica se o c�digo do tipoDebito 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> colecaoDebitoTipoEncontrado = fachada.pesquisar(filtroDebitoTipo, DebitoTipo.class.getName()); if (colecaoDebitoTipoEncontrado != null && !colecaoDebitoTipoEncontrado.isEmpty()) { //O debitoTipo foi encontrado com sucesso. DebitoTipo debitoTipoEncontrado = (DebitoTipo) Util.retonarObjetoDeColecao(colecaoDebitoTipoEncontrado); Integer idDebitoTipo = debitoTipoEncontrado.getId(); String descricaoDebitoTipo = debitoTipoEncontrado.getDescricao(); debitoTipo.setId(idDebitoTipo); debitoTipo.setDescricao(descricaoDebitoTipo); form.setDebitoTipo(debitoTipo); if(form.getCliente().getId()!= null && form.getCliente().equals("0")){ form.getCliente().setId(null); } httpServletRequest.setAttribute("idDebitoTipoEncontrado","true"); httpServletRequest.setAttribute("nomeCampo", "debitoTipo.id"); } else { form.getDebitoTipo().setId( null ); form.getDebitoTipo().setDescricao( "TIPO DE D�BITO NAO ENCONTRADO" ); if(form.getCliente().getId()!= null && form.getCliente().equals("0")){ form.getCliente().setId(null); } httpServletRequest.setAttribute("idDebitoNaoTipoEncontrado","true"); httpServletRequest.setAttribute("nomeCampo", "debitoTipo.id"); } } else{ httpServletRequest.setAttribute("idDebitoTipoEncontrado","true"); } //-------Fim de parte que trata do c�digo quando o usu�rio tecla enter //Verifica se o usuario informou a unidade organizacional e teclou enter if(httpServletRequest.getParameter("enter") == null){ // Verifica se o funcionario j� est� na sess�o, em caso afirmativo // significa que o usu�rio j� entrou na tela e apenas selecionou algum // item que deu um reload na tela e em caso negativo significa que ele // est� entrando pela primeira vez if (sessao.getAttribute("objetoEntidadeBeneficente") != null) { EntidadeBeneficente entidadeBeneficente = (EntidadeBeneficente) sessao .getAttribute("objetoEntidadeBeneficente"); sessao.setAttribute("idEntidadeBeneficente", entidadeBeneficente.getId().toString()); form.setCliente(entidadeBeneficente.getCliente()); form.setDebitoTipo(entidadeBeneficente.getDebitoTipo()); form.setEmpresa(entidadeBeneficente.getEmpresa()); form.setId(entidadeBeneficente.getId()); form.setIndicadorUso(entidadeBeneficente.getIndicadorUso()); form.setUltimaAlteracao(entidadeBeneficente.getUltimaAlteracao()); if( entidadeBeneficente.getAnoMesContratoInicial() != null ){ String anoInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(0,4); String mesInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(4); if( mesInicioAdesao.length() == 1 ){ mesInicioAdesao = "0"+mesInicioAdesao; } form.setInicioMesAnoAdesao(mesInicioAdesao+"/"+anoInicioAdesao); entidadeBeneficente.setInicioMesAnoAdesao2(mesInicioAdesao+"/"+anoInicioAdesao); } if( entidadeBeneficente.getAnoMesContratoFinal() != null ){ String anoFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(0,4); String mesFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(4); if( mesFimAdesao.length() == 1 ){ mesFimAdesao = "0"+mesFimAdesao; } form.setFimMesAnoAdesao(mesFimAdesao+"/"+anoFimAdesao); entidadeBeneficente.setFimMesAnoAdesao2(mesFimAdesao+"/"+anoFimAdesao); } sessao.setAttribute("entidadeBeneficenteAtualizar", entidadeBeneficente); sessao.removeAttribute("objetoEntidadeBeneficente"); } else { String idEntidadeBeneficente = null; if (httpServletRequest.getParameter("idEntidadeBeneficente") == null || httpServletRequest.getParameter("idEntidadeBeneficente").equals("")) { idEntidadeBeneficente = (String) sessao.getAttribute("idEntidadeBeneficente"); } else { idEntidadeBeneficente = (String) httpServletRequest.getParameter("idEntidadeBeneficente"); sessao.setAttribute("idEntidadeBeneficente", idEntidadeBeneficente); } httpServletRequest.setAttribute("idEntidadeBeneficente",idEntidadeBeneficente); sessao.setAttribute("idEntidadeBeneficente",idEntidadeBeneficente); FiltroEntidadeBeneficente filtroEntidadeBeneficente = new FiltroEntidadeBeneficente(); filtroEntidadeBeneficente.adicionarCaminhoParaCarregamentoEntidade("empresa"); filtroEntidadeBeneficente.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroEntidadeBeneficente.adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroEntidadeBeneficente.adicionarParametro(new ParametroSimples(FiltroEntidadeBeneficente.ID, idEntidadeBeneficente)); Collection<EntidadeBeneficente> colecaoEntidadeBeneficente = fachada .pesquisar(filtroEntidadeBeneficente, EntidadeBeneficente.class.getName()); if (colecaoEntidadeBeneficente == null || colecaoEntidadeBeneficente.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } EntidadeBeneficente entidadeBeneficente = (EntidadeBeneficente) colecaoEntidadeBeneficente.iterator().next(); form.setCliente(entidadeBeneficente.getCliente()); form.setDebitoTipo(entidadeBeneficente.getDebitoTipo()); form.setEmpresa(entidadeBeneficente.getEmpresa()); form.setId(entidadeBeneficente.getId()); form.setIndicadorUso(entidadeBeneficente.getIndicadorUso()); form.setUltimaAlteracao(entidadeBeneficente.getUltimaAlteracao()); if( entidadeBeneficente.getAnoMesContratoInicial() != null ){ String anoInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(0,4); String mesInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(4); if( mesInicioAdesao.length() == 1 ){ mesInicioAdesao = "0"+mesInicioAdesao; } form.setInicioMesAnoAdesao(mesInicioAdesao+"/"+anoInicioAdesao); entidadeBeneficente.setInicioMesAnoAdesao2(mesInicioAdesao+"/"+anoInicioAdesao); } if( entidadeBeneficente.getAnoMesContratoFinal() != null ){ String anoFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(0,4); String mesFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(4); if( mesFimAdesao.length() == 1 ){ mesFimAdesao = "0"+mesFimAdesao; } form.setFimMesAnoAdesao(mesFimAdesao+"/"+anoFimAdesao); entidadeBeneficente.setFimMesAnoAdesao2(mesFimAdesao+"/"+anoFimAdesao); } httpServletRequest.setAttribute("colecaoEntidadeBeneficente",colecaoEntidadeBeneficente); sessao.setAttribute("entidadeBeneficenteAtualizar", entidadeBeneficente); } } // -------------- bt DESFAZER --------------- if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer").equalsIgnoreCase("sim")) { String idEntidadeBeneficente = null; if (httpServletRequest.getParameter("idEntidadeBeneficente") == null || httpServletRequest.getParameter("idEntidadeBeneficente").equals("")) { idEntidadeBeneficente = (String) sessao.getAttribute("idEntidadeBeneficente"); } else { idEntidadeBeneficente = (String) httpServletRequest.getParameter("idEntidadeBeneficente"); sessao.setAttribute("idEntidadeBeneficente", idEntidadeBeneficente); } if (idEntidadeBeneficente.equalsIgnoreCase("")) { idEntidadeBeneficente = null; } if (idEntidadeBeneficente == null) { EntidadeBeneficente entidadeBeneficente = (EntidadeBeneficente) sessao .getAttribute("objetoEntidadeBeneficente"); form.setCliente(entidadeBeneficente.getCliente()); form.setDebitoTipo(entidadeBeneficente.getDebitoTipo()); form.setEmpresa(entidadeBeneficente.getEmpresa()); form.setId(entidadeBeneficente.getId()); form.setIndicadorUso(entidadeBeneficente.getIndicadorUso()); form.setUltimaAlteracao(entidadeBeneficente.getUltimaAlteracao()); if( entidadeBeneficente.getAnoMesContratoInicial() != null ){ String anoInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(0,4); String mesInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(4); if( mesInicioAdesao.length() == 1 ){ mesInicioAdesao = "0"+mesInicioAdesao; } form.setInicioMesAnoAdesao(mesInicioAdesao+"/"+anoInicioAdesao); entidadeBeneficente.setInicioMesAnoAdesao2(mesInicioAdesao+"/"+anoInicioAdesao); } if( entidadeBeneficente.getAnoMesContratoFinal() != null ){ String anoFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(0,4); String mesFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(4); if( mesFimAdesao.length() == 1 ){ mesFimAdesao = "0"+mesFimAdesao; } form.setFimMesAnoAdesao(mesFimAdesao+"/"+anoFimAdesao); entidadeBeneficente.setFimMesAnoAdesao2(mesFimAdesao+"/"+anoFimAdesao); } sessao.setAttribute("entidadeBeneficenteAtualizar", entidadeBeneficente); sessao.removeAttribute("entidadeBeneficente"); } else if (idEntidadeBeneficente != null) { FiltroEntidadeBeneficente filtroEntidadeBeneficente = new FiltroEntidadeBeneficente(); filtroEntidadeBeneficente.adicionarCaminhoParaCarregamentoEntidade("empresa"); filtroEntidadeBeneficente.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroEntidadeBeneficente.adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroEntidadeBeneficente.adicionarParametro(new ParametroSimples( FiltroEntidadeBeneficente.ID, idEntidadeBeneficente)); Collection<EntidadeBeneficente> colecaoEntidadeBeneficente = fachada.pesquisar(filtroEntidadeBeneficente, EntidadeBeneficente.class.getName()); if (colecaoEntidadeBeneficente == null || colecaoEntidadeBeneficente.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoEntidadeBeneficente", colecaoEntidadeBeneficente); EntidadeBeneficente entidadeBeneficente = (EntidadeBeneficente) colecaoEntidadeBeneficente .iterator().next(); form.setCliente(entidadeBeneficente.getCliente()); form.setDebitoTipo(entidadeBeneficente.getDebitoTipo()); form.setEmpresa(entidadeBeneficente.getEmpresa()); form.setId(entidadeBeneficente.getId()); form.setIndicadorUso(entidadeBeneficente.getIndicadorUso()); form.setUltimaAlteracao(entidadeBeneficente.getUltimaAlteracao()); if( entidadeBeneficente.getAnoMesContratoInicial() != null ){ String anoInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(0,4); String mesInicioAdesao = entidadeBeneficente.getAnoMesContratoInicial().toString().substring(4); if( mesInicioAdesao.length() == 1 ){ mesInicioAdesao = "0"+mesInicioAdesao; } form.setInicioMesAnoAdesao(mesInicioAdesao+"/"+anoInicioAdesao); entidadeBeneficente.setInicioMesAnoAdesao2(mesInicioAdesao+"/"+anoInicioAdesao); } if( entidadeBeneficente.getAnoMesContratoFinal() != null ){ String anoFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(0,4); String mesFimAdesao = entidadeBeneficente.getAnoMesContratoFinal().toString().substring(4); if( mesFimAdesao.length() == 1 ){ mesFimAdesao = "0"+mesFimAdesao; } form.setFimMesAnoAdesao(mesFimAdesao+"/"+anoFimAdesao); entidadeBeneficente.setFimMesAnoAdesao2(mesFimAdesao+"/"+anoFimAdesao); } } } // -------------- bt DESFAZER --------------- return retorno; } }