diff --git a/system1-factory/api/models/dashboardModel.js b/system1-factory/api/models/dashboardModel.js index 2b96425..696a1c5 100644 --- a/system1-factory/api/models/dashboardModel.js +++ b/system1-factory/api/models/dashboardModel.js @@ -84,7 +84,10 @@ const DashboardModel = { }; } - // 부서 권한 페이지 (page_name = pages.page_key) + // 부서 권한 페이지 + // department_page_permissions.page_name은 's1.work.tbm' 형식 (시스템 접두사 포함) + // pages.page_key는 'work.tbm' 형식 (접두사 없음) + // → 's1.' 접두사를 제거하여 매칭 let deptPageKeys = new Set(); if (departmentId) { const [deptRows] = await db.execute(` @@ -92,7 +95,10 @@ const DashboardModel = { FROM department_page_permissions dpp WHERE dpp.department_id = ? AND dpp.can_access = 1 `, [departmentId]); - deptRows.forEach(r => deptPageKeys.add(r.page_name)); + deptRows.forEach(r => { + const key = r.page_name.startsWith('s1.') ? r.page_name.slice(3) : r.page_name; + deptPageKeys.add(key); + }); } // 개인 권한 페이지 (page_id = pages.id) diff --git a/user-management/api/models/permissionModel.js b/user-management/api/models/permissionModel.js index dc63634..3af72fa 100644 --- a/user-management/api/models/permissionModel.js +++ b/user-management/api/models/permissionModel.js @@ -15,12 +15,22 @@ const DEFAULT_PAGES = { 's1.work.report_create': { title: '작업보고서 작성', system: 'system1', group: '작업 관리', default_access: true }, 's1.work.analysis': { title: '작업 분석', system: 'system1', group: '작업 관리', default_access: false }, 's1.work.nonconformity': { title: '부적합 현황', system: 'system1', group: '작업 관리', default_access: true }, + 's1.work.schedule': { title: '공정표', system: 'system1', group: '작업 관리', default_access: false }, + 's1.work.meetings': { title: '생산회의록', system: 'system1', group: '작업 관리', default_access: false }, + 's1.work.daily_status': { title: '입력 현황', system: 'system1', group: '작업 관리', default_access: false }, + 's1.work.proxy_input': { title: '대리입력', system: 'system1', group: '작업 관리', default_access: false }, // 공장 관리 's1.factory.repair_management':{ title: '시설설비 관리', system: 'system1', group: '공장 관리', default_access: false }, 's1.inspection.daily_patrol': { title: '일일순회점검', system: 'system1', group: '공장 관리', default_access: false }, 's1.inspection.checkin': { title: '출근 체크', system: 'system1', group: '공장 관리', default_access: true }, 's1.inspection.work_status': { title: '근무 현황', system: 'system1', group: '공장 관리', default_access: false }, - 's1.attendance.monthly': { title: '월간 근태', system: 'system1', group: '공장 관리', default_access: true }, + 's1.attendance.monthly': { title: '월간 근태', system: 'system1', group: '근태 관리', default_access: true }, + 's1.attendance.my_vacation_info': { title: '내 연차 정보', system: 'system1', group: '근태 관리', default_access: true }, + 's1.attendance.vacation_request': { title: '휴가 신청', system: 'system1', group: '근태 관리', default_access: true }, + 's1.attendance.vacation_management': { title: '휴가 관리', system: 'system1', group: '근태 관리', default_access: false }, + 's1.attendance.vacation_allocation': { title: '휴가 발생 입력', system: 'system1', group: '근태 관리', default_access: false }, + 's1.attendance.annual_overview': { title: '연간 휴가 현황', system: 'system1', group: '근태 관리', default_access: false }, + 's1.attendance.monthly_comparison': { title: '월간 비교·확인', system: 'system1', group: '근태 관리', default_access: false }, // 시스템 관리 's1.admin.workers': { title: '작업자 관리', system: 'system1', group: '시스템 관리', default_access: false }, 's1.admin.projects': { title: '프로젝트 관리', system: 'system1', group: '시스템 관리', default_access: false }, @@ -29,6 +39,8 @@ const DEFAULT_PAGES = { 's1.admin.equipments': { title: '설비 관리', system: 'system1', group: '시스템 관리', default_access: false }, 's1.admin.issue_categories': { title: '신고 카테고리 관리', system: 'system1', group: '시스템 관리', default_access: false }, 's1.admin.attendance_report': { title: '출퇴근-보고서 대조', system: 'system1', group: '시스템 관리', default_access: false }, + 's1.admin.departments': { title: '부서 관리', system: 'system1', group: '시스템 관리', default_access: false }, + 's1.admin.notifications': { title: '알림 관리', system: 'system1', group: '시스템 관리', default_access: false }, // 관리 'factory_proxy_input': { title: '대리입력', system: 'system1', group: '관리', default_access: false }, 'factory_daily_status': { title: '일별 현황', system: 'system1', group: '관리', default_access: false },