Browse Source

update proportion

master
cyril.tsui 4 weeks ago
parent
commit
72b92217f0
3 changed files with 5 additions and 5 deletions
  1. +1
    -1
      src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleLineRepository.kt
  2. +1
    -1
      src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleRepository.kt
  3. +3
    -3
      src/main/java/com/ffii/fpsms/modules/master/service/ProductionScheduleService.kt

+ 1
- 1
src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleLineRepository.kt View File

@@ -14,7 +14,7 @@ interface ProductionScheduleLineRepository : AbstractRepository<ProductionSchedu
with prod_prop as ( with prod_prop as (
select select
psl.id as pslId, psl.id as pslId,
round(coalesce(psl.prodQty, 0) / coalesce(b.outputQty, 1), 2) as proportion
round(coalesce(psl.prodQty, 0) / coalesce(b.outputQty, 1), 5) as proportion
from production_schedule_line psl from production_schedule_line psl
left join bom b on b.itemId = psl.itemId left join bom b on b.itemId = psl.itemId
where psl.id = :id and b.id is not null where psl.id = :id and b.id is not null


+ 1
- 1
src/main/java/com/ffii/fpsms/modules/master/entity/ProductionScheduleRepository.kt View File

@@ -83,7 +83,7 @@ interface ProductionScheduleRepository : AbstractRepository<ProductionSchedule,
with prod_prop as ( with prod_prop as (
select select
psl.id as pslId, psl.id as pslId,
round(coalesce(psl.prodQty, 0) / coalesce(b.outputQty, 1), 2) as proportion
round(coalesce(psl.prodQty, 0) / coalesce(b.outputQty, 1), 5) as proportion
from production_schedule ps from production_schedule ps
left join production_schedule_line psl on psl.prodScheduleId = ps.id left join production_schedule_line psl on psl.prodScheduleId = ps.id
left join bom b on b.itemId = psl.itemId left join bom b on b.itemId = psl.itemId


+ 3
- 3
src/main/java/com/ffii/fpsms/modules/master/service/ProductionScheduleService.kt View File

@@ -102,7 +102,7 @@ open class ProductionScheduleService(
// BigDecimal.ONE // BigDecimal.ONE
// } // }


val proportion = BigDecimal(line.prodQty).divide(bm.bom?.outputQty ?: BigDecimal.ONE, 2, RoundingMode.HALF_UP)
val proportion = BigDecimal(line.prodQty).divide(bm.bom?.outputQty ?: BigDecimal.ONE, 5, RoundingMode.HALF_UP)
val demandQty = bm.qty?.times(proportion) ?: zero val demandQty = bm.qty?.times(proportion) ?: zero
val saleUnit = bm.item?.id?.let { itemUomService.findSalesUnitByItemId(it) } val saleUnit = bm.item?.id?.let { itemUomService.findSalesUnitByItemId(it) }


@@ -189,7 +189,7 @@ open class ProductionScheduleService(
// BigDecimal.ONE // BigDecimal.ONE
// } // }


val proportion = BigDecimal(line.prodQty).divide(bm.bom?.outputQty ?: BigDecimal.ONE, 2, RoundingMode.HALF_UP)
val proportion = BigDecimal(line.prodQty).divide(bm.bom?.outputQty ?: BigDecimal.ONE, 5, RoundingMode.HALF_UP)
val demandQty = bm.qty?.times(proportion) ?: zero val demandQty = bm.qty?.times(proportion) ?: zero
val saleUnit = bm.item?.id?.let { itemUomService.findSalesUnitByItemId(it) } val saleUnit = bm.item?.id?.let { itemUomService.findSalesUnitByItemId(it) }


@@ -314,7 +314,7 @@ open class ProductionScheduleService(
val prodScheduleLine = request.id.let { productionScheduleLineRepository.findById(it).getOrNull() } ?: throw NoSuchElementException() val prodScheduleLine = request.id.let { productionScheduleLineRepository.findById(it).getOrNull() } ?: throw NoSuchElementException()
val bom = prodScheduleLine.item.id?.let { bomService.findByItemId(it) } val bom = prodScheduleLine.item.id?.let { bomService.findByItemId(it) }
val approver = SecurityUtils.getUser().getOrNull() val approver = SecurityUtils.getUser().getOrNull()
val proportion = request.demandQty.divide(bom?.outputQty ?: BigDecimal.ONE, 2, RoundingMode.HALF_UP)
val proportion = request.demandQty.divide(bom?.outputQty ?: BigDecimal.ONE, 5, RoundingMode.HALF_UP)


// Update Prod Schedule Line Prod qty // Update Prod Schedule Line Prod qty
prodScheduleLine.apply { prodScheduleLine.apply {


Loading…
Cancel
Save