package com.ffii.fpsms.py

import java.math.BigDecimal
import java.time.LocalDateTime

/**
 * Job order list item for Python API (/py/job-orders).
 * No login required.
 * stockInLineId and itemId are for QR code: {"itemId": xxx, "stockInLineId": xxx}
 * lotNo replaces job order no. on the label display.
 * [itemName] is BOM/item display name plus stock UOM [udfudesc] in parentheses, e.g. "名稱(單位)";
 * if the name already contains both "(" and ")", the stock unit is not appended.
 */
data class PyJobOrderListItem(
    val id: Long,
    val code: String?,
    val planStart: LocalDateTime?,
    val itemCode: String?,
    val itemName: String?,
    val reqQty: BigDecimal?,
    val stockInLineId: Long?,
    val itemId: Long?,
    val lotNo: String?,
    /** Cumulative qty from 打袋機 DataFlex submits (DATAFLEX). */
    val bagPrintedQty: Long = 0,
    /** Cumulative qty from 標簽機 submits (LABEL). */
    val labelPrintedQty: Long = 0,
    /** Cumulative qty from 激光機 submits (LASER). */
    val laserPrintedQty: Long = 0,
)
