src/api/mes/pro/feedback/index.ts
@@ -1,8 +1,23 @@
import type { PageParam, PageResult } from '../../../../packages/effects/request/src';
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace MesProFeedbackApi {
  export interface FeedbackSubmitReqVO {
    id: number;
    produceDate?: string;
    expireDate?: string;
    receiptDate?: string;
    vendorId?: number;
    clientId?: number;
    purchaseOrderCode?: string;
    salesOrderCode?: string;
    toolId?: number;
    moldId?: number;
    lotNumber?: string;
    qualityStatus?: number;
  }
  /** MES 生产报工 */
  export interface Feedback {
    id?: number;
@@ -47,6 +62,8 @@
    remark?: string; // 备注
    creator?: string; // 创建人
    createTime?: number; // 创建时间
    processInstanceId?: string; // BPM 流程实例编号
    processDefinitionKey?: string; // BPM 流程定义 Key
  }
  /** MES 生产报工分页查询参数 */
@@ -54,6 +71,8 @@
    code?: string;
    type?: number;
    workOrderId?: number;
    taskId?: number;
    taskCode?: string;
    itemId?: number;
    feedbackUserId?: number;
    creator?: string;
@@ -98,8 +117,8 @@
}
/** 提交生产报工 */
export function submitFeedback(id: number) {
  return requestClient.put(`/mes/pro/feedback/submit?id=${id}`);
export function submitFeedback(data: MesProFeedbackApi.FeedbackSubmitReqVO) {
  return requestClient.put(`/mes/pro/feedback/submit`, data);
}
/** 驳回生产报工 */
@@ -108,6 +127,97 @@
}
/** 审批生产报工(返回是否已审批完成) */
export function approveFeedback(id: number) {
  return requestClient.put<boolean>(`/mes/pro/feedback/approve?id=${id}`);
export function approveFeedback(data: { id: number; [key: string]: unknown }) {
  return requestClient.put<boolean>(`/mes/pro/feedback/approve`, data);
}
/** 批次需求检查响应 */
export interface BatchCheckResp {
  needBatchInput?: boolean;
  isBatchManaged?: boolean;
  produceDateFlag?: boolean;
  expireDateFlag?: boolean;
  receiptDateFlag?: boolean;
  vendorFlag?: boolean;
  clientFlag?: boolean;
  salesOrderCodeFlag?: boolean;
  purchaseOrderCodeFlag?: boolean;
  workOrderFlag?: boolean;
  taskFlag?: boolean;
  workstationFlag?: boolean;
  toolFlag?: boolean;
  moldFlag?: boolean;
  lotNumberFlag?: boolean;
  qualityStatusFlag?: boolean;
  autoFilledFields?: string[];
}
/** 检查报工审批前是否需要填写批次属性 */
export function getBatchRequirements(feedbackId: number) {
  return requestClient.get<BatchCheckResp>(
    `/mes/pro/feedback/batch-requirements`,
    { params: { id: feedbackId } },
  );
}
/** 快速报工请求 */
export interface QuickCreateReq {
  taskId: number;
  feedbackQuantity: number;
  qualifiedQuantity?: number;
  unqualifiedQuantity?: number;
  remark?: string;
}
/** 快速报工响应 */
export interface QuickCreateResp {
  feedbackId?: number;
  taskStatus?: number;
  workOrderStatus?: number;
}
/** 批量报工请求 */
export interface BatchCreateReq {
  taskIds: number[];
  feedbackQuantity: number;
  qualifiedQuantity?: number;
  unqualifiedQuantity?: number;
  remark?: string;
}
/** 批量报工响应 */
export interface BatchCreateResp {
  successCount?: number;
  failCount?: number;
  results?: BatchResult[];
}
export interface BatchResult {
  taskId?: number;
  success?: boolean;
  feedbackId?: number;
  errorMsg?: string;
}
/** 快速报工(创建并提交) */
export function quickCreateFeedback(data: QuickCreateReq) {
  return requestClient.post<QuickCreateResp>(
    '/mes/pro/feedback/quick-create',
    data,
  );
}
/** 批量报工 */
export function batchCreateFeedback(data: BatchCreateReq) {
  return requestClient.post<BatchCreateResp>(
    '/mes/pro/feedback/batch-create',
    data,
  );
}
/** 按任务查询报工历史 */
export function getFeedbackListByTask(taskId: number) {
  return requestClient.get<MesProFeedbackApi.Feedback[]>(
    `/mes/pro/feedback/list-by-task?taskId=${taskId}`,
  );
}