From d5aceaa765e1e3b6d8ec5722a58e71048f98c930 Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Sat, 2 Aug 2025 04:12:51 +0800 Subject: [PATCH] update --- .../modules/pickOrder/service/PickOrderService.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt index 5635990..c684685 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt @@ -398,6 +398,7 @@ open class PickOrderService( open fun releaseConsoPickOrderInfo(consoCode: String): ReleasePickOrderInfoResponse { val today = LocalDate.now() val zero = BigDecimal.ZERO + val one = BigDecimal.ONE val pos = pickOrderRepository.findAllByConsoCodeAndStatus(consoCode, PickOrderStatus.CONSOLIDATED) println(pos) // Get Inventory Data @@ -432,7 +433,8 @@ open class PickOrderService( .map { po -> val releasePickOrderLineInfos = po.pickOrderLines.map { pol -> // if (pol.item?.id != null && pol.item!!.id!! > 0) { - val inventory = pol.item?.id.let { inventories[it] } + val inventory = pol.item?.id?.let { inventories[it] } + val itemUom = pol.item?.id?.let { itemUomService.findSalesUnitByItemId(it) } // val inventory = inventories.find { it.itemId == pol.item?.id } // Return @@ -442,7 +444,7 @@ open class PickOrderService( itemCode = pol.item?.code, itemName = pol.item?.name, // availableQty = inventory?.availableQty, - availableQty = inventory?.sumOf { i -> i.availableQty ?: zero }, + availableQty = inventory?.sumOf { i -> (i.availableQty ?: zero) * (itemUom?.ratioN ?: one) * (itemUom?.ratioD ?: one) }, requiredQty = pol.qty, uomCode = pol.uom?.code, uomDesc = pol.uom?.udfudesc, @@ -467,9 +469,13 @@ open class PickOrderService( // .find { it.itemId == item.first } val inventory = item.first?.let { inventories[it] } + val itemUom = item.first?.let { itemUomService.findSalesUnitByItemId(it) } + item.second.let { // it.availableQty = inventory?.availableQty - it.availableQty = inventory?.sumOf { i -> i.availableQty ?: zero } + +// it.availableQty = inventory?.sumOf { i -> i.availableQty ?: zero } + it.availableQty = inventory?.sumOf { i -> (i.availableQty ?: zero) * (itemUom?.ratioN ?: one) * (itemUom?.ratioD ?: one) } // return it