fix(tkfb): 대시보드 콘솔 에러 수정 (notifications, attendance, repair-requests)

- notifications/unread 호출 제거 → tkuser 링크로 대체
- attendance/today-summary → daily-status 엔드포인트로 변경
- GET /equipments/repair-requests 엔드포인트 신규 구현
- 캐시 버스팅 tkfb-dashboard.js?v=2026031701

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-17 20:19:43 +09:00
parent 0c149673fb
commit fa4199a277
5 changed files with 62 additions and 29 deletions

View File

@@ -558,6 +558,19 @@ const EquipmentController = {
}
},
getRepairRequests: async (req, res) => {
try {
const results = await EquipmentModel.getRepairRequests(req.query.status || null);
res.json({ success: true, data: results });
} catch (err) {
logger.error('수리 요청 목록 조회 오류:', err);
res.status(500).json({
success: false,
message: '수리 요청 목록 조회 중 오류가 발생했습니다.'
});
}
},
getRepairCategories: async (req, res) => {
try {
const results = await EquipmentModel.getRepairCategories();

View File

@@ -710,6 +710,33 @@ const EquipmentModel = {
return rows;
},
getRepairRequests: async (status) => {
const db = await getDb();
let query = `
SELECT wir.report_id, wir.status, wir.additional_description, wir.created_at,
e.equipment_name, irc.category_name, iri.item_name,
u_rep.name AS reported_by_name, w.workplace_name
FROM work_issue_reports wir
INNER JOIN issue_report_categories irc ON wir.issue_category_id = irc.category_id
LEFT JOIN issue_report_items iri ON wir.issue_item_id = iri.item_id
LEFT JOIN equipments e ON wir.equipment_id = e.equipment_id
LEFT JOIN users u_rep ON wir.reporter_id = u_rep.user_id
LEFT JOIN workplaces w ON wir.workplace_id = w.workplace_id
WHERE irc.category_name = '설비 수리'
`;
const values = [];
if (status) {
query += ' AND wir.status = ?';
values.push(status);
}
query += ' ORDER BY wir.created_at DESC';
const [rows] = await db.query(query, values);
return rows;
},
getRepairCategories: async () => {
const db = await getDb();
const [rows] = await db.query(

View File

@@ -46,6 +46,9 @@ router.get('/repair-categories', equipmentController.getRepairCategories);
// 새 수리 항목 추가
router.post('/repair-categories', equipmentController.addRepairCategory);
// 수리 요청 목록 조회 (?status=pending)
router.get('/repair-requests', equipmentController.getRepairRequests);
// ==================== 사진 관리 ====================
// 사진 삭제 (설비 ID 없이 photo_id만으로)