This commit is contained in:
2026-01-04 20:58:47 +09:00
parent a87c11597a
commit 0660ed3973
37 changed files with 1723 additions and 885 deletions

View File

@@ -1,47 +1,55 @@
import { execute, queryOne } from '../../../utils/db'
import { getClientIp } from '../../../utils/ip'
import { getCurrentUserEmail } from '../../../utils/user'
interface UpdateEmployeeBody {
employeeNumber?: string
employeeName?: string
employeePhone?: string
employeePosition?: string
company?: string
joinDate?: string
isActive?: boolean
}
/**
* 원 정보 수정
* 원 정보 수정
* PUT /api/employee/[id]/update
*/
export default defineEventHandler(async (event) => {
const employeeId = getRouterParam(event, 'id')
const body = await readBody<UpdateEmployeeBody>(event)
const clientIp = getClientIp(event)
const userEmail = await getCurrentUserEmail(event)
const existing = await queryOne<any>(`
SELECT * FROM wr_employee_info WHERE employee_id = $1
`, [employeeId])
if (!existing) {
throw createError({ statusCode: 404, message: '원을 찾을 수 없습니다.' })
throw createError({ statusCode: 404, message: '원을 찾을 수 없습니다.' })
}
await execute(`
UPDATE wr_employee_info SET
employee_number = $1,
employee_name = $2,
employee_phone = $3,
employee_position = $4,
employee_name = $1,
employee_phone = $2,
employee_position = $3,
company = $4,
join_date = $5,
is_active = $6,
updated_at = NOW()
WHERE employee_id = $7
updated_at = NOW(),
updated_ip = $7,
updated_email = $8
WHERE employee_id = $9
`, [
body.employeeNumber ?? existing.employee_number,
body.employeeName ?? existing.employee_name,
body.employeePhone ?? existing.employee_phone,
body.employeePosition ?? existing.employee_position,
body.company ?? existing.company,
body.joinDate ?? existing.join_date,
body.isActive ?? existing.is_active,
clientIp,
userEmail,
employeeId
])