package com.wms_main.model.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * AGV互锁表
 */
@Getter
@Setter
@TableName(value = "t_app_agv_lock", autoResultMap = true)
public class TAppAgvLock {

    @TableId(value = "lock_id")
    private String lockId;

    /**
     * AGV设备ID
     */
    @TableField(value = "agv_id")
    private String agvId;

    /**
     * 上料站点
     */
    @TableField(value = "feed_station")
    private String feedStation;

    /**
     * 锁定状态: 1-锁定中, 0-已释放
     */
    @TableField(value = "lock_status")
    private Integer lockStatus;

    /**
     * 锁定类型: FEED-上料锁定, WAIT-等待锁定
     */
    @TableField(value = "lock_type")
    private String lockType;

    /**
     * 优先级: 数字越小优先级越高
     */
    @TableField(value = "priority")
    private Integer priority;

    /**
     * 队列位置
     */
    @TableField(value = "queue_position")
    private Integer queuePosition;

    /**
     * 锁定时间
     */
    @TableField(value = "lock_time")
    private LocalDateTime lockTime;

    /**
     * 释放时间
     */
    @TableField(value = "unlock_time")
    private LocalDateTime unlockTime;

    /**
     * 超时时间（秒）
     */
    @TableField(value = "timeout_seconds")
    private Integer timeoutSeconds;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    @TableField(value = "create_time")
    private LocalDateTime createTime;

    @TableField(value = "update_time")
    private LocalDateTime updateTime;
}