/** * 測試修復 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('✅ 修復完成!現在「簡報與表達」應該會使用正確的預設值了。');