41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
const mysql = require('mysql2/promise');
|
|
require('dotenv').config();
|
|
|
|
async function checkPublicPCs() {
|
|
const connection = await mysql.createConnection({
|
|
host: process.env.DB_HOST,
|
|
user: process.env.DB_USER,
|
|
password: process.env.DB_PASS,
|
|
database: process.env.DB_NAME,
|
|
port: parseInt(process.env.DB_PORT || '3306')
|
|
});
|
|
|
|
console.log('🔍 공용 PC(Public PC)로 추정되는 자산 조회 중...');
|
|
|
|
// 사번이 없거나, 사용자명에 '공용'이 포함된 데이터 조회
|
|
const [rows] = await connection.query(`
|
|
SELECT id, asset_code, user_current, emp_no, current_dept, asset_type
|
|
FROM asset_core
|
|
WHERE (emp_no IS NULL OR emp_no = '' OR user_current LIKE '%공용%')
|
|
AND id LIKE 'PC_20260615_%'
|
|
`);
|
|
|
|
console.log(`📊 발견된 공용 PC 후보: ${rows.length}건`);
|
|
|
|
if (rows.length > 0) {
|
|
console.table(rows.slice(0, 20)); // 상위 20개 샘플 출력
|
|
|
|
// 요약 통계
|
|
const summary = {
|
|
only_no_emp: rows.filter(r => (!r.emp_no) && !r.user_current.includes('공용')).length,
|
|
only_public_name: rows.filter(r => r.emp_no && r.user_current.includes('공용')).length,
|
|
both: rows.filter(r => (!r.emp_no) && r.user_current.includes('공용')).length
|
|
};
|
|
console.log('\n📈 요약 통계:', summary);
|
|
}
|
|
|
|
await connection.end();
|
|
}
|
|
|
|
checkPublicPCs().catch(console.error);
|