Skip to content

HBGA210_교육 관리

(Hereby) 총무 > 교육 관리

총무 (HBGA)
대상 사용자조건1 [GA_ADMIN] / 조건2 [SUPER_ADMIN]
프로토타입TBU
관련 정책[[POL_법정의무교육]]
Statusreview
Owner카나 (PM)

개요

  • 사이드바 "총무" 메뉴의 실제 화면 = 법정의무교육 정의 관리(mandatory_trainings).
  • 카테고리 탭 5종 + "교육명 검색..." + "+ 교육 추가" + 8컬럼 그리드로 구성한다.
  • 그리드에 과태료를 정량 노출(mandatory_trainings.penaltyAmount, 예 "527,852원")해 미이수 리스크를 금액으로 보여준다 — 법무·노무 검수 대상.
  • row action = "이수현황"(HBGA211) / "수정" / "삭제".

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성 + 확정 스타일

Data I/O

Server → Client

변수엔티티.컬럼값 없을 때비고
$mandatory_trainings[] (name/category/frequency/requiredHours/targetAudience/penaltyAmount/isActive)목록 0건 (Empty 처리)8컬럼 그리드 소스
$mandatory_trainings.penaltyAmount미설정 → 표기 규칙 TBU과태료 정량 노출, 법무·노무 검수
$페이지네이션 (추정)1페이지예 "총 2건 중 1-2건"

Client → Server

액션전달 값tRPC procedure권한 토큰
교육 추가name, category, legalBasis, frequency, requiredHours, targetAudience, penaltyAmount, penaltyDescription, description, isActivesdk.generalAffairs.training.create() (추정)ga:training:write (추정)
교육 수정상동 + trainingIdsdk.generalAffairs.training.update() (추정)ga:training:write (추정)
교육 삭제trainingIdsdk.generalAffairs.training.delete() (추정)ga:training:write (추정)

화면 플로우

교육 관리 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-사이드바 "총무" 메뉴 클릭 시 /general-affairs/training 진입. 조건1 [GA_ADMIN] 이상[[HBGA100_Shell·사이드바]]메뉴 라벨 "총무"=교육 관리
01초기 상태-카테고리 탭 "전체" 활성 + 검색 비어있음 + 8컬럼 목록 노출
10카테고리 탭Tab• 카테고리별로 교육 목록을 거르는 탭 5종 "전체" / "법정의무교육" / "인증필수교육" / "전문교육" / "기타"
• 클릭 시: 해당 카테고리로 목록 필터 전환
 - CASE01 ["전체"]: 전 카테고리 노출
 - CASE02 [특정 카테고리]: 일치 교육만 노출
mandatory_trainings.category5종
20검색Search• 교육명으로 목록을 거르는 입력
• 입력 시: 일치 교육만 표시(client/server filter)
 - CASE01 [결과 없음]: 빈 목록
client/server filterplaceholder "교육명 검색..."
30교육 추가Button• 신규 교육 정의를 생성하는 진입 버튼
• 클릭 시: "교육 추가" 모달 오픈 (필드는 하단 모달 사양표)
mandatory_trainings create · 교육 추가 모달 사양표mutation
40교육 목록Table• 교육 정의를 8컬럼으로 나열하는 그리드 "교육명 / 카테고리 / 주기 / 필수시간 / 대상 / 과태료 / 상태 / 관리"mandatory_trainings
ㄴ41row 예시ListItem• 목록 행 표기 예시 "555555 / 법정의무교육 / 3년 / 15.0시간 / 7527527527 / 527,852원 / 활성"더미 데이터 cleanup 필요
ㄴ42과태료Text• 미이수 리스크를 금액으로 정량 노출하는 셀. 예 "527,852원"penaltyAmount / penaltyDescription법무·노무 검수 필요
ㄴ43row action — 이수현황Button• 해당 교육의 직원별 이수현황으로 이동하는 버튼
• 클릭 시: 이수현황 인라인 서브뷰 전환 (HBGA211)
[[HBGA211_이수현황·이수기록]]
ㄴ44row action — 수정Button• 교육 정의를 수정하는 버튼
• 클릭 시: "교육 수정" 모달 오픈 (기존 값 채움)
training updatemutation
ㄴ45row action — 삭제Button• 교육 정의를 삭제하는 버튼
• 클릭 시: 삭제 실행
training deletemutation, TBU: 삭제 컨펌 문구 라이브 미확인
50페이지네이션Pagination• 목록 페이지 이동 컨트롤 "« ‹ 1 › »"
• 클릭 시: 해당 페이지 목록 로드
"총 2건 중 1-2건"
60AI — 과태료 노출 환산AI/Read• 미이수 교육·만료 임박을 근거로 잠재 과태료를 위험순 환산하는 초안 (greenfield)
• 클릭 시: TBU
training + completionTBU: complianceExposureBrief, 법무·노무 검수

교육 추가 모달 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-"+ 교육 추가" 클릭 시 모달 오픈교육 관리 사양표 30
10제목Text• 모달 헤더 "교육 추가"
ㄴ11교육명Input• 교육명 입력 "교육명 *" — 저장 활성화 필수 필드
• 입력 시: 저장 버튼 disabled 해제 조건 충족
name필수
ㄴ12카테고리Dropdown• 카테고리 선택 "카테고리"category
ㄴ13교육주기Input/Dropdown• 교육주기 입력·선택 "교육주기"frequency
ㄴ14필수시간Input• 필수 이수시간 입력 "필수시간"requiredHours
ㄴ15교육대상Input• 교육대상 입력 "교육대상"targetAudience
ㄴ16법적근거Input• 법적근거 입력 "법적근거"legalBasis
ㄴ17과태료 (원)Input• 과태료 금액 입력 "과태료 (원)"penaltyAmount법무·노무 검수
ㄴ18과태료 설명Input• 과태료 설명 입력 "과태료 설명"penaltyDescription
ㄴ19설명Input Box• 교육 설명 입력 "설명"description
ㄴ1A활성Checkbox• 활성 여부 토글 "활성" 체크
• 클릭 시: isActive on/off
isActive
20취소Button• 모달을 닫는 버튼
• 클릭 시: 모달 닫기 (변경 없음)
30저장Button• 입력값으로 교육을 생성하는 버튼
• 클릭 시: 생성 실행 (필수 입력 전 disabled)
 - STEP1 교육명 입력 전 disabled
 - STEP2 저장 성공 시 목록 갱신
mandatory_trainings createmutation, 사람 저장

권한·상태 분기 요약

시나리오트리거결과비고
조건1 [GA_ADMIN]"총무" 메뉴 진입교육 목록 노출
CASE01 [교육 추가]"+ 교육 추가" → 저장교육 정의 생성 → 목록 갱신교육명 전 저장 disabled
CASE02 [삭제]row "삭제" 클릭삭제 실행삭제 컨펌 문구 TBU

Open Question

  • 교육 삭제 컨펌 다이얼로그 문구/유무 라이브 미확인 = TBU
  • 과태료 미설정 시 그리드 표기 규칙 = TBU
  • AI 과태료 노출 환산(complianceExposureBrief) — greenfield, 법무·노무 검수 및 진입 UI = TBU
  • 대상 사용자 token 내부 key([GA_ADMIN]/[SUPER_ADMIN]) 미확정 = TBU
  • tRPC procedure/권한 토큰 추정 — 사람 확정 필요 = TBU