private void calcularPrecioSd(int index, PrecioItemProxy object, String value) { if (!FieldVerifier.notIsNumberPositivo(value, "Precio sin descuento")) { ContextMantenimientoPrecioItem context = FACTORY.contextMantenimientoPrecioItem(); FACTORY.initialize(EVENTBUS); PrecioItemProxy beanEdit = context.edit(object); BigDecimal valprecioSd = BigDecimal.valueOf(Double.parseDouble(value)); BigDecimal valDescuento = object.getDescuento(); BigDecimal valPrecioVenta = valprecioSd.subtract(valDescuento); BigDecimal valValorVenta = valPrecioVenta.divide( UISesionImpl.beanInitParam .getIgv() .divide(BigDecimal.valueOf(100), 5, RoundingMode.HALF_UP) .add(BigDecimal.ONE), 5, RoundingMode.HALF_UP); BigDecimal igv = valPrecioVenta.subtract(valValorVenta); beanEdit.setPrecioSD(valprecioSd); beanEdit.setDescuento(valDescuento); beanEdit.setPrecioVenta(valPrecioVenta); beanEdit.setValorVenta(valValorVenta); beanEdit.setIgv(igv); // GWT.log("Index Vista: " + index); // Window.alert("inicio"+index); // index = dataProvider.getList().indexOf(object); // Window.alert("fin"+index); int indexModel = data.indexOf(object); // GWT.log("Index Modelo: " + indexModel); data.set(indexModel, beanEdit); indexUpdates.add(indexModel); context.fire(); dataProvider.refresh(); // Update the row and subrow. setKeyboardSelectedRow(index, 0, true); // Update the column index. setKeyboardSelectedColumn(5, true); } }
@Override public String getValue(PrecioItemProxy object) { return object.getDescuento().toString(); }