云
6 小时以前 fb4db4ae9b6a7f113ba049f6789e6916c0dcc276
src/api/mes/pro/bagCode/index.ts
@@ -5,9 +5,11 @@
export namespace MesProBagCodeApi {
  /** 袋码(一袋一码) */
  export interface BagCode {
    inboundTime?: string;
    id?: number; // 编号
    uuid?: string; // 生成组 UUID
    code?: string; // 袋码(二维码内容)
    businessCode?: string; // 内部出入库业务码(纯码值)
    bagNo?: number; // 批次内袋序号
    batchId?: number; // 生产批次编号
    batchCode?: string; // 批次号
@@ -15,6 +17,9 @@
    lineName?: string; // 产线名称
    palletId?: number; // 绑定托盘编号
    palletCode?: string; // 托盘码
    itemId?: number; // 品种(物料)编号
    itemCode?: string; // 品种编码
    itemName?: string; // 品种名称
    status?: number; // 状态(字典 mes_pro_bag_code_status)
    printTime?: string; // 导出(交付印刷)时间
    cancelTime?: string; // 作废时间
@@ -26,22 +31,37 @@
  /** 袋码分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string;
    businessCode?: string;
    batchId?: number;
    batchCode?: string;
    uuid?: string;
    palletId?: number;
    itemId?: number;
    status?: number;
    createTime?: string[];
  }
  /** 生成数据包请求 */
  /** 生成数据包请求(品种主计量单位类型为 N千克 时按托盘数换算袋数;为 吨 时无托盘、直接输入袋码数) */
  export interface GenerateParams {
    count: number; // 生成袋数
    itemId: number; // 品种(物料)编号
    palletCount?: number; // 托盘数(48千克/100千克 品种必填)
    bagCount?: number; // 袋码数(吨品种必填)
    remark?: string; // 备注
  }
  export interface GenerateResult {
    uuid?: string;
    uuid?: string; // 生成组 UUID
    type?: string; // 品种主计量单位类型(48千克/100千克/吨)
    perPallet?: number; // 每托袋数(吨品种为 0)
    totalCount?: number; // 生成袋码总数
    palletIds?: number[]; // 自动生成的托盘编号列表(吨品种为空)
  }
  /** 生成原始袋码请求(仅品种+袋码数量,不关联计量单位类型、不生成托盘) */
  export interface RawGenerateParams {
    itemId: number; // 品种(物料)编号
    count: number; // 袋码数量
    remark?: string; // 备注
  }
  export interface BindBatchParams {
@@ -90,8 +110,10 @@
  /** 扫码追溯信息 */
  export interface BagCodeTrace {
    inboundTime?: string;
    id?: number; // 袋码编号
    code?: string; // 袋码(二维码内容)
    businessCode?: string; // 内部出入库业务码
    bagNo?: number; // 袋序号
    status?: number; // 袋码状态
    printTime?: string; // 导出印刷时间
@@ -121,6 +143,14 @@
export function generateBagCodes(data: MesProBagCodeApi.GenerateParams) {
  return requestClient.post<MesProBagCodeApi.GenerateResult>(
    '/mes/pro/bag-code/generate',
    data,
  );
}
/** 生成原始袋码(仅选品种与袋码数量,不生成托盘;返回生成组 UUID) */
export function generateRawBagCodes(data: MesProBagCodeApi.RawGenerateParams) {
  return requestClient.post<MesProBagCodeApi.GenerateResult>(
    '/mes/pro/bag-code/raw-generate',
    data,
  );
}
@@ -167,6 +197,16 @@
  );
}
/**
 * 扫码追溯:根据编码解析其类型(bag / pallet / batch)。
 * 编码统一为「16 位纯数字」后无法按前缀判断类型,改由后端解析;均不匹配返回 null。
 */
export function resolveTraceType(code: string) {
  return requestClient.get<'bag' | 'batch' | 'pallet' | null>(
    `/mes/pro/trace/resolve-type?code=${encodeURIComponent(code)}`,
  );
}
/** 查询袋码分页 */
export function getBagCodePage(params: MesProBagCodeApi.PageParams) {
  return requestClient.get<PageResult<MesProBagCodeApi.BagCode>>(
@@ -191,3 +231,13 @@
export function exportBagQr(params: { uuid?: string; batchId?: number }) {
  return requestClient.download('/mes/pro/bag-code/export-qr', { params });
}
/** 补生成已有袋码的业务码,重复操作不更换已有码值。 */
export function generateBagBusinessCodes(ids: number[]) {
  return requestClient.post<number>('/mes/pro/bag-code/generate-business-code', { ids });
}
/** 业务二维码仅编码存储的业务码值,不拼接追溯网址。 */
export function exportBagBusinessQr(params: { uuid?: string; batchId?: number }) {
  return requestClient.download('/mes/pro/bag-code/export-business-qr', { params });
}