export type SubtaskTemplateId = string | number;
export type SubtaskTemplateIds = SubtaskTemplateId[];

export interface SubtaskTemplateVO {
  /**
   * 主键
   */
  id: string | number;

  /**
   * 子任务编码（唯一标识）
   */
  subtaskCode: string;

  /**
   * 子任务名称
   */
  subtaskName: string;

  /**
   * 子任务类型（AGV搬运/提升机升降/线体输送/等待/装卸货等）
   */
  subtaskType: string;

  /**
   * 执行设备类型（AGV/提升机/线体/缓存位等）
   */
  deviceType: string;

  /**
   * 设备动作（取货/放货/上升/下降/前进/等待等）
   */
  deviceAction: string;

  /**
   * 源位置类型（仓库/机台/提升机/缓存位/线体）
   */
  sourceLocationType: string;

  /**
   * 源位置编码模板（支持变量，如{warehouse_code}）
   */
  sourceLocationCode: string;

  /**
   * 目标位置类型
   */
  targetLocationType: string;

  /**
   * 目标位置编码模板
   */
  targetLocationCode: string;

  /**
   * 物料操作（取货/放货/等待/空车返回）
   */
  materialAction: string;

  /**
   * 容器类型（四宫格料箱/小料箱/色粉/托盘）
   */
  containerType: string;

  /**
   * 是否携带物料（0-否 1-是）
   */
  isCarryMaterial: number;

  /**
   * 必需的参数列表（JSON格式，如["source","target","material_code"]）
   */
  requiredParams: string;

  /**
   * 状态（0-禁用 1-启用）
   */
  status: number;

  /**
   * 逻辑删除标志
   */
  isDeleted: number;

  /**
   * 备注
   */
  remark: string;

  /**
   * 创建时间
   */
  createtime: string;

  /**
   * 创建人
   */
  createuser: string;

  /**
   * 更新人
   */
  updateuser: string;

}

export interface SubtaskTemplateForm extends BaseEntity {
  /**
   * 主键
   */
  id?: string | number;

  /**
   * 子任务编码（唯一标识）
   */
  subtaskCode?: string;

  /**
   * 子任务名称
   */
  subtaskName?: string;

  /**
   * 子任务类型（AGV搬运/提升机升降/线体输送/等待/装卸货等）
   */
  subtaskType?: string;

  /**
   * 执行设备类型（AGV/提升机/线体/缓存位等）
   */
  deviceType?: string;

  /**
   * 设备动作（取货/放货/上升/下降/前进/等待等）
   */
  deviceAction?: string;

  /**
   * 源位置类型（仓库/机台/提升机/缓存位/线体）
   */
  sourceLocationType?: string;

  /**
   * 源位置编码模板（支持变量，如{warehouse_code}）
   */
  sourceLocationCode?: string;

  /**
   * 目标位置类型
   */
  targetLocationType?: string;

  /**
   * 目标位置编码模板
   */
  targetLocationCode?: string;

  /**
   * 物料操作（取货/放货/等待/空车返回）
   */
  materialAction?: string;

  /**
   * 容器类型（四宫格料箱/小料箱/色粉/托盘）
   */
  containerType?: string;

  /**
   * 是否携带物料（0-否 1-是）
   */
  isCarryMaterial?: number;

  /**
   * 必需的参数列表（JSON格式，如["source","target","material_code"]）
   */
  requiredParams?: string;

  /**
   * 状态（0-禁用 1-启用）
   */
  status?: number;

  /**
   * 逻辑删除标志
   */
  isDeleted?: number;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 创建时间
   */
  createtime?: string;

}

export interface SubtaskTemplateQuery extends PageQuery {

  /**
   * 子任务编码（唯一标识）
   */
  subtaskCode?: string;

  /**
   * 子任务名称
   */
  subtaskName?: string;

  /**
   * 子任务类型（AGV搬运/提升机升降/线体输送/等待/装卸货等）
   */
  subtaskType?: string;

  /**
   * 执行设备类型（AGV/提升机/线体/缓存位等）
   */
  deviceType?: string;

  /**
   * 设备动作（取货/放货/上升/下降/前进/等待等）
   */
  deviceAction?: string;

  /**
   * 源位置类型（仓库/机台/提升机/缓存位/线体）
   */
  sourceLocationType?: string;

  /**
   * 源位置编码模板（支持变量，如{warehouse_code}）
   */
  sourceLocationCode?: string;

  /**
   * 目标位置类型
   */
  targetLocationType?: string;

  /**
   * 目标位置编码模板
   */
  targetLocationCode?: string;

  /**
   * 物料操作（取货/放货/等待/空车返回）
   */
  materialAction?: string;

  /**
   * 容器类型（四宫格料箱/小料箱/色粉/托盘）
   */
  containerType?: string;

  /**
   * 是否携带物料（0-否 1-是）
   */
  isCarryMaterial?: number;

  /**
   * 必需的参数列表（JSON格式，如["source","target","material_code"]）
   */
  requiredParams?: string;

  /**
   * 状态（0-禁用 1-启用）
   */
  status?: number;

  /**
   * 逻辑删除标志
   */
  isDeleted?: number;

  /**
   * 创建时间
   */
  createtime?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
