export type TaskInstanceId = string | number;
export type TaskInstanceIds = TaskInstanceId[];

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

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

  /**
   * 任务名称
   */
  taskName: string;

  /**
   * 任务类型Key（关联base_tasktype的tasktype_key）
   */
  taskTypeKey: string;

  /**
   * 任务类型名称
   */
  taskTypeName: string;

  /**
   * 任务状态（PENDING-待执行/RUNNING-执行中/PAUSED-已暂停/SUCCESS-成功/FAILED-失败/CANCELLED-已取消）
   */
  status: string;

  /**
   * 优先级（0-普通 1-较高 2-高 3-最高）
   */
  priority: number;

  /**
   * 源位置（仓库/库位/机台等）
   */
  sourceLocation: string;

  /**
   * 目标位置
   */
  targetLocation: string;

  /**
   * 物料编码
   */
  materialCode: string;

  /**
   * 物料名称
   */
  materialName: string;

  /**
   * 任务参数（JSON格式，存储其他扩展参数）
   */
  taskParams: string;

  /**
   * 
   */
  currentsubtaskNo: number;

  /**
   * 子任务总数
   */
  subtaskCount: number;

  /**
   * 当前执行的子任务编码
   */
  currentSubtaskCode: string;

  /**
   * 执行结果代码
   */
  resultCode: number;

  /**
   * 错误信息
   */
  errorMessage: string;

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

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

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

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

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

}

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

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

  /**
   * 任务名称
   */
  taskName?: string;

  /**
   * 任务类型Key（关联base_tasktype的tasktype_key）
   */
  taskTypeKey?: string;

  /**
   * 任务类型名称
   */
  taskTypeName?: string;

  /**
   * 任务状态（PENDING-待执行/RUNNING-执行中/PAUSED-已暂停/SUCCESS-成功/FAILED-失败/CANCELLED-已取消）
   */
  status?: string;

  /**
   * 优先级（0-普通 1-较高 2-高 3-最高）
   */
  priority?: number;

  /**
   * 源位置（仓库/库位/机台等）
   */
  sourceLocation?: string;

  /**
   * 目标位置
   */
  targetLocation?: string;

  /**
   * 物料编码
   */
  materialCode?: string;

  /**
   * 物料名称
   */
  materialName?: string;

  /**
   * 任务参数（JSON格式，存储其他扩展参数）
   */
  taskParams?: string;

  /**
   * 
   */
  currentsubtaskNo?: number;

  /**
   * 子任务总数
   */
  subtaskCount?: number;

  /**
   * 当前执行的子任务编码
   */
  currentSubtaskCode?: string;

  /**
   * 执行结果代码
   */
  resultCode?: number;

  /**
   * 错误信息
   */
  errorMessage?: string;

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

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

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

}

export interface TaskInstanceQuery extends PageQuery {

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

  /**
   * 任务名称
   */
  taskName?: string;

  /**
   * 任务类型Key（关联base_tasktype的tasktype_key）
   */
  taskTypeKey?: string;

  /**
   * 任务类型名称
   */
  taskTypeName?: string;

  /**
   * 任务状态（PENDING-待执行/RUNNING-执行中/PAUSED-已暂停/SUCCESS-成功/FAILED-失败/CANCELLED-已取消）
   */
  status?: string;

  /**
   * 优先级（0-普通 1-较高 2-高 3-最高）
   */
  priority?: number;

  /**
   * 源位置（仓库/库位/机台等）
   */
  sourceLocation?: string;

  /**
   * 目标位置
   */
  targetLocation?: string;

  /**
   * 物料编码
   */
  materialCode?: string;

  /**
   * 物料名称
   */
  materialName?: string;

  /**
   * 任务参数（JSON格式，存储其他扩展参数）
   */
  taskParams?: string;

  /**
   * 
   */
  currentsubtaskNo?: number;

  /**
   * 子任务总数
   */
  subtaskCount?: number;

  /**
   * 当前执行的子任务编码
   */
  currentSubtaskCode?: string;

  /**
   * 执行结果代码
   */
  resultCode?: number;

  /**
   * 错误信息
   */
  errorMessage?: string;

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

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

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