Pārlūkot izejas kodu

fix the prod qty in forecast

reset-do-picking-order
Fai Luk pirms 1 nedēļas
vecāks
revīzija
ae53c10a6a
1 mainītis faili ar 6 papildinājumiem un 5 dzēšanām
  1. +6
    -5
      src/main/java/com/ffii/fpsms/modules/master/service/ProductionScheduleService.kt

+ 6
- 5
src/main/java/com/ffii/fpsms/modules/master/service/ProductionScheduleService.kt Parādīt failu

@@ -432,11 +432,11 @@ open class ProductionScheduleService(
val bom = bomService.findByItemId(itemId)
?: throw NoSuchElementException("BOM not found for Item ID $itemId.")

// 4. Update Prod Schedule Line fields
// 4. Update Prod Schedule Line fields (keep prodQty = total = outputQty * batchNeed)
val outputQtyDouble = bom.outputQty?.toDouble()
?: throw IllegalStateException("BOM output quantity is null for Item ID $itemId.")
prodScheduleLine.apply {
// Use bom.outputQty, ensuring it's treated as Double for prodQty
prodQty = bom.outputQty?.toDouble()
?: throw IllegalStateException("BOM output quantity is null for Item ID $itemId.")
prodQty = outputQtyDouble * batchNeed.toLong().coerceAtLeast(0)
approverId = approver?.id
}
@@ -966,7 +966,8 @@ open class ProductionScheduleService(
savedItem.refScheduleId = detailedScheduleObj.id;
savedItem.approverId = null;
savedItem.estCloseBal = detailedScheduleObj.outputQty;
savedItem.prodQty = detailedScheduleObj.outputQty
// prodQty = total production = batchQty (outputQty per batch) * batchNeed
savedItem.prodQty = detailedScheduleObj.outputQty * detailedScheduleObj.batchNeed.toInt().coerceAtLeast(0)
savedItem.type = "detailed"
savedItem.assignDate = LocalDateTime.now().dayOfMonth.toLong();
savedItem.weightingRef = detailedScheduleObj.needQty


Notiek ielāde…
Atcelt
Saglabāt