From 889d8ddf4c13c1b1bdbabd04c2d80b904020151e Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 19 八月 2026 12:49:24 +0800
Subject: [PATCH] 生产订单与报工模块改造汇总 (Git Commit 文档) feat(mes-pro): 生产订单及报工模块审批流与批次填报改造 1. 生产订单功能增强 (Work Order)

---
 src/api/mes/pro/feedback/index.ts |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 115 insertions(+), 5 deletions(-)

diff --git a/src/api/mes/pro/feedback/index.ts b/src/api/mes/pro/feedback/index.ts
index 0536c94..934eba8 100644
--- a/src/api/mes/pro/feedback/index.ts
+++ b/src/api/mes/pro/feedback/index.ts
@@ -1,8 +1,23 @@
-锘縤mport type { PageParam, PageResult } from '@vben/request';
+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}`,
+  );
 }

--
Gitblit v1.9.3