package com.grkj.iscs.model.bo

/**
 * 工作票下发BO
 */
data class WorkTicketSendBO(
    /**
     * 权限卡号
     */
    var cardNo: String? = null,
    /**
     * 用户密码
     */
    var password: String? = null,
    /**
     * 工作有效期（小时）
     */
    var effectiveTime: Int? = null,
    /**
     * 工作票数组
     */
    var data: MutableList<DataBO>? = null,
    /**
     * 挂锁数组
     */
    var lockList: MutableList<LockListBO>? = null,

    /**
     * 辅件数组
     */
    var partList: MutableList<PartListBO>? = null
) {
    data class DataBO(
        /**
         * 工作票号
         */
        var taskCode: String? = null,
        /**
         * 工作票ID
         */
        var taskId: String? = null,
        /**
         * 工作票序号
         */
        var codeId: Int? = null,
        /**
         * 工作票下挂任务列表
         */
        var dataList: MutableList<DataListBO>? = null
    ) {
        data class DataListBO(
            /**
             * 任务ID
             */
            var dataId: Int? = null,
            /**
             * 工作点位RFID号
             */
            var equipRfidNo: String? = null,
            /**
             * 工作点位名称
             */
            var equipName: String? = null,
            /**
             * 锁RFID号（只在创建的时候有）
             */
            var infoRfidNo: String? = null,
            /**
             * 任务目标 0：挂锁 1：解锁
             */
            var target: Int? = null,
            /**
             * 前序任务ID
             */
            var prevId: Int? = null,
            /**
             * 辅件类型编码
             */
            var partCode: MutableList<String>? = null
        )
    }

    data class LockListBO(
        /**
         * 挂锁ID
         */
        var lockId: Int? = null,
        /**
         * 挂锁RFID
         */
        var rfid: String? = null
    )

    data class PartListBO(
        /**
         * 辅件ID
         */
        var partId: Int? = null,

        /**
         * 辅件类型编码
         */
        var partCode: String? = null,

        /**
         * 锁或者辅件的RFID
         */
        var rfid: String? = null
    )
}