diff --git a/backend-node/src/controllers/departmentController.ts b/backend-node/src/controllers/departmentController.ts index 34de0800..deb729ae 100644 --- a/backend-node/src/controllers/departmentController.ts +++ b/backend-node/src/controllers/departmentController.ts @@ -114,12 +114,19 @@ export async function createDepartment(req: AuthenticatedRequest, res: Response) return; } - // 부서 코드 생성 (DEPT_숫자) + // 회사 이름 조회 + const company = await queryOne(` + SELECT company_name FROM company_mng WHERE company_code = $1 + `, [companyCode]); + + const companyName = company?.company_name || companyCode; + + // 부서 코드 생성 (전역 카운트: DEPT_1, DEPT_2, ...) const codeResult = await queryOne(` SELECT COALESCE(MAX(CAST(SUBSTRING(dept_code FROM 6) AS INTEGER)), 0) + 1 as next_number FROM dept_info - WHERE company_code = $1 AND dept_code LIKE 'DEPT_%' - `, [companyCode]); + WHERE dept_code ~ '^DEPT_[0-9]+$' + `); const nextNumber = codeResult?.next_number || 1; const deptCode = `DEPT_${nextNumber}`; @@ -130,14 +137,19 @@ export async function createDepartment(req: AuthenticatedRequest, res: Response) dept_code, dept_name, company_code, - parent_dept_code - ) VALUES ($1, $2, $3, $4) + company_name, + parent_dept_code, + status, + regdate + ) VALUES ($1, $2, $3, $4, $5, $6, NOW()) RETURNING * `, [ deptCode, dept_name.trim(), companyCode, + companyName, parent_dept_code || null, + 'active', ]); logger.info("부서 생성 성공", { deptCode, dept_name });