4 天以前 91c82965b2d987452ca276e3a03b48c8dcda2ae9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
import type { MesProBagCodeApi } from '#/api/mes/pro/bagCode';
 
export namespace MesProPalletApi {
  /** 托盘码 */
  export interface Pallet {
    id?: number; // 编号
    code?: string; // 托盘码
    batchId?: number; // 生产批次编号
    batchCode?: string; // 批次号
    palletNo?: number; // 批次内托盘序号
    capacity?: number; // 可装袋数(袋/托盘)
    bagCount?: number; // 已绑定袋码数量
    status?: number; // 状态(字典 mes_pro_pallet_status)
    remark?: string; // 备注
    createTime?: string; // 创建时间
  }
 
  /** 托盘码分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string;
    batchId?: number;
    batchCode?: string;
    status?: number;
    createTime?: string[];
  }
 
  /** 托盘码扫码追溯 */
  export interface PalletTrace {
    id?: number; // 编号
    code?: string; // 托盘码(二维码内容)
    palletNo?: number; // 批次内托盘序号
    capacity?: number; // 可装袋数
    bagCount?: number; // 已绑定袋码数量
    status?: number; // 状态(字典 mes_pro_pallet_status)
    batchId?: number; // 生产批次编号
    batchCode?: string; // 批次号
    remark?: string; // 备注
    batchStatus?: number; // 批次状态
    produceDate?: string; // 生产日期
    lineCode?: string; // 产线编码
    lineName?: string; // 产线名称
    ownerUserId?: number; // 责任人编号
    ownerUserName?: string; // 责任人昵称
    itemId?: number; // 品种(物料)编号
    itemCode?: string; // 品种编码
    itemName?: string; // 品种名称
    itemSpecification?: string; // 品种规格
    bags?: MesProBagCodeApi.BagCode[]; // 该托盘绑定的袋码列表
  }
 
  /** 批量生成请求 */
  export interface BatchCreateParams {
    batchId: number; // 生产批次编号
    count: number; // 生成数量
    capacity?: number; // 可装袋数
    remark?: string; // 备注
  }
}
 
/** 批量生成托盘码(返回生成的托盘编号列表) */
export function batchCreatePallet(data: MesProPalletApi.BatchCreateParams) {
  return requestClient.post<number[]>('/mes/pro/pallet/batch-create', data);
}
 
/** 删除托盘码 */
export function deletePallet(id: number) {
  return requestClient.delete(`/mes/pro/pallet/delete?id=${id}`);
}
 
/** 查询托盘码详情 */
export function getPallet(id: number) {
  return requestClient.get<MesProPalletApi.Pallet>(
    `/mes/pro/pallet/get?id=${id}`,
  );
}
 
/** 查询托盘码分页 */
export function getPalletPage(params: MesProPalletApi.PageParams) {
  return requestClient.get<PageResult<MesProPalletApi.Pallet>>(
    '/mes/pro/pallet/page',
    { params },
  );
}
 
/** 查询批次的托盘码列表(供下拉选择) */
export function getPalletSimpleList(batchId: number) {
  return requestClient.get<MesProPalletApi.Pallet[]>(
    `/mes/pro/pallet/simple-list?batchId=${batchId}`,
  );
}
 
/** 导出托盘码 Excel */
export function exportPalletExcel(params: MesProPalletApi.PageParams) {
  return requestClient.download('/mes/pro/pallet/export-excel', { params });
}
 
/** 扫码追溯:根据托盘码(二维码内容)反查批次、品种、责任人及袋码列表 */
export function getPalletByCode(code: string) {
  return requestClient.get<MesProPalletApi.PalletTrace>(
    `/mes/pro/pallet/get-by-code?code=${encodeURIComponent(code)}`,
  );
}
 
/** 批量导出某批次的托盘码二维码图片 ZIP */
export function exportPalletQr(batchId: number) {
  return requestClient.download(`/mes/pro/pallet/export-qr?batchId=${batchId}`);
}