gaoluyang
4 小时以前 cb9cd49627b65a4c0e137e08063271a8cefe1826
src/api/mes/pro/task/index.ts
@@ -1,4 +1,4 @@
import type { PageParam, PageResult } from '..\..\..\..\packages\effects\request\src';
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
@@ -8,9 +8,9 @@
    id?: number;
    code?: string; // 任务编码
    name?: string; // 任务名称
    workOrderId?: number; // 生产工单编号
    workOrderCode?: string; // 工单编码
    workOrderName?: string; // 工单名称
    workOrderId?: number; // 生产订单编号
    workOrderCode?: string; // 订单编码
    workOrderName?: string; // 订单名称
    workstationId?: number; // 工作站编号
    workstationCode?: string; // 工作站编码
    workstationName?: string; // 工作站名称
@@ -33,7 +33,7 @@
    startTime?: number; // 开始生产时间
    endTime?: number; // 结束生产时间
    duration?: number; // 生产时长(工作日,1=8小时)
    requestDate?: number; // 需求日期(从工单查)
    requestDate?: number; // 需求日期(从订单查)
    finishDate?: number; // 完成日期
    cancelDate?: number; // 取消日期
    colorCode?: string; // 甘特图显示颜色
@@ -53,6 +53,26 @@
    itemId?: number;
    statuses?: number[];
    status?: number;
  }
  /** 待报工台账任务(pending-feedback-page 响应) */
  export interface PendingFeedbackTask extends Task {
    pendingQuantity?: number; // 待报工数量(= 排产 - 已生产)
    inTransitQuantity?: number; // 在途报工数量(草稿/审批中/待检验合计)
    reportableQuantity?: number; // 可报工数量(= 排产 - 已生产 - 在途)
    feedbackRate?: number; // 报工完成率(%)
  }
  /** 待报工台账分页查询参数 */
  export interface PendingFeedbackPageParams extends PageParam {
    processId?: number;
    routeId?: number;
    workOrderId?: number;
    workstationId?: number;
    code?: string;
    name?: string;
    checkFlag?: boolean;
    createTime?: string[];
  }
}
@@ -93,3 +113,55 @@
export function getGanttTaskList(params: any) {
  return requestClient.get<any[]>('/mes/pro/task/gantt-list', { params });
}
/** 一键排产预览请求 */
export interface AutoGenerateReq {
  workOrderId: number;
  routeId?: number;
  autoAssignWorkstation?: boolean;
  autoCalculateTime?: boolean;
}
/** 一键排产预览响应 */
export interface AutoGeneratePreview {
  workOrderId?: number;
  routeId?: number;
  routeName?: string;
  taskList?: TaskPreview[];
}
export interface TaskPreview {
  processId?: number;
  processName?: string;
  sort?: number;
  suggestWorkstationId?: number;
  suggestWorkstationName?: string;
  quantity?: number;
  keyFlag?: boolean;
}
/** 一键排产预览 */
export function previewAutoGenerate(data: AutoGenerateReq) {
  return requestClient.post<AutoGeneratePreview>(
    '/mes/pro/task/auto-generate/preview',
    data,
  );
}
/** 一键排产执行 */
export function autoGenerateTasks(data: AutoGenerateReq) {
  return requestClient.post<{ taskIds: number[] }>(
    '/mes/pro/task/auto-generate',
    data,
  );
}
/** 查询待报工台账(分页) */
export function getPendingFeedbackPage(
  params: MesProTaskApi.PendingFeedbackPageParams,
) {
  return requestClient.get<PageResult<MesProTaskApi.PendingFeedbackTask>>(
    '/mes/pro/task/pending-feedback-page',
    { params },
  );
}