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

export type LocationInfoId = string | number;
export type LocationInfoIds = LocationInfoId[];

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

  /**
   * 库位编号
   */
  locationCode: string;

  /**
   * 库位名称
   */
  locationName: string;

  /**
   * 库位区域
   */
  locationArea: string;

  /**
   * 仓库编号
   */
  storeCode: string;

  /**
   * 排
   */
  locationRows: number;

  /**
   * 列
   */
  locationColumns: number;

  /**
   * 层
   */
  locationLayers: number;

  /**
   * AGV定位
   */
  agvPosition: string;

  /**
   * 物料信息
   */
  materialCode: string;

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

  /**
   * 库存数量
   */
  stackCount: string;

  /**
   * 库位状态;0-未使用;1-已使用;2-锁库;3-异常
   */
  locationStatus: number;

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

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

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

  /** 仓库名称 */
  storeName: string;
  /** 物料名称 */
  materialName: string;

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

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

  /**
   * 库位编号
   */
  locationCode?: string;

  /**
   * 库位名称
   */
  locationName?: string;

  /**
   * 库位区域
   */
  locationArea?: string;

  /**
   * 仓库编号
   */
  storeCode?: string;

  /**
   * 排
   */
  locationRows?: number;

  /**
   * 列
   */
  locationColumns?: number;

  /**
   * 层
   */
  locationLayers?: number;

  /**
   * AGV定位
   */
  agvPosition?: string;

  /**
   * 物料信息
   */
  materialCode?: string;

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

  /**
   * 库存数量
   */
  stackCount?: string;

  /**
   * 库位状态;0-未使用;1-已使用;2-锁库;3-异常
   */
  locationStatus?: number;

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

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

export interface LocationInfoQuery extends PageQuery {
  /**
   * 库位编号
   */
  locationCode?: string;

  /**
   * 库位名称
   */
  locationName?: string;

  /**
   * 库位区域
   */
  locationArea?: string;

  /**
   * 仓库编号
   */
  storeCode?: string;

  /**
   * 排
   */
  locationRows?: number;

  /**
   * 列
   */
  locationColumns?: number;

  /**
   * 层
   */
  locationLayers?: number;

  /**
   * AGV定位
   */
  agvPosition?: string;

  /**
   * 物料信息
   */
  materialCode?: string;

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

  /**
   * 库存数量
   */
  stackCount?: string;

  /**
   * 库位状态;0-未使用;1-已使用;2-锁库;3-异常
   */
  locationStatus?: number;

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

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

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