package gcom.gui.faturamento.debito; import gcom.fachada.Fachada; import gcom.faturamento.debito.DebitoTipo; import gcom.faturamento.debito.FiltroDebitoTipo; import gcom.financeiro.FiltroFinanciamentoTipo; import gcom.financeiro.FinanciamentoTipo; import gcom.financeiro.lancamento.FiltroLancamentoItemContabil; import gcom.financeiro.lancamento.LancamentoItemContabil; 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 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 R�mulo Aur�lio * @date 14/03/2007 */ public class ExibirAtualizarTipoDebitoAction extends GcomAction { /** * Este caso de uso permite alterar e remover um Tipo de D�bito * * [UC0530] Manter Tipo de D�bito * * * @author R�mulo Aur�lio * @date 14/03/2007 * * @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("atualizarTipoDebito"); AtualizarTipoDebitoActionForm form = (AtualizarTipoDebitoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); String id = null; HttpSession sessao = httpServletRequest.getSession(false); /* * if (httpServletRequest.getParameter("idTipoDebito") != null && * !httpServletRequest.getParameter("idTipoDebito").equals( "")) { } */ // Carregando dados da tabela LancamentoItemContabil FiltroLancamentoItemContabil filtroLancamentoItemContabil = new FiltroLancamentoItemContabil(); filtroLancamentoItemContabil .setCampoOrderBy(FiltroLancamentoItemContabil.DESCRICAO); filtroLancamentoItemContabil.adicionarParametro(new ParametroSimples( FiltroLancamentoItemContabil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Verifica se os dados foram informados da tabela existem e joga numa // colecao Collection<LancamentoItemContabil> colecaoLancamentoItemContabil = fachada .pesquisar(filtroLancamentoItemContabil, LancamentoItemContabil.class.getName()); if (colecaoLancamentoItemContabil == null || colecaoLancamentoItemContabil.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Tabela Lancamento Item Contabil"); } httpServletRequest.setAttribute("colecaoLancamentoItemContabil", colecaoLancamentoItemContabil); // Carregando dados da tabela FinanciamentoTipo FiltroFinanciamentoTipo filtroFinanciamentoTipo = new FiltroFinanciamentoTipo(); filtroFinanciamentoTipo .setCampoOrderBy(FiltroFinanciamentoTipo.DESCRICAO); filtroFinanciamentoTipo.adicionarParametro(new ParametroSimples( FiltroFinanciamentoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Verifica se os dados foram informados da tabela existem e joga numa // colecao Collection<FinanciamentoTipo> colecaoFinanciamentoTipo = fachada .pesquisar(filtroFinanciamentoTipo, FinanciamentoTipo.class .getName()); if (colecaoFinanciamentoTipo == null || colecaoFinanciamentoTipo.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Tabela Financiamento Tipo"); } httpServletRequest.setAttribute("colecaoFinanciamentoTipo", colecaoFinanciamentoTipo); // 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 a funcionalidade 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("colecaoTipoDebito") == null) { if (sessao.getAttribute("objetoDebitoTipo") != null) { DebitoTipo debitoTipo = (DebitoTipo) sessao .getAttribute("objetoDebitoTipo"); sessao.setAttribute("idDebitoTipo", debitoTipo.getId() .toString()); form.setCodigo(debitoTipo.getId().toString()); form.setDescricao(debitoTipo.getDescricao()); form.setDescricaoAbreviada(debitoTipo.getDescricaoAbreviada()); form.setFinanciamentoTipo(debitoTipo.getFinanciamentoTipo() .getId().toString()); form.setLancamentoItemContabil(debitoTipo .getLancamentoItemContabil().getId().toString()); form.setIndicadorGeracaoDebitoAutomatica("" + debitoTipo.getIndicadorGeracaoAutomatica()); form.setIndicadorGeracaoDebitoConta("" + debitoTipo.getIndicadorGeracaoConta()); form.setIndicadorUso("" + debitoTipo.getIndicadorUso()); String valorAux = Util.formatarMoedaReal(debitoTipo .getValorLimite()); form.setValorLimiteDebito("" + valorAux); String valorSug = Util.formatarMoedaReal(debitoTipo .getValorSugerido()); form.setValorSugerido("" + valorSug); form.setIdTipoDebito(debitoTipo.getId().toString()); form.setIndicadorDebitoCartaoCredito(""+debitoTipo.getIndicadorDebitoCartaoCredito()); form.setIndicadorJurosParCliente(""+debitoTipo.getIndicadorJurosParCliente()); id = debitoTipo.getId().toString(); sessao.setAttribute("idTipoDebito", id); } else { String idTipoDebito = null; if (httpServletRequest.getParameter("idDebitoTipo") == null || httpServletRequest.getParameter("idDebitoTipo") .equals("")) { idTipoDebito = (String) sessao.getAttribute("idTipoDebito"); } else { idTipoDebito = (String) httpServletRequest .getParameter("idDebitoTipo"); sessao.setAttribute("idDebitoTipo", idTipoDebito); } sessao.setAttribute("idTipoDebito", idTipoDebito); id = idTipoDebito; FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo .adicionarCaminhoParaCarregamentoEntidade("financiamentoTipo"); filtroDebitoTipo .adicionarCaminhoParaCarregamentoEntidade("lancamentoItemContabil"); filtroDebitoTipo.adicionarParametro(new ParametroSimples( FiltroDebitoTipo.ID, idTipoDebito)); Collection<DebitoTipo> colecaoDebitoTipo = fachada.pesquisar( filtroDebitoTipo, DebitoTipo.class.getName()); if (colecaoDebitoTipo == null || colecaoDebitoTipo.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoDebitoTipo", colecaoDebitoTipo); DebitoTipo debitoTipo = (DebitoTipo) colecaoDebitoTipo .iterator().next(); form.setCodigo(debitoTipo.getId().toString()); form.setIdTipoDebito(debitoTipo.getId().toString()); form.setDescricao(debitoTipo.getDescricao()); form.setDescricaoAbreviada(debitoTipo.getDescricaoAbreviada()); form.setFinanciamentoTipo(debitoTipo.getFinanciamentoTipo() .getId().toString()); form.setLancamentoItemContabil(debitoTipo .getLancamentoItemContabil().getId().toString()); form.setIndicadorGeracaoDebitoAutomatica("" + debitoTipo.getIndicadorGeracaoAutomatica()); form.setIndicadorGeracaoDebitoConta("" + debitoTipo.getIndicadorGeracaoConta()); form.setIndicadorUso("" + debitoTipo.getIndicadorUso()); String valorAux = Util.formatarMoedaReal(debitoTipo .getValorLimite()); String valorSug = Util.formatarMoedaReal(debitoTipo .getValorSugerido()); form.setValorSugerido("" + valorSug); form.setValorLimiteDebito("" + valorAux); form.setIndicadorDebitoCartaoCredito("" + debitoTipo.getIndicadorDebitoCartaoCredito()); form.setIndicadorJurosParCliente(debitoTipo.getIndicadorJurosParCliente().toString()); form.setIdTipoDebito(debitoTipo.getId().toString()); } } // -------------- bt DESFAZER --------------- if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer") .equalsIgnoreCase("S")) { String idDebitoTipo = null; if (httpServletRequest.getParameter("idDebitoTipo") == null || httpServletRequest.getParameter("idDebitoTipo").equals( "")) { idDebitoTipo = (String) sessao.getAttribute("idDebitoTipo"); } else { idDebitoTipo = (String) httpServletRequest .getParameter("idDebitoTipo"); sessao.setAttribute("idDebitoTipo", idDebitoTipo); } if (idDebitoTipo.equalsIgnoreCase("")) { idDebitoTipo = null; } if ((idDebitoTipo == null) && (id == null)) { DebitoTipo debitoTipo = (DebitoTipo) sessao .getAttribute("objetoDebitoTipo"); form.setCodigo(debitoTipo.getId().toString()); form.setIdTipoDebito(debitoTipo.getId().toString()); form.setDescricao(debitoTipo.getDescricao()); form.setDescricaoAbreviada(debitoTipo.getDescricaoAbreviada()); form.setFinanciamentoTipo(debitoTipo.getFinanciamentoTipo() .getId().toString()); form.setLancamentoItemContabil(debitoTipo .getLancamentoItemContabil().getId().toString()); form.setIndicadorGeracaoDebitoAutomatica("" + debitoTipo.getIndicadorGeracaoAutomatica()); form.setIndicadorGeracaoDebitoConta("" + debitoTipo.getIndicadorGeracaoConta()); form.setIndicadorUso("" + debitoTipo.getIndicadorUso()); String valorAux = Util.formatarMoedaReal(debitoTipo .getValorLimite()); form.setValorLimiteDebito("" + valorAux); String valorSug = Util.formatarMoedaReal(debitoTipo .getValorSugerido()); form.setValorSugerido("" + valorSug); form.setIndicadorDebitoCartaoCredito("" + debitoTipo.getIndicadorDebitoCartaoCredito()); form.setIndicadorJurosParCliente(""+debitoTipo.getIndicadorJurosParCliente()); form.setIdTipoDebito(debitoTipo.getId().toString()); sessao.setAttribute("debitoTipoAtualizar", debitoTipo); sessao.removeAttribute("debitoTipo"); } if ((idDebitoTipo == null) && (id != null)) { idDebitoTipo = id; } if (idDebitoTipo != null) { FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo .adicionarCaminhoParaCarregamentoEntidade("financiamentoTipo"); filtroDebitoTipo .adicionarCaminhoParaCarregamentoEntidade("lancamentoItemContabil"); filtroDebitoTipo.adicionarParametro(new ParametroSimples( FiltroDebitoTipo.ID, idDebitoTipo)); Collection<DebitoTipo> colecaoDebitoTipo = fachada.pesquisar( filtroDebitoTipo, DebitoTipo.class.getName()); if (colecaoDebitoTipo == null || colecaoDebitoTipo.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoDebitoTipo", colecaoDebitoTipo); DebitoTipo debitoTipo = (DebitoTipo) colecaoDebitoTipo .iterator().next(); form.setCodigo(debitoTipo.getId().toString()); form.setIdTipoDebito(debitoTipo.getId().toString()); form.setDescricao(debitoTipo.getDescricao()); form.setDescricaoAbreviada(debitoTipo.getDescricaoAbreviada()); form.setFinanciamentoTipo(debitoTipo.getFinanciamentoTipo() .getId().toString()); form.setLancamentoItemContabil(debitoTipo .getLancamentoItemContabil().getId().toString()); form.setIndicadorGeracaoDebitoAutomatica("" + debitoTipo.getIndicadorGeracaoAutomatica()); form.setIndicadorGeracaoDebitoConta("" + debitoTipo.getIndicadorGeracaoConta()); form.setIndicadorUso("" + debitoTipo.getIndicadorUso()); String valorAux = Util.formatarMoedaReal(debitoTipo .getValorLimite()); form.setValorLimiteDebito("" + valorAux); String valorSug = Util.formatarMoedaReal(debitoTipo .getValorSugerido()); form.setValorSugerido("" + valorSug); form.setIndicadorDebitoCartaoCredito("" + debitoTipo.getIndicadorDebitoCartaoCredito()); form.setIndicadorJurosParCliente(""+debitoTipo.getIndicadorJurosParCliente()); form.setIdTipoDebito(debitoTipo.getId().toString()); } } // -------------- bt DESFAZER --------------- httpServletRequest.setAttribute("colecaoDebitoTipoTela", sessao .getAttribute("colecaoDebitoTipoTela")); return retorno; } }