16 小时以前 c9faa6fc186d3a4a01fbc1f7adcb2b487691bcd6
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
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace MesProWorkOrderApi {
  /** MES 生产订单 */
  export interface WorkOrder {
    id?: number; // 编号
    code?: string; // 订单编码
    name?: string; // 订单名称
    type?: number; // 订单类型
    orderSourceType?: number; // 来源类型
    orderSourceCode?: string; // 来源单据编号
    productId?: number; // 产品编号
    productName?: string; // 产品名称
    productCode?: string; // 产品编码
    productSpecification?: string; // 规格型号
    unitMeasureName?: string; // 单位名称
    quantity?: number; // 生产数量
    quantityProduced?: number; // 已生产数量
    quantityChanged?: number; // 调整数量
    quantityScheduled?: number; // 已排产数量
    clientId?: number; // 客户编号
    clientCode?: string; // 客户编码
    clientName?: string; // 客户名称
    vendorId?: number; // 供应商编号
    vendorName?: string; // 供应商名称
    vendorCode?: string; // 供应商编码
    batchCode?: string; // 批次号
    requestDate?: number; // 需求日期
    parentId?: number; // 父订单编号
    parentCode?: string; // 父订单编码
    finishDate?: number; // 完成时间
    cancelDate?: number; // 取消时间
    status?: number; // 订单状态
    remark?: string; // 备注
    createTime?: number; // 创建时间
  }
 
  /** MES 生产订单分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string;
    name?: string;
    orderSourceCode?: string;
    productId?: number;
    clientId?: number;
    status?: number;
    type?: number;
    requestDate?: number[];
  }
}
 
/** 查询生产订单分页 */
export function getWorkOrderPage(params: MesProWorkOrderApi.PageParams) {
  return requestClient.get<PageResult<MesProWorkOrderApi.WorkOrder>>(
    '/mes/pro/work-order/page',
    { params },
  );
}
 
/** 查询生产订单详情 */
export function getWorkOrder(id: number) {
  return requestClient.get<MesProWorkOrderApi.WorkOrder>(
    `/mes/pro/work-order/get?id=${id}`,
  );
}
 
/** 新增生产订单 */
export function createWorkOrder(data: MesProWorkOrderApi.WorkOrder) {
  return requestClient.post<number>('/mes/pro/work-order/create', data);
}
 
/** 修改生产订单 */
export function updateWorkOrder(data: MesProWorkOrderApi.WorkOrder) {
  return requestClient.put('/mes/pro/work-order/update', data);
}
 
/** 删除生产订单 */
export function deleteWorkOrder(id: number) {
  return requestClient.delete(`/mes/pro/work-order/delete?id=${id}`);
}
 
/** 导出生产订单 */
export function exportWorkOrder(params: any) {
  return requestClient.download('/mes/pro/work-order/export-excel', { params });
}
 
/** 完成订单 */
export function finishWorkOrder(id: number) {
  return requestClient.put(`/mes/pro/work-order/finish?id=${id}`);
}
 
/** 取消订单 */
export function cancelWorkOrder(id: number) {
  return requestClient.put(`/mes/pro/work-order/cancel?id=${id}`);
}
 
/** 确认订单 */
export function confirmWorkOrder(id: number) {
  return requestClient.put(`/mes/pro/work-order/confirm?id=${id}`);
}
 
/** 工单进度详情 */
export interface WorkOrderProgress {
  workOrderId?: number;
  workOrderCode?: string;
  quantity?: number;
  quantityScheduled?: number;
  quantityProduced?: number;
  progressPercent?: number;
  processList?: ProcessProgress[];
}
 
export interface ProcessProgress {
  processId?: number;
  processCode?: string;
  processName?: string;
  keyFlag?: boolean;
  plannedQuantity?: number;
  producedQuantity?: number;
  progressPercent?: number;
  status?: number;
  taskList?: TaskInfo[];
}
 
export interface TaskInfo {
  taskId?: number;
  taskCode?: string;
  workstationName?: string;
  quantity?: number;
  producedQuantity?: number;
  progressPercent?: number;
  status?: number;
}
 
/** 获取工单进度详情 */
export function getWorkOrderProgress(id: number) {
  return requestClient.get<WorkOrderProgress>(
    `/mes/pro/work-order/progress/${id}`,
  );
}
 
/** 检查并自动完成工单 */
export function checkAndAutoFinishWorkOrder(id: number) {
  return requestClient.post<boolean>(
    `/mes/pro/work-order/check-auto-finish/${id}`,
  );
}