64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
// 測試 KPI 數據
|
|
require('dotenv').config({ path: '.env.local' })
|
|
const mysql = require('mysql2/promise')
|
|
|
|
async function testKPIData() {
|
|
const config = {
|
|
host: process.env.DB_HOST,
|
|
port: parseInt(process.env.DB_PORT),
|
|
database: process.env.DB_DATABASE,
|
|
user: process.env.DB_USERNAME,
|
|
password: process.env.DB_PASSWORD,
|
|
}
|
|
|
|
try {
|
|
const connection = await mysql.createConnection(config)
|
|
console.log('🔗 連接到 MySQL 資料庫...')
|
|
|
|
// 檢查用戶數據
|
|
console.log('\n👥 檢查用戶數據...')
|
|
const [users] = await connection.execute('SELECT * FROM users')
|
|
console.log(`找到 ${users.length} 個用戶:`)
|
|
users.forEach(user => {
|
|
console.log(` - ${user.id}: ${user.name} (${user.role})`)
|
|
})
|
|
|
|
// 檢查 KPI 數據
|
|
console.log('\n📊 檢查 KPI 數據...')
|
|
const [kpis] = await connection.execute('SELECT * FROM kpi')
|
|
console.log(`找到 ${kpis.length} 個 KPI:`)
|
|
kpis.forEach(kpi => {
|
|
console.log(` - ${kpi.id}: ${kpi.title} (${kpi.status}) - 用戶: ${kpi.user_id}`)
|
|
})
|
|
|
|
// 測試特定用戶的 KPI
|
|
console.log('\n🔍 測試 user_001 的 KPI...')
|
|
const [userKPIs] = await connection.execute(
|
|
'SELECT * FROM kpi WHERE user_id = ?',
|
|
['user_001']
|
|
)
|
|
console.log(`user_001 有 ${userKPIs.length} 個 KPI:`)
|
|
userKPIs.forEach(kpi => {
|
|
console.log(` - ${kpi.title}: ${kpi.current_value}/${kpi.target_value} ${kpi.unit} (${kpi.status})`)
|
|
})
|
|
|
|
// 測試活躍狀態的 KPI
|
|
console.log('\n🔍 測試活躍狀態的 KPI...')
|
|
const [activeKPIs] = await connection.execute(
|
|
'SELECT * FROM kpi WHERE status = ?',
|
|
['active']
|
|
)
|
|
console.log(`有 ${activeKPIs.length} 個活躍的 KPI:`)
|
|
activeKPIs.forEach(kpi => {
|
|
console.log(` - ${kpi.title} (${kpi.user_id}): ${kpi.status}`)
|
|
})
|
|
|
|
await connection.end()
|
|
console.log('\n✅ KPI 數據測試完成')
|
|
|
|
} catch (error) {
|
|
console.error('❌ KPI 數據測試失敗:', error)
|
|
}
|
|
}
|
|
|
|
testKPIData()
|