From 874c98fadbbcfe084e01e89ff506cc7bb68ee39c Mon Sep 17 00:00:00 2001 From: "kelvin.yau" Date: Tue, 25 Nov 2025 15:46:08 +0800 Subject: [PATCH] decimals update --- .../com/ffii/fpsms/modules/master/service/ItemUomService.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/master/service/ItemUomService.kt b/src/main/java/com/ffii/fpsms/modules/master/service/ItemUomService.kt index ea45490..c77c7c6 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/service/ItemUomService.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/service/ItemUomService.kt @@ -7,6 +7,7 @@ import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional import java.io.IOException import java.math.BigDecimal +import java.math.RoundingMode import kotlin.jvm.optionals.getOrNull @Service @@ -48,8 +49,8 @@ open class ItemUomService( val stockUnit = findStockUnitByItemId(itemId) ?: return purchaseQty; val one = BigDecimal.ONE; - val baseQty = purchaseQty.multiply(purchaseUnit.ratioN ?: one).divide(purchaseUnit.ratioD ?: one) - val stockQty = baseQty.multiply(stockUnit.ratioD ?: one).divide(stockUnit.ratioN ?: one) + val baseQty = purchaseQty.multiply(purchaseUnit.ratioN ?: one).divide(purchaseUnit.ratioD ?: one, 2, RoundingMode.HALF_UP) + val stockQty = baseQty.multiply(stockUnit.ratioD ?: one).divide(stockUnit.ratioN ?: one, 2, RoundingMode.HALF_UP) return stockQty; }