|
|
|
@@ -470,22 +470,25 @@ open class SuggestedPickLotService( |
|
|
|
} |
|
|
|
|
|
|
|
// Get or create StockOut |
|
|
|
/* |
|
|
|
val stockOut = stockOutRepository.findFirstByConsoPickOrderCodeOrderByIdDesc(pickOrder.consoCode ?: "") |
|
|
|
.orElseGet { |
|
|
|
|
|
|
|
val consoCode = (pickOrder.consoCode ?: "").trim() |
|
|
|
// Fallback when consoCode is blank (prevents querying "" and always getting null) |
|
|
|
val stockOutKey = if (consoCode.isNotEmpty()) consoCode else "PO-${pickOrder.id ?: 0L}" |
|
|
|
|
|
|
|
val stockOut = stockOutRepository.findFirstByConsoPickOrderCodeOrderByIdDesc(stockOutKey) |
|
|
|
?: run { |
|
|
|
val handlerId = pickOrder.assignTo?.id ?: SecurityUtils.getUser().orElse(null)?.id |
|
|
|
require(handlerId != null) { "Cannot create StockOut: handlerId is null" } |
|
|
|
val newStockOut = StockOut().apply { |
|
|
|
this.consoPickOrderCode = pickOrder.consoCode ?: "" |
|
|
|
this.type = pickOrderTypeValue // Use pick order type (do, job, material, etc.) |
|
|
|
this.consoPickOrderCode = stockOutKey |
|
|
|
this.type = pickOrderTypeValue |
|
|
|
this.status = StockOutStatus.PENDING.status |
|
|
|
this.handler = handlerId |
|
|
|
} |
|
|
|
stockOutRepository.save(newStockOut) |
|
|
|
} |
|
|
|
*/ |
|
|
|
val stockOut = stockOutRepository.findFirstByConsoPickOrderCodeOrderByIdDesc(pickOrder.consoCode ?: "") |
|
|
|
val item = pickOrderLine.item ?: itemRepository.findById(pickOrderLine.item!!.id!!).orElseThrow() |
|
|
|
|
|
|
|
val item = pickOrderLine.item ?: itemRepository.findById(pickOrderLine.item!!.id!!).orElseThrow() |
|
|
|
// Create stock out line with inventoryLotLineId = null |
|
|
|
val stockOutLine = StockOutLine().apply { |
|
|
|
this.stockOut = stockOut |
|
|
|
|