package com.ffii.fpsms.modules.jobOrder.web.model

/**
 * Body for Bag2.py-style laser TCP send: `json;itemCode;itemName;;` (UTF-8).
 * Optional [printerIp] / [printerPort] override system settings [LASER_PRINT.host] / [LASER_PRINT.port].
 *
 * Optional job metadata is used to persist [com.ffii.fpsms.modules.common.SettingNames.LASER_PRINT_LAST_RECEIVE_SUCCESS]
 * when the printer returns a receive ack.
 */
data class LaserBag2SendRequest(
    val itemId: Long? = null,
    val stockInLineId: Long? = null,
    val itemCode: String? = null,
    val itemName: String? = null,
    val printerIp: String? = null,
    val printerPort: Int? = null,
    val jobOrderId: Long? = null,
    val jobOrderNo: String? = null,
    val lotNo: String? = null,
    /** AUTO (auto-send) or MANUAL (/laserPrint); optional. */
    val source: String? = null,
)
