import { MaterialsVO } from '@/api/materials/materials/types';

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

  /**
   * 材料id
   */
  materialsId: string | number;

  /**
   * 材料信息
   */
  materialsVo: MaterialsVO;

  /**
   * 项目id
   */
  projectId: string | number;

  /**
   * 出入库状态
   */
  outPut: string;

  /**
   * 出/入库的数量
   */
  number: number;

  /**
   * 出/入库操作时间
   */
  outPutTime: string;

  /**
   * 剩余库存数量（记录最后一次操作留下的库存数）
   */
  residue: string | number;

  /**
   * 操作人（入库人、领料人）
   */
  operator: string;

  /**
   * 材料出入证明
   */
  path: string;

  /**
   * 处理方式
   */
  disposition: string;

  /**
   * 交接单位（班组）
   */
  recipient: string;

  /**
   * 领用人
   */
  shipper: string;

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

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

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

  /**
   * 材料id
   */
  materialsId?: string | number;

  /**
   * 项目id
   */
  projectId?: string | number;

  /**
   * 出入库状态
   */
  outPut?: string;

  /**
   * 出/入库的数量
   */
  number?: number;

  /**
   * 出/入库操作时间
   */
  outPutTime?: string;

  /**
   * 剩余库存数量（记录最后一次操作留下的库存数）
   */
  residue?: string | number;

  /**
   * 操作人（入库人、领料人）
   */
  operator?: string;

  /**
   * 材料出入证明
   */
  path?: string;

  /**
   * 处理方式
   */
  disposition?: string;

  /**
   * 交接单位（班组）
   */
  recipient?: string;

  /**
   * 领用人
   */
  shipper?: string;

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

export interface MaterialsInventoryQuery extends PageQuery {
  /**
   * 材料id
   */
  materialsId?: string | number;

  /**
   * 材料名称
   */
  materialsName?: string;

  /**
   * 项目id
   */
  projectId?: string | number;

  /**
   * 出入库状态
   */
  outPut?: string;

  /**
   * 出/入库的数量
   */
  number?: number;

  /**
   * 出/入库操作时间
   */
  outPutTime?: string;

  /**
   * 剩余库存数量（记录最后一次操作留下的库存数）
   */
  residue?: string | number;

  /**
   * 操作人（入库人、领料人）
   */
  operator?: string;

  /**
   * 材料出入证明
   */
  path?: string;

  /**
   * 处理方式
   */
  disposition?: string;

  /**
   * 交接单位（班组）
   */
  recipient?: string;

  /**
   * 领用人
   */
  shipper?: string;

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