import { queryOne } from '../../../utils/db' /** * 유지보수 업무 상세 조회 * GET /api/maintenance/[id]/detail */ export default defineEventHandler(async (event) => { const taskId = Number(getRouterParam(event, 'id')) if (!taskId) { throw createError({ statusCode: 400, message: '업무 ID가 필요합니다.' }) } const task = await queryOne(` SELECT t.*, p.project_name, p.project_code, e1.employee_name as assignee_name, e2.employee_name as created_by_name, e3.employee_name as updated_by_name FROM wr_maintenance_task t LEFT JOIN wr_project_info p ON t.project_id = p.project_id LEFT JOIN wr_employee_info e1 ON t.assignee_id = e1.employee_id LEFT JOIN wr_employee_info e2 ON t.created_by = e2.employee_id LEFT JOIN wr_employee_info e3 ON t.updated_by = e3.employee_id WHERE t.task_id = $1 `, [taskId]) if (!task) { throw createError({ statusCode: 404, message: '업무를 찾을 수 없습니다.' }) } return { task: { taskId: task.task_id, projectId: task.project_id, projectName: task.project_name, projectCode: task.project_code, batchId: task.batch_id, requestDate: task.request_date, requestTitle: task.request_title, requestContent: task.request_content, requesterName: task.requester_name, requesterContact: task.requester_contact, taskType: task.task_type, priority: task.priority, status: task.status, assigneeId: task.assignee_id, assigneeName: task.assignee_name, devCompletedAt: task.dev_completed_at, opsCompletedAt: task.ops_completed_at, clientConfirmedAt: task.client_confirmed_at, resolutionContent: task.resolution_content, weeklyReportId: task.weekly_report_id, createdBy: task.created_by, createdByName: task.created_by_name, updatedBy: task.updated_by, updatedByName: task.updated_by_name, createdAt: task.created_at, updatedAt: task.updated_at } } })