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

export type MaterialInfoId = string | number;
export type MaterialInfoIds = MaterialInfoId[];

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

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

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

  /**
   * 物料类型
   */
  materialType: string;

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

  /**
   * 最短存放周期
   */
  minStorageCycle: number;

  /**
   * 最长存放周期
   */
  maxStorageCycle: number;

  /**
   * 是否标识：1-是；0-否
   */
  isFlag: number;

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

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

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

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

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

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

  /**
   * 物料类型
   */
  materialType?: string;

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

  /**
   * 最短存放周期
   */
  minStorageCycle?: number;

  /**
   * 最长存放周期
   */
  maxStorageCycle?: number;

  /**
   * 是否标识：1-是；0-否
   */
  isFlag?: number;

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

export interface MaterialInfoQuery extends PageQuery {
  /**
   * 物料编号
   */
  materialCode?: string;

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

  /**
   * 物料类型
   */
  materialType?: string;

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

  /**
   * 最短存放周期
   */
  minStorageCycle?: number;

  /**
   * 最长存放周期
   */
  maxStorageCycle?: number;

  /**
   * 是否标识：1-是；0-否
   */
  isFlag?: number;

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

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