feat(부서관리): 다중 관리자 + 조직장 (DEPT_MANAGERS) #19

Merged
johngreen merged 1 commits from johngreen into main 2026-05-14 06:21:00 +00:00
Contributor

RPS 더존 ERP UJA1040 레퍼런스 대비 누락 기능 중 A 단계 — 부서마다 결재 관리자/부서 관리자/조직장을 각각 최대 10명까지 등록.

DB

  • 신규 DEPT_MANAGERS (dept_code, user_id, role, sort_order, created_at). FK CASCADE.
  • V022 Flyway + StartupSchemaMigrator 등록 → 메타 + 테넌트 DB 부팅 시 자동 적용.

Backend

  • mapper.xml: SELECT 에 3 json_agg ::TEXT 컬럼 추가 (approval_managers/dept_managers/org_leaders).
  • service: parseManagersJson + syncManagers (delete-all + insert-all, 최대 10명 검증, 역할 한글 메시지).
  • 기존 DEPT_INFO.APPROVAL_MANAGER/DEPT_MANAGER 단일 컬럼은 호환 위해 유지 (후속 PR 에서 cleanup).

Frontend

  • types 3 배열 필드 추가.
  • BasicInfoForm 의 단일 PickerField → ManagerChipsField 다중 chip UI 교체.
  • 조직장 Row 신규. UserSearchModal 재사용.

Code review

  • APPROVED, BLOCK 없음.
  • 후속 (별도 PR): exact-match user lookup endpoint, V023 단일 컬럼 drop.
RPS 더존 ERP UJA1040 레퍼런스 대비 누락 기능 중 A 단계 — 부서마다 결재 관리자/부서 관리자/조직장을 각각 최대 10명까지 등록. **DB** - 신규 DEPT_MANAGERS (dept_code, user_id, role, sort_order, created_at). FK CASCADE. - V022 Flyway + StartupSchemaMigrator 등록 → 메타 + 테넌트 DB 부팅 시 자동 적용. **Backend** - mapper.xml: SELECT 에 3 json_agg ::TEXT 컬럼 추가 (approval_managers/dept_managers/org_leaders). - service: parseManagersJson + syncManagers (delete-all + insert-all, 최대 10명 검증, 역할 한글 메시지). - 기존 DEPT_INFO.APPROVAL_MANAGER/DEPT_MANAGER 단일 컬럼은 호환 위해 유지 (후속 PR 에서 cleanup). **Frontend** - types 3 배열 필드 추가. - BasicInfoForm 의 단일 PickerField → ManagerChipsField 다중 chip UI 교체. - 조직장 Row 신규. UserSearchModal 재사용. **Code review** - APPROVED, BLOCK 없음. - 후속 (별도 PR): exact-match user lookup endpoint, V023 단일 컬럼 drop.
johngreen added 1 commit 2026-05-14 06:20:23 +00:00
- 마이그레이션 V022/RUN_088: DEPT_MANAGERS 신규 (role: approval/dept/org_leader, PK 3-tuple, FK CASCADE)
- StartupSchemaMigrator 에 V022 idempotent CREATE 추가 → 테넌트 DB 자동 동기화
- mapper.xml: SELECT 에 3 json_agg ::TEXT 컬럼 추가, insertDeptManagers + deleteDeptManagersByDeptAndRole 신규
- service: parseManagersJson + syncManagers (delete-all + insert-all, 최대 10명, 역할 한글 메시지)
- frontend: types 3 필드, DeptDetailDraft 확장, ManagerChipsField (chip+UserSearchModal 재사용), 조직장 Row 신규

기존 DEPT_INFO.APPROVAL_MANAGER / DEPT_MANAGER 단일 컬럼은 호환을 위해 유지.
johngreen added 1 commit 2026-05-14 06:20:23 +00:00
- 마이그레이션 V022/RUN_088: DEPT_MANAGERS 신규 (role: approval/dept/org_leader, PK 3-tuple, FK CASCADE)
- StartupSchemaMigrator 에 V022 idempotent CREATE 추가 → 테넌트 DB 자동 동기화
- mapper.xml: SELECT 에 3 json_agg ::TEXT 컬럼 추가, insertDeptManagers + deleteDeptManagersByDeptAndRole 신규
- service: parseManagersJson + syncManagers (delete-all + insert-all, 최대 10명, 역할 한글 메시지)
- frontend: types 3 필드, DeptDetailDraft 확장, ManagerChipsField (chip+UserSearchModal 재사용), 조직장 Row 신규

기존 DEPT_INFO.APPROVAL_MANAGER / DEPT_MANAGER 단일 컬럼은 호환을 위해 유지.
johngreen merged commit 1613fae8fb into main 2026-05-14 06:21:00 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gbpark/invyone#19