53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import mysql from 'mysql2/promise';
|
|
import dotenv from 'dotenv';
|
|
|
|
dotenv.config();
|
|
|
|
async function checkAIResults() {
|
|
try {
|
|
const conn = await mysql.createConnection({
|
|
host: process.env.DB_HOST || 'localhost',
|
|
port: Number(process.env.DB_PORT) || 3306,
|
|
user: process.env.DB_USER || 'root',
|
|
password: process.env.DB_PASSWORD || '',
|
|
database: process.env.DB_NAME || 'employee_performance',
|
|
});
|
|
|
|
console.log('=== AI评分结果 ===');
|
|
const [aiRows] = await conn.query(`
|
|
SELECT ai_id, perf_id, ai_total_score,
|
|
LEFT(problems, 100) as problems_preview,
|
|
LEFT(suggestions, 100) as suggestions_preview,
|
|
create_time
|
|
FROM ai_result
|
|
`);
|
|
console.table(aiRows);
|
|
|
|
console.log('\n=== 绩效记录状态 ===');
|
|
const [perfRows] = await conn.query(`
|
|
SELECT perf_id, user_id, month, status, ai_score, submit_time
|
|
FROM performance_month
|
|
ORDER BY perf_id DESC
|
|
`);
|
|
console.table(perfRows);
|
|
|
|
// 检查是否有AI评分但没有更新到performance_month表
|
|
console.log('\n=== 检查数据一致性 ===');
|
|
const [inconsistent] = await conn.query(`
|
|
SELECT pm.perf_id, pm.month, pm.ai_score as perf_ai_score, ar.ai_total_score as ai_result_score
|
|
FROM performance_month pm
|
|
LEFT JOIN ai_result ar ON pm.perf_id = ar.perf_id
|
|
WHERE pm.status = 'submitted'
|
|
`);
|
|
console.table(inconsistent);
|
|
|
|
await conn.end();
|
|
process.exit(0);
|
|
} catch (error: any) {
|
|
console.error('错误:', error.message);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
checkAIResults();
|