package gcom.gui.cobranca; import gcom.cobranca.MotivoNaoAceitacaoEncerramentoOS; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import java.math.BigDecimal; import java.util.Date; 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; /** * [UC1172] Manter Motivos de N�o Aceita��o de Encerramento de OS * * Classe respons�vel por atualizar na base de dados o motivo de n�o * aceita��o do encerramento da OS. * * @author Diogo Peixoto * @since 25/05/2011 * */ public class AtualizarMotivoNaoAceitacaoEncerramentoOSAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); MotivoNaoAceitacaoEncerramentoOSAtualizarActionForm form = (MotivoNaoAceitacaoEncerramentoOSAtualizarActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); //Recuperando os dados do formul�rio String descricao = form.getDescricao(); String servicoDescontarCorteSupressao = form.getMultiplicadorValorServicoDescontarCorteSupressao(); String servicoDescontarNaoExecutados = form.getMultiplicadorValorServicoDescontarNaoExecutados(); String percentualMultaAplicar = form.getPercentualMultaAplicar(); String ativoInativo = form.getIndicadorUso(); String id = form.getId(); //Configurando os valores do objeto para ser inserido na base de dados MotivoNaoAceitacaoEncerramentoOS motivoNaoAceitacao = new MotivoNaoAceitacaoEncerramentoOS(); if(descricao != null && descricao.length() <= 40){ motivoNaoAceitacao.setDescricaoMotivoNaoAceitacaoEncerramentoOS(descricao); }else{ throw new ActionServletException("atencao.campo.informado", null ,"Descri��o " ); } if(Util.verificarNaoVazio(id)){ try{ motivoNaoAceitacao.setId(Integer.valueOf(id)); }catch (NumberFormatException e) { throw new ActionServletException("erro.sistema", null ,""); } } Short multiplicadorServicoDescontarCorteSupressao = null; if(servicoDescontarCorteSupressao != null && !servicoDescontarCorteSupressao.equals("")){ try{ multiplicadorServicoDescontarCorteSupressao = Short.valueOf(servicoDescontarCorteSupressao); motivoNaoAceitacao.setMultiplicadorValorServicoDescontarCorteSupressao(multiplicadorServicoDescontarCorteSupressao); }catch (NumberFormatException e) { throw new ActionServletException("atencao.gsan.campo_formato_invalido", null , "Multiplicador do valor de servi�o a ser descontado por servi�os n�o efetivamente executados" ); } }else{ throw new ActionServletException("atencao.campo.informado", null , "Multiplicador do valor de servi�o a ser descontado por corte ou supress�o" ); } Short multiplicadorServicoDescontarNaoExecutados; if(servicoDescontarNaoExecutados != null && !servicoDescontarNaoExecutados.equals("")){ try{ multiplicadorServicoDescontarNaoExecutados = Short.valueOf(servicoDescontarNaoExecutados); motivoNaoAceitacao.setMultiplicadorValorServicoDescontarNaoExecutados(multiplicadorServicoDescontarNaoExecutados); }catch (NumberFormatException e) { throw new ActionServletException("atencao.gsan.campo_formato_invalido", null , "Multiplicador do valor de servi�o a ser descontado por servi�os n�o efetivamente executados" ); } }else{ throw new ActionServletException("atencao.campo.informado", null , "Multiplicador do valor de servi�o a ser descontado por servi�os n�o efetivamente executados" ); } BigDecimal percentualMultaAplicarServicos = null; if(percentualMultaAplicar != null && !percentualMultaAplicar.equals("")){ try{ percentualMultaAplicarServicos = Util.formatarMoedaRealparaBigDecimal(percentualMultaAplicar); motivoNaoAceitacao.setPercentualMultaAplicar(percentualMultaAplicarServicos); }catch (NumberFormatException e) { throw new ActionServletException("atencao.gsan.campo_formato_invalido", null , "Percentual da multa a ser aplicada por servi�os n�o efetivamente executados" ); } }else{ throw new ActionServletException("atencao.campo.informado", null , "Percentual da multa a ser aplicada por servi�os n�o efetivamente executados"); } Short indicadorUso = null; if(ativoInativo != null){ try{ indicadorUso = Short.valueOf(ativoInativo); motivoNaoAceitacao.setIndicadorUso(indicadorUso); }catch (NumberFormatException e) { throw new ActionServletException("atencao.gsan.campo_formato_invalido", null , "Indicador Uso" ); } }else{ throw new ActionServletException("atencao.campo.informado", null , "Indicador Uso" ); } motivoNaoAceitacao.setUltimaAlteracao(new Date()); fachada.atualizar(motivoNaoAceitacao); montarPaginaSucesso(httpServletRequest, "Motivo de n�o aceita��o do encerramento de OS "+ motivoNaoAceitacao.getDescricaoMotivoNaoAceitacaoEncerramentoOS() + " atualizado com sucesso.", "Realizar outra Manuten��o de Motivo de N�o Aceita��o", "exibirManterMotivoNaoAceitacaoEncerramentoOSAction.do?menu=sim"); return retorno; } }