Files
ai-scoring-application/scripts/test-maxscore-fix.js

46 lines
2.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 測試修復 max_score undefined 問題
*/
console.log('🔧 測試修復 max_score undefined 問題...\n');
console.log('✅ 問題分析:');
console.log('錯誤顯示「簡報與表達」評分標準的 max_score 是 undefined導致計算結果變成 NaN');
console.log('原因:在預設值邏輯中使用了錯誤的屬性名稱\n');
console.log('✅ 修復內容:');
console.log('1. 修正屬性名稱:');
console.log(' - 錯誤: criteriaItem.maxScore (undefined)');
console.log(' - 正確: criteriaItem.max_score (資料庫欄位名稱)\n');
console.log('2. 確保預設值計算正確:');
console.log(' - score = Math.floor(criteriaItem.max_score * 0.7)');
console.log(' - maxScore = criteriaItem.max_score');
console.log(' - weighted_score = (score / maxScore) * criteriaItem.weight');
console.log(' - percentage = (score / maxScore) * 100\n');
console.log('📊 預期的調試輸出 (修復後):');
console.log('⚠️ 找不到評分標準 "簡報與表達" 的 AI 評分結果,使用預設值');
console.log('🔍 檢查評分數據: 簡報與表達 {');
console.log(' evaluation_id: 5,');
console.log(' criteria_item_id: 56,');
console.log(' score: 7,');
console.log(' max_score: 10,');
console.log(' weight: 10,');
console.log(' weighted_score: 7,');
console.log(' percentage: 70');
console.log('}');
console.log('✅ 創建評分記錄: 簡報與表達 (ID: 56) - 7/10\n');
console.log('🚀 執行步驟:');
console.log('1. 啟動應用程式: npm run dev');
console.log('2. 訪問上傳頁面: http://localhost:3000/upload');
console.log('3. 上傳 PPT 文件並填寫專案資訊');
console.log('4. 點擊「開始 AI 評審」按鈕');
console.log('5. 檢查控制台日誌:');
console.log(' - 應該看到所有 5 個評分標準的創建記錄');
console.log(' - 不應該再出現 NaN 或 undefined 值');
console.log(' - 應該看到「簡報與表達」使用預設值 7/10\n');
console.log('✅ 修復完成!現在「簡報與表達」應該會使用正確的預設值了。');