package com.ffii.fpsms.modules.purchaseOrder.entity.projections

import com.ffii.fpsms.modules.stock.entity.StockInLine
import org.springframework.beans.factory.annotation.Value
import java.time.LocalDate
import java.time.LocalDateTime

interface PurchaseOrderInfo {
    val id: Long
    val code: String
    val orderDate: LocalDateTime
    val estimatedArrivalDate: LocalDateTime
    val completeDate: LocalDateTime
    val status: String
    @get:Value("#{target.supplier?.name}")
    val supplier: String?
    var escalated: Boolean?
}

data class PurchaseOrderDataClass(
    val id: Long,
    val code: String,
    val orderDate: LocalDateTime?,
    val estimatedArrivalDate: LocalDateTime?,
    val completeDate: LocalDateTime?,
    val itemDetail: String,
    val itemCode: String,
    val itemName: String,
    val itemQty: String,
    val itemSumAcceptedQty: String,
    val itemUom: String,
    val status: String,
    val supplier: String?,
    var escalated: Boolean?
)