import type { PageParam, PageResult } from '@vben/request';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace MesWmMaterialStockApi {
|
/** MES 库存台账 */
|
export interface MaterialStock {
|
id?: number; // 编号
|
itemTypeId?: number; // 物料分类编号
|
itemId?: number; // 物料编号
|
itemCode?: string; // 物料编码
|
itemName?: string; // 物料名称
|
specification?: string; // 规格型号
|
unitMeasureName?: string; // 计量单位名称
|
batchId?: number; // 批次编号
|
batchCode?: string; // 批次号
|
warehouseId?: number; // 仓库编号
|
warehouseCode?: string; // 仓库编码
|
warehouseName?: string; // 仓库名称
|
locationId?: number; // 库区编号
|
locationName?: string; // 库区名称
|
areaId?: number; // 库位编号
|
areaName?: string; // 库位名称
|
vendorId?: number; // 供应商编号
|
vendorName?: string; // 供应商名称
|
quantity?: number; // 在库数量
|
frozenQuantity?: number; // 冻结数量
|
reservedQuantity?: number; // 占用量
|
inTransitQuantity?: number; // 在途量
|
availableQuantity?: number; // 可用量
|
receiptTime?: string; // 入库日期
|
frozen?: boolean; // 是否冻结
|
createTime?: Date; // 创建时间
|
}
|
}
|
|
/** 查询库存台账分页 */
|
export function getMaterialStockPage(params: PageParam) {
|
return requestClient.get<PageResult<MesWmMaterialStockApi.MaterialStock>>(
|
'/mes/wm/material-stock/page',
|
{ params },
|
);
|
}
|
|
/** 查询库存台账详情 */
|
export function getMaterialStock(id: number) {
|
return requestClient.get<MesWmMaterialStockApi.MaterialStock>(
|
`/mes/wm/material-stock/get?id=${id}`,
|
);
|
}
|
|
/** 更新库存冻结状态 */
|
export function updateMaterialStockFrozen(data: {
|
frozen: boolean;
|
id: number;
|
}) {
|
return requestClient.put('/mes/wm/material-stock/update-frozen', data);
|
}
|
|
/** 导出库存台账 */
|
export function exportMaterialStock(params: any) {
|
return requestClient.download('/mes/wm/material-stock/export-excel', {
|
params,
|
});
|
}
|
|
/** 库存调整(自定义出入库)- 入库 */
|
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);
|
}
|