hsy
6 天以前 0b2c40437bee95ecca2168fb154e675bb9f0d404
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace MesWmBatchApi {
  /** MES 批次 */
  export interface Batch {
    id?: number; // 批次 ID
    code?: string; // 批次编码
    itemId?: number; // 物料 ID
    itemCode?: string; // 物料编码
    itemName?: string; // 物料名称
    itemSpecification?: string; // 规格型号
    unitName?: string; // 单位名称
    produceDate?: Date; // 生产日期
    expireDate?: Date; // 有效期
    receiptDate?: Date; // 入库日期
    vendorId?: number; // 供应商 ID
    vendorCode?: string; // 供应商编码
    vendorName?: string; // 供应商名称
    clientId?: number; // 客户 ID
    clientCode?: string; // 客户编码
    clientName?: string; // 客户名称
    purchaseOrderCode?: string; // 采购订单编号
    salesOrderCode?: string; // 销售订单编号
    workOrderId?: number; // 生产订单 ID
    workOrderCode?: string; // 生产订单编号
    taskId?: number; // 生产任务 ID
    taskCode?: string; // 生产任务编号
    workstationId?: number; // 工作站 ID
    workstationCode?: string; // 工作站编码
    toolId?: number; // 工具 ID
    toolCode?: string; // 工具编号
    moldId?: number; // 模具 ID
    lotNumber?: string; // 生产批号
    qualityStatus?: number; // 质量状态
    remark?: string; // 备注
  }
 
  /** MES 批次分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string; // 批次号
    itemId?: number; // 物料编号
    vendorId?: number; // 供应商编号
    clientId?: number; // 客户编号
    workOrderId?: number; // 订单编号
    taskId?: number; // 生产任务编号
    workstationId?: number; // 工作站编号
    toolId?: number; // 工具编号
    moldId?: number; // 模具编号
    salesOrderCode?: string; // 销售订单号
    purchaseOrderCode?: string; // 采购订单号
    lotNumber?: string; // 批号
    qualityStatus?: number; // 质量状态
    produceDate?: string[]; // 生产日期
    expireDate?: string[]; // 过期日期
    receiptDate?: string[]; // 入库日期
  }
 
  /** MES 批次采购来源(采购入库单 + IQC) */
  export interface PurchaseSource {
    receiptCode?: string; // 采购入库单号
    receiptDate?: Date; // 入库日期
    purchaseOrderCode?: string; // 采购订单编号
    vendorId?: number; // 供应商 ID
    vendorCode?: string; // 供应商编码
    vendorName?: string; // 供应商名称
    iqcCode?: string; // IQC 检验单号
    checkResult?: number; // IQC 检验结论(字典 mes_qc_check_result)
    itemId?: number; // 物料 ID
    itemCode?: string; // 物料编码
    itemName?: string; // 物料名称
    batchCode?: string; // 批次号
    receivedQuantity?: number; // 入库数量
  }
 
  /** MES 批次销售去向(销售出库单 + OQC) */
  export interface SalesTarget {
    salesCode?: string; // 销售出库单号
    salesDate?: Date; // 出库日期
    salesOrderCode?: string; // 销售订单编号
    clientId?: number; // 客户 ID
    clientCode?: string; // 客户编码
    clientName?: string; // 客户名称
    oqcCode?: string; // OQC 检验单号
    checkResult?: number; // OQC 检验结论(字典 mes_qc_check_result)
    itemId?: number; // 物料 ID
    itemCode?: string; // 物料编码
    itemName?: string; // 物料名称
    batchCode?: string; // 批次号
    quantity?: number; // 出库数量
    qualityStatus?: number; // 质量状态(字典 mes_wm_quality_status)
  }
 
  /** MES 批次工序流转(产出/投入事件) */
  export interface ProcessTrace {
    eventType?: 'OUT' | 'IN'; // 事件类型:OUT-产出 / IN-投入
    workOrderId?: number; // 生产工单 ID
    workOrderCode?: string; // 生产工单编号
    processId?: number; // 工序 ID
    processCode?: string; // 工序编码
    processName?: string; // 工序名称
    batchCode?: string; // 批次号
    quantity?: number; // 数量
    qualityStatus?: number; // 质量状态(字典 mes_wm_quality_status),仅产出侧有值
    eventTime?: Date; // 事件时间
    processSort?: number; // 工序序号
  }
}
 
/** 查询批次详情 */
export function getBatch(id: number) {
  return requestClient.get<MesWmBatchApi.Batch>(`/mes/wm/batch/get?id=${id}`);
}
 
/** 查询批次分页 */
export function getBatchPage(params: MesWmBatchApi.PageParams) {
  return requestClient.get<PageResult<MesWmBatchApi.Batch>>(
    '/mes/wm/batch/page',
    { params },
  );
}
 
/** 批次向前追溯 */
export function getForwardBatchList(code: string) {
  return requestClient.get<MesWmBatchApi.Batch[]>(
    '/mes/wm/batch/forward-list',
    {
      params: { code },
    },
  );
}
 
/** 批次向后追溯 */
export function getBackwardBatchList(code: string) {
  return requestClient.get<MesWmBatchApi.Batch[]>(
    '/mes/wm/batch/backward-list',
    { params: { code } },
  );
}
 
/** 批次采购来源(采购入库单 + IQC) */
export function getPurchaseSourceList(code: string) {
  return requestClient.get<MesWmBatchApi.PurchaseSource[]>(
    '/mes/wm/batch/purchase-sources',
    { params: { code } },
  );
}
 
/** 批次销售去向(销售出库单 + OQC) */
export function getSalesTargetList(code: string) {
  return requestClient.get<MesWmBatchApi.SalesTarget[]>(
    '/mes/wm/batch/sales-targets',
    { params: { code } },
  );
}
 
/** 批次工序流转(产出/投入事件) */
export function getProcessTraceList(code: string) {
  return requestClient.get<MesWmBatchApi.ProcessTrace[]>(
    '/mes/wm/batch/process-trace',
    { params: { code } },
  );
}
 
/** 根据 SN 码反查批次 */
export function getBatchBySn(sn: string) {
  return requestClient.get<MesWmBatchApi.Batch | null>('/mes/wm/batch/get-by-sn', {
    params: { sn },
  });
}