6 天以前 5dbc69b4e792dcce998038822b92402366bec47f
src/api/mes/pro/workorder/index.ts
@@ -1,19 +1,20 @@
import type { PageParam, PageResult } from '../../../../packages/effects/request/src';
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace MesProWorkOrderApi {
  /** MES 生产工单 */
  /** MES 生产订单 */
  export interface WorkOrder {
    id?: number; // 编号
    code?: string; // 工单编码
    name?: string; // 工单名称
    type?: number; // 工单类型
    code?: string; // 订单编码
    name?: string; // 订单名称
    type?: number; // 订单类型
    orderSourceType?: number; // 来源类型
    orderSourceCode?: string; // 来源单据编号
    productId?: number; // 产品编号
    productName?: string; // 产品名称
    productCode?: string; // 产品编码
    itemCode?: string; // 产品编码(物料编码)
    productSpecification?: string; // 规格型号
    unitMeasureName?: string; // 单位名称
    quantity?: number; // 生产数量
@@ -28,16 +29,20 @@
    vendorCode?: string; // 供应商编码
    batchCode?: string; // 批次号
    requestDate?: number; // 需求日期
    parentId?: number; // 父工单编号
    parentCode?: string; // 父工单编码
    parentId?: number; // 父订单编号
    parentCode?: string; // 父订单编码
    finishDate?: number; // 完成时间
    cancelDate?: number; // 取消时间
    status?: number; // 工单状态
    status?: number; // 订单状态
    scheduleStatus?: number; // 排产状态
    productionStatus?: number; // 生产状态
    processProgressList?: ProcessProgress[]; // 工序生产进度
    completionProgress?: number; // 完成进度
    remark?: string; // 备注
    createTime?: number; // 创建时间
  }
  /** MES 生产工单分页查询参数 */
  /** MES 生产订单分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string;
    name?: string;
@@ -50,7 +55,7 @@
  }
}
/** 查询生产工单分页 */
/** 查询生产订单分页 */
export function getWorkOrderPage(params: MesProWorkOrderApi.PageParams) {
  return requestClient.get<PageResult<MesProWorkOrderApi.WorkOrder>>(
    '/mes/pro/work-order/page',
@@ -58,44 +63,99 @@
  );
}
/** 查询生产工单详情 */
/** 获得生产工单调度状态分页 */
export function getWorkOrderSchedulePage(params: MesProWorkOrderApi.PageParams) {
  return requestClient.get<PageResult<MesProWorkOrderApi.WorkOrder>>(
      '/mes/pro/work-order/schedule-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}`,
  );
}