import type { WcsBaseEntity } from '../types';

export type TaskDetailId = string | number;
export type TaskDetailIds = TaskDetailId[];

export interface TaskDetailVO {
  /**
   * 主键标识
   */
  objId: string | number;

  /**
   * 任务编号
   */
  taskCode: string;

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

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

  /**
   * 托盘条码
   */
  palletBarcode: string;

  /**
   * 物料条码
   */
  materialBarcode: string;

  /**
   * 物料数量
   */
  materialCount: number;

  /**
   * 任务类型
   */
  taskType: number;

  /**
   * 任务类别
   */
  taskCategory: number;

  /**
   * 起始位置
   */
  startPoint: string;

  /**
   * 结束位置
   */
  endPoint: string;

  /**
   * 是否校验物料
   */
  isValidate: number;

  /**
   * 路径编号
   */
  pathCode: string;

  /**
   * 路径名称
   */
  pathName: string;

  /**
   * 任务状态
   */
  taskStatus: number;

  /**
   * 是否标识
   */
  isFlag: number;

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

  /**
   * 创建部门
   */
  createDept: number;

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

  /**
   * 更新时间
   */
  updateTime: string;

  /** 创建人 */
  createBy: string | number;
  /** 更新人 */
  updateBy: string | number;
  /** 创建人名称 */
  createByName: string;
  /** 更新人名称 */
  updateByName: string;
}

export interface TaskDetailForm extends WcsBaseEntity {
  /**
   * 主键标识
   */
  objId?: string | number;

  /**
   * 任务编号
   */
  taskCode?: string;

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

  /**
   * 托盘条码
   */
  palletBarcode?: string;

  /**
   * 物料条码
   */
  materialBarcode?: string;

  /**
   * 物料数量
   */
  materialCount?: number;

  /**
   * 任务类型
   */
  taskType?: number;

  /**
   * 任务类别
   */
  taskCategory?: number;

  /**
   * 起始位置
   */
  startPoint?: string;

  /**
   * 结束位置
   */
  endPoint?: string;

  /**
   * 是否校验物料
   */
  isValidate?: number;

  /**
   * 路径编号
   */
  pathCode?: string;

  /**
   * 任务状态
   */
  taskStatus?: number;

  /**
   * 是否标识
   */
  isFlag?: number;

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

export interface TaskDetailQuery extends PageQuery {
  /**
   * 任务编号
   */
  taskCode?: string;

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

  /**
   * 托盘条码
   */
  palletBarcode?: string;

  /**
   * 物料条码
   */
  materialBarcode?: string;

  /**
   * 物料数量
   */
  materialCount?: number;

  /**
   * 任务类型
   */
  taskType?: number;

  /**
   * 任务类别
   */
  taskCategory?: number;

  /**
   * 起始位置
   */
  startPoint?: string;

  /**
   * 结束位置
   */
  endPoint?: string;

  /**
   * 是否校验物料
   */
  isValidate?: number;

  /**
   * 路径编号
   */
  pathCode?: string;

  /**
   * 任务状态
   */
  taskStatus?: number;

  /**
   * 是否标识
   */
  isFlag?: number;

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