From f777a61a5afa34cfd468a0b9c040ee830c3463ad Mon Sep 17 00:00:00 2001 From: julio Date: Mon, 31 Mar 2014 19:48:37 +0000 Subject: [PATCH] Quilometragem - Mudar para decimal (fixed bug #4800) git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@34477 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../web/utilerias/MyTextboxDecimal.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyTextboxDecimal.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyTextboxDecimal.java index 8978e35fe..23d69518b 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyTextboxDecimal.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyTextboxDecimal.java @@ -21,15 +21,10 @@ import org.zkoss.zul.Textbox; /** * Textbox con validaciones de valores numericos. * - * Validaciones extras: maxValue - Indica cuál es el valor máximo permitido en - * el campo precision - Cuál es la precision de número scale - Cuál es la scala - * obligatorio - Indica se es obligatorio. El valo inicial es false. allowZero - - * Indica si es permitido valor cero allowNegative -Indica si es permitido - * valores negativos defaultZero - Indica se el valor inicial es cero + * Validaciones extras: maxValue - Indica cuál es el valor máximo permitido en el campo precision - Cuál es la precision de número scale - Cuál es la scala obligatorio - Indica se es obligatorio. El valo inicial es false. allowZero - Indica si es permitido valor cero allowNegative -Indica si es permitido valores negativos defaultZero - Indica se el valor inicial es cero * * - * Además de las validaciones extras, si puede ocupar las validaciones del ZK - * (no emptu, etc) + * Además de las validaciones extras, si puede ocupar las validaciones del ZK (no emptu, etc) * * @author gleimar */ @@ -205,8 +200,8 @@ public class MyTextboxDecimal extends Textbox implements AfterCompose { setConstraint((String) null); MyTextboxDecimal.this.setText((String) null); setConstraint(c); - - throw new WrongValueException(comp, new MessageFormat(Labels.getLabel("MSG.CONSTRAINT.MyTextboxDecimalConstraint.valorMaximo")).format(new String[]{maxValue})); + + throw new WrongValueException(comp, new MessageFormat(Labels.getLabel("MSG.CONSTRAINT.MyTextboxDecimalConstraint.valorMaximo")).format(new String[] { maxValue })); } } else if ((precision != null) && (scale != null)) { BigDecimal valor = getBigDecimal(val); @@ -215,7 +210,10 @@ public class MyTextboxDecimal extends Textbox implements AfterCompose { return; } - if ((valor.precision() > precision) || (valor.scale() > scale)) { + // o decremento de -2 na precision e feito, porque o formato de precision/scale(7,2) como o oracle + // para corrigir a validação para o zk, fazemos a conta da precision - 2 mais o valor do scale + // assim nao permitindo que ultrapasse o limite de numeros inteiros. + if (((valor.precision()) > (precision - 2) + valor.scale()) || (valor.scale() > scale)) { MyTextboxDecimal.this.setRawValue((String) null); Constraint c = getConstraint(); setConstraint((String) null);