diff --git a/src/components/DoWorkbench/WorkbenchGoodPickExecution.tsx b/src/components/DoWorkbench/WorkbenchGoodPickExecution.tsx index bed75e0..75aab6f 100644 --- a/src/components/DoWorkbench/WorkbenchGoodPickExecution.tsx +++ b/src/components/DoWorkbench/WorkbenchGoodPickExecution.tsx @@ -32,7 +32,6 @@ import { AutoAssignReleaseResponse, checkPickOrderCompletion, PickOrderCompletionResponse, - checkAndCompletePickOrderByConsoCode, fetchDoPickOrderDetail, DoPickOrderDetail, batchQrSubmit, @@ -948,26 +947,7 @@ const fetchFgPickOrdersData = useCallback(async () => { }); } - // FIXED: Use the proper API function instead of direct fetch - if (newStatus === 'completed' && lot.pickOrderConsoCode) { - console.log(` Lot ${lot.lotNo} completed, checking if pick order ${lot.pickOrderConsoCode} is complete...`); - - try { - // Use the imported API function instead of direct fetch - const completionResponse = await checkAndCompletePickOrderByConsoCode(lot.pickOrderConsoCode); - console.log(` Pick order completion check result:`, completionResponse); - - if (completionResponse.code === "SUCCESS") { - console.log(`�� Pick order ${lot.pickOrderConsoCode} completed successfully!`); - } else if (completionResponse.message === "not completed") { - console.log(`⏳ Pick order not completed yet, more lines remaining`); - } else { - console.error(`❌ Error checking completion: ${completionResponse.message}`); - } - } catch (error) { - console.error("Error checking pick order completion:", error); - } - } + // Workbench completion is handled in backend scan-pick flow. await fetchAllCombinedLotData(); console.log("Pick quantity submitted successfully!"); diff --git a/src/components/DoWorkbench/WorkbenchGoodPickExecutionDetail.tsx b/src/components/DoWorkbench/WorkbenchGoodPickExecutionDetail.tsx index 15028cb..5ff5022 100644 --- a/src/components/DoWorkbench/WorkbenchGoodPickExecutionDetail.tsx +++ b/src/components/DoWorkbench/WorkbenchGoodPickExecutionDetail.tsx @@ -38,7 +38,6 @@ import { checkPickOrderCompletion, fetchAllPickOrderLotsHierarchicalWorkbench, PickOrderCompletionResponse, - checkAndCompletePickOrderByConsoCode, updateSuggestedLotLineId, updateStockOutLineStatusByQRCodeAndLotNo, confirmLotSubstitution, @@ -2840,15 +2839,6 @@ const handleSubmitPickQtyWithQty = useCallback(async (lot: any, submitQty: numbe return next; }); await refreshWorkbenchAfterScanPick(); - if (canonicalLotForSol.pickOrderConsoCode) { - void checkAndCompletePickOrderByConsoCode(canonicalLotForSol.pickOrderConsoCode) - .then((completionResponse) => { - console.log(` Pick order completion check (workbench just complete):`, completionResponse); - }) - .catch((error) => { - console.error("Error checking pick order completion:", error); - }); - } setTimeout(() => { checkAndAutoAssignNext(); }, 1000); @@ -2951,15 +2941,6 @@ const handleSubmitPickQtyWithQty = useCallback(async (lot: any, submitQty: numbe return next; }); await refreshWorkbenchAfterScanPick(); - if (lot.pickOrderConsoCode) { - void checkAndCompletePickOrderByConsoCode(lot.pickOrderConsoCode) - .then((completionResponse) => { - console.log(` Pick order completion check (workbench submit):`, completionResponse); - }) - .catch((error) => { - console.error("Error checking pick order completion:", error); - }); - } setTimeout(() => { checkAndAutoAssignNext(); }, 1000); @@ -3004,26 +2985,8 @@ const handleSubmitPickQtyWithQty = useCallback(async (lot: any, submitQty: numbe // 注意:库存过账(hold->out)与 ledger 由后端 updateStatus 内部统一处理; // 前端不再额外调用 updateInventoryLotLineQuantities(operation='pick'),避免 double posting。 - // Check if pick order is completed when lot status becomes 'completed' - if (newStatus === 'completed' && lot.pickOrderConsoCode) { - console.log(` Lot ${lot.lotNo} completed, checking if pick order ${lot.pickOrderConsoCode} is complete...`); - - try { - const completionResponse = await checkAndCompletePickOrderByConsoCode(lot.pickOrderConsoCode); - console.log(` Pick order completion check result:`, completionResponse); - - if (completionResponse.code === "SUCCESS") { - console.log(` Pick order ${lot.pickOrderConsoCode} completed successfully!`); - } else if (completionResponse.message === "not completed") { - console.log(`⏳ Pick order not completed yet, more lines remaining`); - } else { - console.error(` Error checking completion: ${completionResponse.message}`); - } - } catch (error) { - console.error("Error checking pick order completion:", error); - } - } - + // Workbench completion is handled in backend scan-pick flow. + void fetchAllCombinedLotData(); console.log("Pick quantity submitted successfully!"); @@ -3050,7 +3013,6 @@ const handleSubmitPickQtyWithQty = useCallback(async (lot: any, submitQty: numbe refreshWorkbenchAfterScanPick, combinedLotData, workbenchScanPickQtyFromLot, - checkAndCompletePickOrderByConsoCode, t, ]); diff --git a/src/components/JoWorkbench/newJobPickExecution.tsx b/src/components/JoWorkbench/newJobPickExecution.tsx index 92fa403..3aa833a 100644 --- a/src/components/JoWorkbench/newJobPickExecution.tsx +++ b/src/components/JoWorkbench/newJobPickExecution.tsx @@ -41,7 +41,6 @@ import { AutoAssignReleaseResponse, checkPickOrderCompletion, PickOrderCompletionResponse, - checkAndCompletePickOrderByConsoCode, confirmLotSubstitution, updateStockOutLineStatusByQRCodeAndLotNo, // ✅ 添加 } from "@/app/api/pickOrder/actions"; @@ -3229,20 +3228,6 @@ const JobPickExecution: React.FC = ({ filterArgs, onBackToList }) => { return next; }); await refreshWorkbenchAfterScanPick(); - if (canonicalLotForSol.pickOrderConsoCode) { - void checkAndCompletePickOrderByConsoCode( - canonicalLotForSol.pickOrderConsoCode, - ) - .then((completionResponse) => { - console.log( - ` Pick order completion check (workbench just complete):`, - completionResponse, - ); - }) - .catch((error) => { - console.error("Error checking pick order completion:", error); - }); - } setTimeout(() => { checkAndAutoAssignNext(); }, 1000); @@ -3342,18 +3327,6 @@ const JobPickExecution: React.FC = ({ filterArgs, onBackToList }) => { return next; }); await refreshWorkbenchAfterScanPick(); - if (lot.pickOrderConsoCode) { - void checkAndCompletePickOrderByConsoCode(lot.pickOrderConsoCode) - .then((completionResponse) => { - console.log( - ` Pick order completion check (workbench submit):`, - completionResponse, - ); - }) - .catch((error) => { - console.error("Error checking pick order completion:", error); - }); - } setTimeout(() => { checkAndAutoAssignNext(); }, 1000); @@ -3395,38 +3368,7 @@ const JobPickExecution: React.FC = ({ filterArgs, onBackToList }) => { ); } - if (newStatus === "completed" && lot.pickOrderConsoCode) { - console.log( - ` Lot ${lot.lotNo} completed, checking if pick order ${lot.pickOrderConsoCode} is complete...`, - ); - - try { - const completionResponse = - await checkAndCompletePickOrderByConsoCode( - lot.pickOrderConsoCode, - ); - console.log( - ` Pick order completion check result:`, - completionResponse, - ); - - if (completionResponse.code === "SUCCESS") { - console.log( - ` Pick order ${lot.pickOrderConsoCode} completed successfully!`, - ); - } else if (completionResponse.message === "not completed") { - console.log( - `⏳ Pick order not completed yet, more lines remaining`, - ); - } else { - console.error( - ` Error checking completion: ${completionResponse.message}`, - ); - } - } catch (error) { - console.error("Error checking pick order completion:", error); - } - } + // Workbench completion is handled in backend scan-pick flow. void fetchJobOrderData(pickOrderIdForRefresh); console.log("Pick quantity submitted successfully!"); @@ -3455,7 +3397,6 @@ const JobPickExecution: React.FC = ({ filterArgs, onBackToList }) => { refreshWorkbenchAfterScanPick, combinedLotData, workbenchScanPickQtyFromLot, - checkAndCompletePickOrderByConsoCode, pickQtyData, tPick, workbenchStoreId,