liu
2026-09-07 a7dc7b230fcc6abc6ee5a7bfadb90789b03d2ca8
src/api/mes/wm/materialstock/index.ts
@@ -24,6 +24,10 @@
    vendorId?: number; // 供应商编号
    vendorName?: string; // 供应商名称
    quantity?: number; // 在库数量
    frozenQuantity?: number; // 冻结数量
    reservedQuantity?: number; // 占用量
    inTransitQuantity?: number; // 在途量
    availableQuantity?: number; // 可用量
    receiptTime?: string; // 入库日期
    frozen?: boolean; // 是否冻结
    createTime?: Date; // 创建时间
@@ -59,3 +63,101 @@
    params,
  });
}
/** 库存现有量导入结果 */
export interface ImportResult {
  /** 新建库存记录成功的行,元素格式「物料编码-仓库」 */
  createNames?: string[];
  /** 已存在库存记录调整成功的行,元素格式「物料编码-仓库」 */
  updateNames?: string[];
  /** 导入失败的记录,key 为「物料编码-仓库」,value 为失败原因 */
  failureNames?: Record<string, string>;
}
/** 下载库存现有量导入模板 */
export function importMaterialStockTemplate() {
  return requestClient.download('/mes/wm/material-stock/import-template');
}
/** 导入库存现有量 */
export function importMaterialStock(file: File) {
  return requestClient.upload<MesWmMaterialStockApi.ImportResult>(
    '/mes/wm/material-stock/import',
    { file },
  );
}
/** 库存调整(自定义出入库)- 入库 */
export interface MaterialStockAdjustInParams {
  itemId: number; // 物料ID
  warehouseId: number; // 仓库ID
  locationId: number; // 库区ID
  areaId: number; // 库位ID
  batchId?: number; // 批次ID(选择已有批次时传入)
  batchCode?: string; // 批次号(新建批次时传入)
  produceDate?: string; // 生产日期(新建批次时传入)
  expireDate?: string; // 有效期(新建批次时传入)
  receiptDate?: string; // 入库日期
  vendorId?: number; // 供应商ID
  purchaseOrderCode?: string; // 采购订单号
  lotNumber?: string; // 生产批号
  qualityStatus?: string; // 质量状态
  quantity: number; // 入库数量(必须大于0)
  reason?: string; // 入库原因
}
/** 库存调整(自定义出入库)- 出库 */
export interface MaterialStockAdjustOutParams {
  itemId: number; // 物料ID
  warehouseId: number; // 仓库ID
  locationId: number; // 库区ID
  areaId: number; // 库位ID
  batchId?: number; // 批次ID
  batchCode?: string; // 批次号
  vendorId?: number; // 供应商ID
  quantity: number; // 出库数量(必须大于0)
  reason?: string; // 出库原因
}
/** 自定义入库 */
export function adjustMaterialStockIn(data: MaterialStockAdjustInParams) {
  return requestClient.post<number>('/mes/wm/material-stock/adjust-in', data);
}
/** 自定义出库 */
export function adjustMaterialStockOut(data: MaterialStockAdjustOutParams) {
  return requestClient.post<number>('/mes/wm/material-stock/adjust-out', data);
}
/** 库存移库 */
export interface MaterialStockMoveParams {
  materialStockId: number; // 库存记录ID
  toWarehouseId: number; // 目标仓库ID
  toLocationId: number; // 目标库区ID
  toAreaId: number; // 目标库位ID
  quantity: number; // 移库数量
  remark?: string; // 备注
}
/** 库存移库 */
export function moveMaterialStock(data: MaterialStockMoveParams) {
  return requestClient.post<boolean>('/mes/wm/material-stock/move', data);
}
/** 库存调整(正数=入库,负数=出库)- 旧接口,保留兼容 */
export interface MaterialStockAdjustParams {
  itemId: number; // 物料ID
  warehouseId: number; // 仓库ID
  locationId: number; // 库区ID
  areaId: number; // 库位ID
  batchId?: number; // 批次ID
  batchCode?: string; // 批次号
  vendorId?: number; // 供应商ID
  quantity: number; // 调整数量(正数=入库,负数=出库)
  reason?: string; // 调整原因
}
/** 库存调整(正数=入库,负数=出库) - 旧接口,保留兼容 */
export function adjustMaterialStock(data: MaterialStockAdjustParams) {
  return requestClient.post<number>('/mes/wm/material-stock/adjust', data);
}