package cn.iocoder.yudao.module.system.dal.dataobject.positionmap;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 仓库点位地图子表 DO
 *
 * @author 芋道源码
 */
@TableName("ware_position_map_item")
@KeySequence("ware_position_map_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PositionMapItemDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 仓库点位地图表id
     */
    private Long positionMapId;
    /**
     * 库区id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long areaId;
    /**
     * 线库id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long laneId;
    /**
     * 坐标x轴
     */
    private String locationX;
    /**
     * 坐标y轴
     */
    private String locationY;
    /**
     * 实际坐标x轴
     */
    private String actualLocationX;
    /**
     * 实际坐标y轴
     */
    private String actualLocationY;
    /**
     * 点位自增排序
     */
    private Long sortNum;
    /**
     * 类型 1.路径点位 2.库位点 3.充电桩 4.停车点 5.区域变更点 6.等待点 7.文字点 8.检测点--- 后续补充
     */
    private Integer type;
    /**
     * 对应各个类型的独有属性Json格式 例如（{库位长度:1,库位宽度:2,库位方向:单向}）
     */
    private String dataJson;
    /**
     * 弧度
     */
    private String locationYaw;

    /**
     * 排序的位置,越大越优先堆放
     */
    private Long locationNumber;
    /**
     * 等待点使用状态, 0:空闲 ,1:前往停车点(预占用停车点) ,2.使用中(已经在停车位上)
     */
    private Integer useStatus;
    /**
     * AGV编号
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String robotNo;

}
