추가
This commit is contained in:
41
backend/api/project/[id]/detail.get.ts
Normal file
41
backend/api/project/[id]/detail.get.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { queryOne, query } from '../../../utils/db'
|
||||
|
||||
/**
|
||||
* 프로젝트 상세 조회
|
||||
* GET /api/project/[id]/detail
|
||||
*/
|
||||
export default defineEventHandler(async (event) => {
|
||||
const projectId = getRouterParam(event, 'id')
|
||||
|
||||
const project = await queryOne<any>(`
|
||||
SELECT * FROM wr_project_info WHERE project_id = $1
|
||||
`, [projectId])
|
||||
|
||||
if (!project) {
|
||||
throw createError({ statusCode: 404, message: '프로젝트를 찾을 수 없습니다.' })
|
||||
}
|
||||
|
||||
// 현재 PM/PL
|
||||
const managers = await query(`
|
||||
SELECT * FROM wr_project_manager_current WHERE project_id = $1
|
||||
`, [projectId])
|
||||
|
||||
const pm = managers.find((m: any) => m.role_type === 'PM')
|
||||
const pl = managers.find((m: any) => m.role_type === 'PL')
|
||||
|
||||
return {
|
||||
projectId: project.project_id,
|
||||
projectCode: project.project_code,
|
||||
projectName: project.project_name,
|
||||
clientName: project.client_name,
|
||||
projectDescription: project.project_description,
|
||||
startDate: project.start_date,
|
||||
endDate: project.end_date,
|
||||
contractAmount: project.contract_amount,
|
||||
projectStatus: project.project_status,
|
||||
createdAt: project.created_at,
|
||||
updatedAt: project.updated_at,
|
||||
currentPm: pm ? { employeeId: pm.employee_id, employeeName: pm.employee_name } : null,
|
||||
currentPl: pl ? { employeeId: pl.employee_id, employeeName: pl.employee_name } : null
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user