부서 추가 구현

This commit is contained in:
dohyeons 2025-11-03 16:59:01 +09:00
parent b468b51aa7
commit 0d6b018ec4
1 changed files with 17 additions and 5 deletions

View File

@ -114,12 +114,19 @@ export async function createDepartment(req: AuthenticatedRequest, res: Response)
return;
}
// 부서 코드 생성 (DEPT_숫자)
// 회사 이름 조회
const company = await queryOne<any>(`
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<any>(`
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 });