package gcom.gui.util.tabelaauxiliar.faixa; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.tabelaauxiliar.faixa.TabelaAuxiliarFaixaReal; import java.math.BigDecimal; 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; /** * @author R�mulo Aur�lio * */ public class AtualizarTabelaAuxiliarFaixaRealAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Pega o action form TabelaAuxiliarFaixaRealActionForm form = (TabelaAuxiliarFaixaRealActionForm) actionForm; // Seta o retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); // Recupera o ponto de coleta da sess�o TabelaAuxiliarFaixaReal tabelaAuxiliarFaixaReal = (TabelaAuxiliarFaixaReal) sessao .getAttribute("tabelaAuxiliarFaixaReal"); // Atualiza a tabela auxiliar com os dados inseridos pelo usu�rio // A data de �ltima altera��o n�o � alterada, pois ser� usada na // verifica��o de atualiza��o BigDecimal volumeMaiorFaixa = null; if (!form.getVolumeMaiorFaixa().equalsIgnoreCase("")) { volumeMaiorFaixa = new BigDecimal(0); String valorAux = form.getVolumeMaiorFaixa().toString().replace( ".", ""); valorAux = valorAux.replace(",", "."); volumeMaiorFaixa = new BigDecimal(valorAux); tabelaAuxiliarFaixaReal.setVolumeMaiorFaixa(volumeMaiorFaixa); } if (!form.getVolumeMenorFaixa().equalsIgnoreCase("")) { BigDecimal volumeMenorFaixa = new BigDecimal(0); String valorAux1 = form.getVolumeMenorFaixa().toString().replace( ".", ""); valorAux1 = valorAux1.replace(",", "."); volumeMenorFaixa = new BigDecimal(valorAux1); tabelaAuxiliarFaixaReal.setVolumeMenorFaixa(volumeMenorFaixa); if (volumeMaiorFaixa != null && volumeMenorFaixa != null) { if (volumeMenorFaixa.compareTo(volumeMaiorFaixa) > 0) { throw new ActionServletException("atencao.volume_menor_faixa_superior_maior_faixa"); } } } if (form.getIndicadorUso() != null) { tabelaAuxiliarFaixaReal.setIndicadorUso(new Short(form .getIndicadorUso())); } // Atualiza os dados fachada.atualizarTabelaAuxiliar(tabelaAuxiliarFaixaReal); // Monta a p�gina de sucesso if (retorno.getName().equalsIgnoreCase("telaSucesso")) { montarPaginaSucesso( httpServletRequest, ((String) sessao.getAttribute("titulo")) + " " + tabelaAuxiliarFaixaReal.getId().toString() + " atualizado(a) com sucesso.", "Realizar outra manuten��o de " + ((String) sessao.getAttribute("titulo")), ((String) sessao .getAttribute("funcionalidadeTabelaAuxiliarFaixaRealFiltrar"))); } // Remove os objetos da sess�o sessao.removeAttribute("funcionalidadeTabelaAuxiliarFaixaRealManter"); sessao.removeAttribute("titulo"); sessao.removeAttribute("tabelaAuxiliarFaixaReal"); sessao.removeAttribute("tamMaxCampoDescricao"); sessao.removeAttribute("tamMaxCampoDescricaoAbreviada"); // devolve o mapeamento de retorno return retorno; } }