package gcom.gui.arrecadacao.banco; import gcom.arrecadacao.banco.Agencia; import gcom.arrecadacao.banco.ContaBancaria; import gcom.arrecadacao.banco.FiltroAgencia; import gcom.arrecadacao.banco.FiltroContaBancaria; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; 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; /** * Descri��o da classe * * @author Thiago Ten�rio * @date 30/10/2006 */ public class ExibirAtualizarContaBancariaAction extends GcomAction { /** * [UC0393] Atualizar Ag�ncia Banc�ria * * Este caso de uso permite alterar um valor de Ag�ncia Banc�ria * * @author Thiago Ten�rio * @date 31/10/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("atualizarContaBancaria"); HttpSession sessao = httpServletRequest.getSession(false); AtualizarContaBancariaActionForm atualizarContaBancariaActionForm = (AtualizarContaBancariaActionForm) actionForm; if (httpServletRequest.getParameter("menu") != null) { atualizarContaBancariaActionForm.setBanco(""); atualizarContaBancariaActionForm.setAgenciaBancaria(""); } Fachada fachada = Fachada.getInstancia(); String id = null; String idContaBancaria = null; if (httpServletRequest.getParameter("idRegistroAtualizacao") != null && !httpServletRequest.getParameter("idRegistroAtualizacao") .equals("")) { sessao.removeAttribute("objetoContaBancaria"); sessao.removeAttribute("colecaoContaBancariaTela"); } // 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"); } // Verifica se o ContaBancaria 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("contaBancariaAtualizar") == null) { ContaBancaria contaBancaria = null; if (sessao.getAttribute("contaBancaria") != null) { contaBancaria = (ContaBancaria) sessao .getAttribute("contaBancaria"); sessao.setAttribute("idContaBancaria", contaBancaria.getId() .toString()); sessao.setAttribute("filtrar", true); id = contaBancaria.getId().toString(); } else { idContaBancaria = null; if (httpServletRequest.getParameter("inserir") != null) { sessao.setAttribute("inserir", true); sessao.setAttribute("filtrar", true); } else { sessao.removeAttribute("filtrar"); sessao.removeAttribute("inserir"); } if (httpServletRequest.getParameter("idRegistroAtualizacao") == null || httpServletRequest.getParameter( "idRegistroAtualizacao").equals("")) { contaBancaria = (ContaBancaria) sessao .getAttribute("objetoContaBancaria"); } else { idContaBancaria = (String) httpServletRequest .getParameter("idRegistroAtualizacao"); sessao.setAttribute("idRegistroAtualizacao", idContaBancaria); } if (idContaBancaria != null) { id = idContaBancaria; FiltroContaBancaria filtroContaBancaria = new FiltroContaBancaria(); filtroContaBancaria .adicionarCaminhoParaCarregamentoEntidade("agencia.banco"); filtroContaBancaria .adicionarCaminhoParaCarregamentoEntidade("agencia"); filtroContaBancaria .adicionarParametro(new ParametroSimples( FiltroContaBancaria.ID, idContaBancaria)); Collection colecaoContaBancaria = fachada .pesquisar(filtroContaBancaria, ContaBancaria.class .getName()); if (colecaoContaBancaria == null || colecaoContaBancaria.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoContaBancaria", colecaoContaBancaria); contaBancaria = (ContaBancaria) colecaoContaBancaria .iterator().next(); } if (idContaBancaria == null) { if (sessao.getAttribute("idRegistroAtualizacao") != null) { idContaBancaria = (String) sessao .getAttribute("idRegistroAtualizacao"); } else { contaBancaria = (ContaBancaria) sessao .getAttribute("contaBancaria"); idContaBancaria = contaBancaria.getId().toString(); } } FiltroContaBancaria filtroContaBancaria = new FiltroContaBancaria(); filtroContaBancaria.adicionarParametro(new ParametroSimples( FiltroContaBancaria.ID, idContaBancaria)); filtroContaBancaria .adicionarCaminhoParaCarregamentoEntidade("agencia.banco"); filtroContaBancaria .adicionarCaminhoParaCarregamentoEntidade("agencia"); Collection colecaoContaBancaria = (Collection) fachada .pesquisar(filtroContaBancaria, ContaBancaria.class .getName()); contaBancaria = (ContaBancaria) colecaoContaBancaria.iterator() .next(); } atualizarContaBancariaActionForm.setContaBanco(contaBancaria .getNumeroConta()); if (contaBancaria .getNumeroContaContabil() != null) { atualizarContaBancariaActionForm.setContaContabil(contaBancaria .getNumeroContaContabil().toString()); } else { atualizarContaBancariaActionForm.setContaContabil(""); } atualizarContaBancariaActionForm.setBanco(contaBancaria .getAgencia().getBanco().getId().toString()); atualizarContaBancariaActionForm.setAgenciaBancaria(contaBancaria .getAgencia().getId().toString()); if (contaBancaria.getAgencia().getBanco() != null) { atualizarContaBancariaActionForm.setBanco(contaBancaria .getAgencia().getBanco().getId().toString()); } else { atualizarContaBancariaActionForm.setBanco(""); } if (contaBancaria.getAgencia() != null) { atualizarContaBancariaActionForm .setAgenciaBancaria(contaBancaria.getAgencia().getId() .toString()); } else { atualizarContaBancariaActionForm.setAgenciaBancaria(""); } sessao.setAttribute("contaBancariaAtualizar", contaBancaria); } // -------------- bt DESFAZER --------------- if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer") .equalsIgnoreCase("S")) { sessao.removeAttribute("colecaoContaBancariaTela"); String contaBancariaID = null; if (sessao.getAttribute("idRegistroAtualizacao") != null && !sessao.getAttribute("idRegistroAtualizacao").equals("")) { contaBancariaID = (String) sessao .getAttribute("idRegistroAtualizacao"); } if ((contaBancariaID == null) && (id == null)) { ContaBancaria contaBancaria = (ContaBancaria) sessao .getAttribute("contaBancaria"); // atualizarAgenciaBancariaActionForm // .setCodigo(agencia.getId() // .toString()); atualizarContaBancariaActionForm.setContaBanco(contaBancaria .getNumeroConta()); if (contaBancaria .getNumeroContaContabil() != null) { atualizarContaBancariaActionForm.setContaContabil(contaBancaria .getNumeroContaContabil().toString()); } else { atualizarContaBancariaActionForm.setContaContabil(""); } atualizarContaBancariaActionForm.setBanco(contaBancaria .getAgencia().getBanco().getId().toString()); sessao.setAttribute("contaBancariaAtualizar", contaBancaria); sessao.removeAttribute("contaBancaria"); } if ((idContaBancaria == null) && (id != null)) { idContaBancaria = id; } if (idContaBancaria != null) { FiltroContaBancaria filtroContaBancaria = new FiltroContaBancaria(); filtroContaBancaria .adicionarCaminhoParaCarregamentoEntidade("agencia.banco"); filtroContaBancaria.adicionarParametro(new ParametroSimples( FiltroContaBancaria.ID, idContaBancaria)); Collection colecaoContaBancaria = fachada .pesquisar(filtroContaBancaria, ContaBancaria.class .getName()); if (colecaoContaBancaria == null || colecaoContaBancaria.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoContaBancaria", colecaoContaBancaria); ContaBancaria contaBancaria = (ContaBancaria) colecaoContaBancaria .iterator().next(); atualizarContaBancariaActionForm.setContaBanco(contaBancaria .getNumeroConta()); if (contaBancaria .getNumeroContaContabil() != null) { atualizarContaBancariaActionForm.setContaContabil(contaBancaria .getNumeroContaContabil().toString()); } else { atualizarContaBancariaActionForm.setContaContabil(""); } atualizarContaBancariaActionForm.setBanco(contaBancaria .getAgencia().getBanco().getId().toString()); atualizarContaBancariaActionForm .setAgenciaBancaria(contaBancaria.getAgencia().getId() .toString()); httpServletRequest.setAttribute("idContaBancaria", idContaBancaria); sessao.setAttribute("contaBancariaAtualizar", contaBancaria); } } else { String idBanco = atualizarContaBancariaActionForm.getBanco(); if (idBanco != null && !idBanco.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { FiltroAgencia filtroAgencia = new FiltroAgencia(); filtroAgencia.adicionarParametro(new ParametroSimples(FiltroAgencia.BANCO_ID, idBanco)); Collection colecaoAgencia = fachada.pesquisar(filtroAgencia, Agencia.class.getName()); sessao.setAttribute("colecaoAgencia", colecaoAgencia); } else { sessao.removeAttribute("colecaoAgencia"); } } // -------------- bt DESFAZER --------------- httpServletRequest.setAttribute("colecaoContaBancariaTela", sessao .getAttribute("colecaoContaBancariaTipoValorTela")); return retorno; } }