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}`,
|
);
|
}
|