import { query, queryOne } from '../../../utils/db' /** * 사업 상세 조회 * GET /api/business/[id]/detail */ export default defineEventHandler(async (event) => { const businessId = Number(getRouterParam(event, 'id')) if (!businessId) { throw createError({ statusCode: 400, message: '사업 ID가 필요합니다.' }) } const business = await queryOne(` SELECT b.*, e1.employee_name as created_by_name, e2.employee_name as updated_by_name FROM wr_business b LEFT JOIN wr_employee_info e1 ON b.created_by = e1.employee_id LEFT JOIN wr_employee_info e2 ON b.updated_by = e2.employee_id WHERE b.business_id = $1 `, [businessId]) if (!business) { throw createError({ statusCode: 404, message: '사업을 찾을 수 없습니다.' }) } // 소속 프로젝트 목록 const projects = await query(` SELECT p.project_id, p.project_name, p.project_code, p.project_type, p.project_status, p.start_date, p.end_date FROM wr_project_info p WHERE p.business_id = $1 ORDER BY p.project_name `, [businessId]) return { business: { businessId: business.business_id, businessName: business.business_name, businessCode: business.business_code, clientName: business.client_name, contractStartDate: business.contract_start_date, contractEndDate: business.contract_end_date, businessStatus: business.business_status, description: business.description, createdBy: business.created_by, createdByName: business.created_by_name, updatedBy: business.updated_by, updatedByName: business.updated_by_name, createdAt: business.created_at, updatedAt: business.updated_at }, projects: projects.map((p: any) => ({ projectId: p.project_id, projectName: p.project_name, projectCode: p.project_code, projectType: p.project_type, projectStatus: p.project_status, startDate: p.start_date, endDate: p.end_date })) } })