import type { PageParam, PageResult } from '@vben/request';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace MesWmSnApi {
|
/** MES SN 码分组 */
|
export interface SnGroup {
|
uuid?: string; // 批次 UUID
|
count?: number; // SN 码数量
|
itemId?: number; // 物料编号
|
itemCode?: string; // 物料编码
|
itemName?: string; // 物料名称
|
specification?: string; // 规格型号
|
unitName?: string; // 单位名称
|
batchCode?: string; // 批次号
|
workOrderId?: number; // 生产订单编号
|
createTime?: Date; // 生成时间
|
}
|
|
/** MES SN 码明细 */
|
export interface Sn {
|
id?: number; // 编号
|
uuid?: string; // 批次 UUID
|
code?: string; // SN 码
|
itemId?: number; // 物料编号
|
itemCode?: string; // 物料编码
|
itemName?: string; // 物料名称
|
specification?: string; // 规格型号
|
unitName?: string; // 单位名称
|
batchCode?: string; // 批次号
|
workOrderId?: number; // 生产订单编号
|
status?: number; // 状态(1-在库 2-已出库)
|
warehouseId?: number; // 在库仓库 ID
|
locationId?: number; // 在库库区 ID
|
areaId?: number; // 在库库位 ID
|
createTime?: Date; // 生成时间
|
}
|
|
/** MES SN 码单件详情 */
|
export interface SnDetail {
|
id?: number; // 编号
|
code?: string; // SN 码
|
itemId?: number; // 物料编号
|
itemCode?: string; // 物料编码
|
itemName?: string; // 物料名称
|
batchCode?: string; // 批次号
|
status?: number; // 状态(1-在库 2-已出库)
|
warehouseId?: number; // 在库仓库 ID
|
locationId?: number; // 在库库区 ID
|
areaId?: number; // 在库库位 ID
|
lastTransactionType?: number; // 最近事务类型(1-入库 2-出库)
|
lastTransactionTypeName?: string; // 最近事务类型名称
|
lastTransactionQuantity?: number; // 最近事务变动数量
|
lastTransactionBizType?: number; // 最近事务业务类型
|
lastTransactionBizCode?: string; // 最近事务业务单号
|
lastTransactionTime?: string; // 最近事务发生时间
|
}
|
|
/** SN 码入库登记参数 */
|
export interface SnInStock {
|
code?: string; // SN 码
|
itemId?: number; // 物料编号
|
warehouseId?: number; // 仓库 ID
|
locationId?: number; // 库区 ID
|
areaId?: number; // 库位 ID
|
batchCode?: string; // 批次号
|
remark?: string; // 备注
|
}
|
|
/** SN 码出库核销参数 */
|
export interface SnOutStock {
|
code?: string; // SN 码
|
itemId?: number; // 物料编号
|
remark?: string; // 备注
|
}
|
|
/** SN 码在库/状态分页查询参数 */
|
export interface SnInStockPageParams extends PageParam {
|
code?: string; // SN 码
|
itemId?: number; // 物料编号
|
batchCode?: string; // 批次号
|
warehouseId?: number; // 仓库 ID
|
locationId?: number; // 库区 ID
|
areaId?: number; // 库位 ID
|
status?: number; // 状态(1-在库 2-已出库)
|
}
|
|
/** MES SN 码生成参数 */
|
export interface SnGenerate {
|
itemId?: number; // 物料编号
|
batchCode?: string; // 批次号
|
workOrderId?: number; // 生产订单编号
|
count?: number; // 生成数量
|
}
|
|
/** MES SN 码分组分页查询参数 */
|
export interface PageParams extends PageParam {
|
uuid?: string; // 分组 UUID
|
code?: string; // SN 码
|
itemId?: number; // 物料编号
|
batchCode?: string; // 批次号
|
createTime?: string[]; // 创建时间
|
}
|
}
|
|
/** 生成 SN 码 */
|
export function generateSnCodes(data: MesWmSnApi.SnGenerate) {
|
return requestClient.post('/mes/wm/sn/generate', data);
|
}
|
|
/** 查询 SN 码分组分页 */
|
export function getSnGroupPage(params: MesWmSnApi.PageParams) {
|
return requestClient.get<PageResult<MesWmSnApi.SnGroup>>(
|
'/mes/wm/sn/group-page',
|
{ params },
|
);
|
}
|
|
/** 查询批次 SN 码明细列表 */
|
export function getSnListByUuid(uuid: string) {
|
return requestClient.get<MesWmSnApi.Sn[]>('/mes/wm/sn/list-by-uuid', {
|
params: { uuid },
|
});
|
}
|
|
/** 批量删除 SN 码(按批次 UUID) */
|
export function deleteSnBatch(uuid: string) {
|
return requestClient.delete('/mes/wm/sn/delete-batch', {
|
params: { uuid },
|
});
|
}
|
|
/** SN 码入库登记 */
|
export function registerSnInStock(data: MesWmSnApi.SnInStock) {
|
return requestClient.post<boolean>('/mes/wm/sn/in-stock', data);
|
}
|
|
/** SN 码出库核销 */
|
export function outboundSn(data: MesWmSnApi.SnOutStock) {
|
return requestClient.post<boolean>('/mes/wm/sn/out-stock', data);
|
}
|
|
/** 查询 SN 码单件详情 */
|
export function getSnDetail(code: string) {
|
return requestClient.get<MesWmSnApi.SnDetail>('/mes/wm/sn/detail', {
|
params: { code },
|
});
|
}
|
|
/** 查询 SN 码在库/状态分页 */
|
export function getSnInStockPage(params: MesWmSnApi.SnInStockPageParams) {
|
return requestClient.get<PageResult<MesWmSnApi.Sn>>(
|
'/mes/wm/sn/in-stock-page',
|
{ params },
|
);
|
}
|
|
/** 导出 SN 码分组 Excel */
|
export function exportSnGroupExcel(params: MesWmSnApi.PageParams) {
|
return requestClient.download('/mes/wm/sn/group-export-excel', { params });
|
}
|
|
/** 导出批次 SN 码明细 Excel */
|
export function exportSnDetailExcel(uuid: string) {
|
return requestClient.download('/mes/wm/sn/export-excel', {
|
params: { uuid },
|
});
|
}
|