export interface InventoryLedgerVo {
  /**
   * 物料ID
   */
  materialId?: string | number;

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

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

  /**
   * 物料规格
   */
  materialSpec?: string;

  /**
   * 物料单位
   */
  materialUnit?: string;

  /**
   * 批次码
   */
  batchCode?: string;

  /**
   * 仓库ID
   */
  warehouseId?: string | number;

  /**
   * 仓库编码
   */
  warehouseCode?: string;

  /**
   * 仓库名称
   */
  warehouseName?: string;

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

  /**
   * 变动日期
   */
  changeDate?: string;

  /**
   * 变动类型（1入库，2出库，3调拨，4退库，5盘点调账）
   */
  changeType?: string;

  /**
   * 变动类型名称
   */
  changeTypeName?: string;

  /**
   * 关联单号
   */
  relatedCode?: string;

  /**
   * 变动数量（正数为入库，负数为出库）
   */
  changeQty?: number;

  /**
   * 结存数量
   */
  balanceQty?: number;

  /**
   * 物料大类ID
   */
  materialCategoryId?: string | number;

  /**
   * 物料大类名称
   */
  materialCategoryName?: string;

  /**
   * 操作人
   */
  operatorName?: string;

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

export interface InventoryLedgerForm extends BaseEntity {
  /**
   * 物料ID
   */
  materialId?: string | number;

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

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

  /**
   * 批次码
   */
  batchCode?: string;

  /**
   * 仓库ID
   */
  warehouseId?: string | number;

  /**
   * 仓库编码
   */
  warehouseCode?: string;

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

  /**
   * 变动类型（1入库，2出库，3调拨，4退库，5盘点调账）
   */
  changeType?: string;

  /**
   * 关联单号
   */
  relatedCode?: string;

  /**
   * 开始日期
   */
  startDate?: string;

  /**
   * 结束日期
   */
  endDate?: string;

  /**
   * 物料大类ID
   */
  materialCategoryId?: string | number;

  /**
   * 记账周期类型（1按日，2按月）
   */
  periodType?: string;
}

export interface InventoryLedgerQuery extends PageQuery {
  /**
   * 物料编码
   */
  materialCode?: string;

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

  /**
   * 批次码
   */
  batchCode?: string;

  /**
   * 仓库ID
   */
  warehouseId?: string | number;

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

  /**
   * 变动类型
   */
  changeType?: string;

  /**
   * 开始日期
   */
  startDate?: string;

  /**
   * 结束日期
   */
  endDate?: string;

  /**
   * 物料大类ID
   */
  materialCategoryId?: string | number;

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