package gcom.gui.cobranca; import gcom.cobranca.CobrancaCriterioLinha; 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 javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Processamento para atualizar a linha do criterio da cobran�a * * @author S�vio Luiz * @date 05/06/2006 */ public class AtualizarCriterioCobrancaLinhaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping .findForward("atualizarCriterioCobrancaLinha"); CriterioCobrancaActionForm criterioCobrancaActionForm = (CriterioCobrancaActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); CobrancaCriterioLinha cobrancaCriterioLinha = (CobrancaCriterioLinha) sessao .getAttribute("cobrancaCriteriolinha"); // atualiza cobranca criterio linha para ser exibido na tela de // inserir ou atualizar // verifica se o valor maximo � menor que o m�nimo BigDecimal valorDebitoMinimo = null; if (criterioCobrancaActionForm.getValorDebitoMinimo() != null && !criterioCobrancaActionForm.getValorDebitoMinimo() .equals("")) { valorDebitoMinimo = Util .formatarMoedaRealparaBigDecimal(criterioCobrancaActionForm .getValorDebitoMinimo()); } BigDecimal valorDebitoMaximo = null; if (criterioCobrancaActionForm.getValorDebitoMaximo() != null && !criterioCobrancaActionForm.getValorDebitoMaximo() .equals("")) { valorDebitoMaximo = Util .formatarMoedaRealparaBigDecimal(criterioCobrancaActionForm .getValorDebitoMaximo()); } if (valorDebitoMinimo != null && valorDebitoMaximo != null) { if (valorDebitoMinimo.compareTo(valorDebitoMaximo) == 1) { throw new ActionServletException( "atencao.valor.maximo.debito.menor.valor.minimo.debito"); } } cobrancaCriterioLinha.setValorMinimoDebito(valorDebitoMinimo); cobrancaCriterioLinha.setValorMaximoDebito(valorDebitoMaximo); Short qtdContasMinima = null; if (criterioCobrancaActionForm.getQtdContasMinima() != null && !criterioCobrancaActionForm.getQtdContasMinima().equals("")) { qtdContasMinima = new Short(criterioCobrancaActionForm .getQtdContasMinima()); } Short qtdContasMaxima = null; if (criterioCobrancaActionForm.getQtdContasMaxima() != null && !criterioCobrancaActionForm.getQtdContasMaxima().equals("")) { qtdContasMaxima = new Short(criterioCobrancaActionForm .getQtdContasMaxima()); } if (qtdContasMinima != null && qtdContasMaxima != null) { if (qtdContasMinima > qtdContasMaxima) { throw new ActionServletException( "atencao.quantidade.maxima.contas.menor.quantidade.minima.contas"); } } cobrancaCriterioLinha.setQuantidadeMinimaContas(qtdContasMinima); cobrancaCriterioLinha.setQuantidadeMaximaContas(qtdContasMaxima); if (criterioCobrancaActionForm.getVlMinimoDebitoCliente() != null && !criterioCobrancaActionForm.getVlMinimoDebitoCliente() .equals("")) { cobrancaCriterioLinha.setValorMinimoDebitoDebitoAutomatico(Util .formatarMoedaRealparaBigDecimal(criterioCobrancaActionForm .getVlMinimoDebitoCliente())); } if (criterioCobrancaActionForm.getQtdMinContasCliente() != null && !criterioCobrancaActionForm.getQtdMinContasCliente().equals( "")) { cobrancaCriterioLinha .setQuantidadeMinimaContasDebitoAutomatico(new Short( criterioCobrancaActionForm.getQtdMinContasCliente())); } if (criterioCobrancaActionForm.getVlMinimoContasMes() != null && !criterioCobrancaActionForm.getVlMinimoContasMes() .equals("")) { cobrancaCriterioLinha.setValorMinimoContaMes(Util .formatarMoedaRealparaBigDecimal(criterioCobrancaActionForm .getVlMinimoContasMes())); } if (criterioCobrancaActionForm.getQuantidadeMinimaParcelasAtraso() != null && !criterioCobrancaActionForm .getQuantidadeMinimaParcelasAtraso().equals("")) { cobrancaCriterioLinha .setQuantidadeMinimaContasParcelamento(new Short( criterioCobrancaActionForm .getQuantidadeMinimaParcelasAtraso())); } else { cobrancaCriterioLinha .setQuantidadeMinimaContasParcelamento(new Short("0")); } cobrancaCriterioLinha.setUltimaAlteracao(new Date()); httpServletRequest.setAttribute("fechaPopup", "true"); sessao.removeAttribute("cobrancaCriteriolinha"); return retorno; } }