From cebda2dbb4f91f212790c46a868c0c95bf51c180 Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Tue, 9 Sep 2025 12:30:35 +0800 Subject: [PATCH] update proportion/ratio --- .../modules/jobOrder/service/JobOrderBomMaterialService.kt | 2 +- .../master/entity/ProductionScheduleLineRepository.kt | 3 ++- .../modules/master/entity/ProductionScheduleRepository.kt | 3 ++- .../modules/master/service/ProductionScheduleService.kt | 6 +++--- .../fpsms/modules/pickOrder/service/PickOrderService.kt | 2 +- .../ffii/fpsms/modules/stock/service/StockInLineService.kt | 2 +- .../ffii/fpsms/modules/stock/service/StockOutLineService.kt | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JobOrderBomMaterialService.kt b/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JobOrderBomMaterialService.kt index 9265e68..ed1294b 100644 --- a/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JobOrderBomMaterialService.kt +++ b/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JobOrderBomMaterialService.kt @@ -24,7 +24,7 @@ open class JobOrderBomMaterialService( open fun createJobOrderBomMaterialRequests(joId: Long): List { val zero = BigDecimal.ZERO val jo = jobOrderRepository.findById(joId).getOrNull() ?: throw NoSuchElementException() - val proportion = (jo.reqQty ?: zero).divide(jo.bom?.outputQty ?: BigDecimal.ONE, 5, RoundingMode.HALF_UP) + val proportion = BigDecimal.ONE //(jo.reqQty ?: zero).divide(jo.bom?.outputQty ?: BigDecimal.ONE, 5, RoundingMode.HALF_UP) val jobmRequests = jo.bom?.bomMaterials?.map { bm -> val salesUnit = bm.item?.id?.let { itemUomService.findSalesUnitByItemId(it) } diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleLineRepository.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleLineRepository.kt index e87758d..018878b 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleLineRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleLineRepository.kt @@ -14,7 +14,8 @@ interface ProductionScheduleLineRepository : AbstractRepository itemUomService.findSalesUnitByItemId(_itemId) } - val ratio = (salesUnit?.ratioN ?: zero).divide(salesUnit?.ratioD ?: one) + val ratio = BigDecimal.ONE //(salesUnit?.ratioN ?: zero).divide(salesUnit?.ratioD ?: one) val remainingQty = (inventoryLotLine?.inQty ?: zero) .minus(inventoryLotLine?.outQty ?: zero) diff --git a/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt b/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt index 4b90c05..40a32b5 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt @@ -373,7 +373,7 @@ open class StockInLineService( val purchaseItemUom = itemUomRespository.findByItemIdAndPurchaseUnitIsTrueAndDeletedIsFalse(request.itemId) val stockItemUom = itemUomRespository.findByItemIdAndStockUnitIsTrueAndDeletedIsFalse(request.itemId) val ratio = if (stockItemUom != null && purchaseItemUom != null) { - (purchaseItemUom.ratioN!! / purchaseItemUom.ratioD!!) / (stockItemUom.ratioN!! / stockItemUom.ratioD!!) + BigDecimal.ONE // (purchaseItemUom.ratioN!! / purchaseItemUom.ratioD!!) / (stockItemUom.ratioN!! / stockItemUom.ratioD!!) } else { BigDecimal.ONE } diff --git a/src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineService.kt b/src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineService.kt index b535700..4ca62dd 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineService.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineService.kt @@ -142,7 +142,7 @@ fun handleQc(stockOutLine: StockOutLine, request: UpdateStockOutLineRequest): Li val one = BigDecimal.ONE val targetLotLine = inventoryLotLineRepository.findById(request.inventoryLotLineId!!).orElseThrow() val salesUnit = inventoryLotLine?.inventoryLot?.item?.id?.let {_itemId -> itemUomRespository.findByItemIdAndSalesUnitIsTrueAndDeletedIsFalse(_itemId) } - val ratio = (salesUnit?.ratioN ?: zero).divide(salesUnit?.ratioD ?: one).toDouble() + val ratio = 1.0 //(salesUnit?.ratioN ?: zero).divide(salesUnit?.ratioD ?: one).toDouble() val targetLotLineEntry = targetLotLine.apply { this.outQty = (this.outQty?: BigDecimal.ZERO) + (request.qty.div(ratio)).toBigDecimal()