diff --git a/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceLineController.java b/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceLineController.java
index 763632f..cb6130d 100644
--- a/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceLineController.java
+++ b/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceLineController.java
@@ -40,6 +40,7 @@ import com.axelor.rpc.Context;
import com.google.common.base.Strings;
import com.google.inject.Singleton;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
@@ -401,4 +402,23 @@ public class InvoiceLineController {
}
response.setValue("fixedAssetCategory", fixedAssetCategory);
}
+
+
+ public void updateQtyUg(ActionRequest request, ActionResponse response) throws AxelorException{
+ Context context = request.getContext();
+ InvoiceLine invoiceLine = context.asType(InvoiceLine.class);
+
+ BigDecimal qtyUg = invoiceLine.getProduct().getUg();
+ BigDecimal qty = invoiceLine.getQty();
+ BigDecimal totalQty = qty.add(qty.multiply(qtyUg).divide(new BigDecimal(100), 4,RoundingMode.HALF_EVEN));
+ Product product = invoiceLine.getProduct();
+ if(product.getUg() != null && product.getUg().compareTo(BigDecimal.ZERO) > 0){
+ BigDecimal ug = invoiceLine.getProduct().getUg().divide(new BigDecimal(100), 10, RoundingMode.HALF_EVEN);
+ BigDecimal ugAmount = ug.divide(ug.add(BigDecimal.ONE),10, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100));
+ response.setValue("discountTypeSelect", 1);
+ response.setValue("discountAmount", ugAmount);
+ response.setValue("qty", totalQty);
+ }
+ }
+
}
diff --git a/modules/axelor-open-suite/axelor-base/src/main/resources/domains/Product.xml b/modules/axelor-open-suite/axelor-base/src/main/resources/domains/Product.xml
index b52f113..1b1578e 100644
--- a/modules/axelor-open-suite/axelor-base/src/main/resources/domains/Product.xml
+++ b/modules/axelor-open-suite/axelor-base/src/main/resources/domains/Product.xml
@@ -141,6 +141,10 @@
+
+
+
+
0){
+ BigDecimal ug = saleOrderLine.getProduct().getUg().divide(new BigDecimal(100), 10, RoundingMode.HALF_EVEN);
+ BigDecimal ugAmount = ug.divide(ug.add(BigDecimal.ONE),10, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100));
+ response.setValue("discountTypeSelect", 1);
+ response.setValue("discountAmount", ugAmount);
+ response.setValue("qty", totalQty);
+ }
+ }
+
public void resetPackLine(ActionRequest request, ActionResponse response) throws AxelorException {
Context context = request.getContext();