refactor: worker_id → user_id 전체 마이그레이션 (Phase 1-4)

sso_users.user_id를 단일 식별자로 통합. JWT에서 worker_id 제거,
department_id/is_production 추가. 백엔드 15개 모델, 11개 컨트롤러,
4개 서비스, 7개 라우트, 프론트엔드 32+ JS/11+ HTML 변환.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-05 13:13:10 +09:00
parent 2197cdb3d5
commit abd7564e6b
90 changed files with 1790 additions and 925 deletions

View File

@@ -91,7 +91,7 @@ const departmentModel = {
SELECT w.*, d.department_name, u.user_id, u.username
FROM workers w
LEFT JOIN departments d ON w.department_id = d.department_id
LEFT JOIN users u ON u.worker_id = w.worker_id
LEFT JOIN users u ON u.user_id = w.user_id
WHERE w.department_id = ?
ORDER BY w.worker_name
`, [departmentId]);
@@ -99,20 +99,20 @@ const departmentModel = {
},
// 작업자 부서 변경
async moveWorker(workerId, departmentId) {
async moveWorker(userId, departmentId) {
const db = await getDb();
const [result] = await db.query(`
UPDATE workers SET department_id = ? WHERE worker_id = ?
`, [departmentId, workerId]);
UPDATE workers SET department_id = ? WHERE user_id = ?
`, [departmentId, userId]);
return result.affectedRows > 0;
},
// 여러 작업자 부서 일괄 변경
async moveWorkers(workerIds, departmentId) {
async moveWorkers(userIds, departmentId) {
const db = await getDb();
const [result] = await db.query(`
UPDATE workers SET department_id = ? WHERE worker_id IN (?)
`, [departmentId, workerIds]);
UPDATE workers SET department_id = ? WHERE user_id IN (?)
`, [departmentId, userIds]);
return result.affectedRows;
}
};