Skip to content

HBEA510_내 정보·근무 설정 ​

(Hereby) 직원 앱 > 더보기 > 내 정보·근무 설정

앱직원 앱 (Employee App, 포트 4002)
대상 사용자조건1 [EMPLOYEE] (self scope)
프로토타입TBU
관련 정책[[POL_더보기개편]] (FIG 정책 more.md) · [[POL_RBAC권한모델]]
Statusreview
Owner카나

개요 ​

  • 더보기 탭 메뉴 "내 정보" / "근무 설정"에서 진입하는 self scope 조회·수정 표면. 부모 화면은 [[HBEA500_더보기]].
  • 두 메뉴는 각각 독립 모달로 열린다. ① 내 정보 모달 = 프로필 필드 + 근무시간 선택 + "휴대폰 인증 로그인 허용" 토글 + 알림 설정 + "비밀번호 재설정" / "저장". ② 근무 설정 모달 = 내 정보의 근무시간 섹션만 독립적으로 연 "근무 설정" / "근무시간" 모달.
  • 프로필 수정 허용 항목은 Admin "직원 본인 수정 허용 항목"([[HBAD270_설정 (조직 설정·내 정보)]])에 연동된다.

문서 히스토리 ​

날짜작성자팀변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영 (내 정보 상세·근무 설정 독립 모달)
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성
2026-07-21카나PM셀 스타일 확정판 적용 (콸 승인)
2026-07-22카나PM코드 변경 반영(d7bd3f4)
2026-10-02카나PM비밀번호 재설정 새 비밀번호 안내·검사를 병원 설정(userPasswordPolicy)으로(ㄴ51)·1단계 판정 결함 수정(ㄴ52)(c6347029, #995) — 커밋 근거, 라이브 실사 이월(TBU) - 카나/PM
2026-10-08카나PM(10/7 머지분) PR #1090(ef18fa36) 반영: 내 정보 화면 = 조직 「화면 캡처 제한」 보호 대상(90 신설, 정본 HBEA110 50) — 커밋 근거, 라이브 실사 이월(TBU)
2026-10-13카나PM(10/10~11 머지분) PR #1144·#1154(MED-969) 반영: 근무 시간 설정 선택지 = 배정 그룹(주∪부 소속) ∪ 팀·개인 「허용 근무 유형」(선택 범위 Rule 보강) · PR #1149(MED-956) 내 정보 저장 버튼·프로필 사진 수정 — 커밋 근거, 실사 TBU
2026-10-14카나PM(10/13 머지분, #1227 6675103) 내 정보 안의 「인증/보안 설정」 진입 줄 제거(사용자 지시 — 진입은 프로필 시트·더보기만) · 비밀번호 변경·기기 로그인·2단계 인증은 신규 「인증/보안 설정」 화면(HBEA520 가칭, 채번 제안)으로 집약 — 내 정보 모달의 「비밀번호 재설정」(50)과의 병존 여부 실사 필요(TBU) - 카나/PM

Data I/O ​

Server → Client ​

변수DB 엔티티.컬럼값 없을 때비고
${profile}Employee.{name,employeeNo,email,teamName,birthDate,phone,address,emergencyContact,bankAccount} (self)빈 필드 "-" 표시 (라이브: "팀 -", "생년월일 -", "계좌정보 -")census 필드
${editable_fields}Admin "직원 본인 수정 허용 항목" 집합미허용 필드는 읽기 전용HBAD270 종속
${work_types}WorkType[] (근무 유형 목록)"— 근무시간 선택 —" placeholderHBAD261 원천 · (10/10~11 머지, #1144·#1154, MED-969) 선택지 = 선택 범위(SelectableShiftScope) — 배정 근무 그룹(주 소속 ∪ 부 소속)의 근무 ∪ 소속 팀들의 「허용 근무 유형」(teams.allowedShiftIds) ∪ 본인 허용 유형(employees.allowedShiftIds). 종전엔 주 소속 그룹 하나뿐이라 3교대 직원에게 3개만 노출. 저장 검증도 같은 판정(isShiftSelectable, shift.setMyShift) — 허용 유형 저장 시 그 근무의 그룹이 함께 배정, 급여 근로형태(workPatternId)는 불변. 아무 배정 없는 직원만 조직 전체에서 선택(마이그레이션 1971). 허용 목록 관리는 [[HBAD210_팀 관리]] 팀 수정·[[HBAD201_직원 추가·수정 모달]]
${work_type_recommended}최근 출근 기록 기반 짐작값기록 0회 시 추천 산정 불가안내 문구에 회수 노출
${notification_settings}NotificationSetting.{push,receiveAll} (self)기본값(추정 ON)푸시 알림 / 전체 알림 받기
${phone_auth_login_allowed}Employee.phoneAuthLoginAllowed (self)OFF (라이브 관찰)토글 상태
${signature_image}Employee.signatureImage (self, data URI)미등록 시 미리보기 미표시서명 조회 엔드포인트 (코드 반영: d7bd3f4)

Client → Server ​

액션전달 값tRPC procedure권한 토큰
본인정보 수정허용 필드 patchsdk.employee.updateSelf() (추정)employee:write.self
근무시간 저장workTypeIdsdk.employee.updateSelf() (추정)employee:write.self
휴대폰 인증 로그인 허용booleansdk.employee.updateSelf() (추정)employee:write.self
본인 서명 업로드서명 이미지 (data URI)직원 서명 업로드 엔드포인트 (Employee.signatureImage migration)employee:write.self (추정)
알림 설정푸시 / 전체 booleansdk.notification.updateSelf() (추정)notification:write.self
비밀번호 재설정—재설정 플로우 진입(본인 계정)

외부 통합 (cross-app) ​

외부 시스템데이터동기/비동기비고
Admin 유형 설정 ([[HBAD261_유형 설정 (연장근무·외근·휴가)]])근무 유형 목록 원천동기 (모달 로드 시)select 옵션
Admin 조직 설정 ([[HBAD270_설정 (조직 설정·내 정보)]])"직원 본인 수정 허용 항목" 원천동기수정 가능 필드 결정

화면 플로우 (내 정보 · 근무 설정 독립 모달) ​


(a) 내 정보 모달 사양표 ​

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [EMPLOYEE] 인증 · 더보기 "내 정보" 선택 시 모달 노출인증 세션 (self)
01초기 상태Output${profile} 로드하여 프로필 필드 채움. 값 없는 필드는 "-" 표시self
10프로필 필드Form이름 / 사번 / 이메일 / 팀 / 생년월일 / 전화번호 / 주소 / 비상연락처 / 계좌정보sdk.employee.updateSelf()census 필드
ㄴ값 표시 (라이브)Output상단 "최콸 FIRMA005", "이름 최콸", "이메일 djcola814@gmail.com", "전화번호 010-2955-7354"census 원문
ㄴ값 없음 처리Output라이브(7/10) 빈 값은 "-": "팀 -" / "생년월일 -" / "계좌정보 -". 주소·비상연락처는 값 없이 라벨만census 관찰
ㄴ수정 가능 필드Input${editable_fields} 허용 필드만 편집. 나머지 읽기 전용[[HBAD270_설정 (조직 설정·내 정보)]]Admin 종속
ㄴ정책(예정)-수정 불가[성명·사번·이메일·부서/팀] / 수정 가능[전화번호·비상연락처]. 생년월일·계좌정보·주소 필드 제거(주소는 직원 등록 시로 이동). 순서[성명·사번·이메일·부서/팀·전화번호·비상연락처·비밀번호 수정][[POL_더보기개편]]정책 vs 라이브 (출처: FIG 정책 more.md)
ㄴ정책(예정) 자물쇠-잠금 필드 자물쇠 호버·터치 시 "변경을 원하시면 관리자에게 문의해 주세요." 안내[[POL_더보기개편]]정책 원문
ㄴ라이브(현행)Output7/10 라이브는 생년월일·주소·계좌정보 필드 여전히 노출 + 자물쇠 안내 미확인정책 미적용
20근무시간 선택Select• 본인 근무시간 지정. placeholder "— 근무시간 선택 —"
• 선택 → 근무 유형 반영
근무 유형([[HBAD261_유형 설정 (연장근무·외근·휴가)]])census 원문
ㄴ옵션 (라이브)ListItem"스케줄 근무 (00:00-12:00)" / "3교대 주간 (07:00-15:00)" / "3교대 오후 (15:00-23:00)" / "3교대 야간 (23:00-07:00)" / "일반근무 (09:00-18:00)" 등census 원문 (junk 옵션 "sdfsfsd" 등 혼입)
ㄴ추천 안내Info"'추천'은 최근 출근 기록(0회)으로 짐작한 값이에요. 실제 근무시간과 다르면 본인 근무시간을 직접 선택해 주세요."최근 출근 기록census 원문 (라이브 0회)
ㄴ값 없음 처리Output미선택 시 "— 근무시간 선택 —" 유지. 출근 기록 0회 → 추천값 부재
30휴대폰 인증 로그인 허용Toggle• SMS 인증번호 로그인 허용 on/off. 설명 "직원이 SMS 인증번호로 로그인할 수 있도록 허용해요". 라이브 기본 "OFF"
• 토글 → 허용 상태 전환
본인 로그인 옵션census 원문
40알림 설정Toggle• 푸시/전체 알림 on/off. 항목 "푸시 알림" / "전체 알림 받기", 설명 "끄면 모든 유형의 알림이 일시중지돼요."
• 토글 → 알림 설정 전환
${notification_settings}census 원문
45본인 서명 이미지Upload• MyInfoForm에 본인 서명 이미지 업로드 + 미리보기 추가. 서명 이미지 업로드 후 미리보기 표시
• 업로드 → data URI로 저장(Employee.signatureImage). 서버: 직원 서명 업로드/조회 엔드포인트
• 문서 결재 양식(승인 폼)에 서명 자동 삽입 연동
 - CASE01 [미등록]: 미리보기 미표시
sdk.employee.updateSelf() (추정) · Employee.signatureImage · [[HBAD270_설정 (조직 설정·내 정보)]]신설 · migration 컬럼 추가 · 결재 양식 서명 삽입(코드 반영: d7bd3f4)
50비밀번호 재설정Button• 본인 계정 비밀번호 재설정 진입
• 클릭 → 재설정 플로우 진입
본인 계정TBU: 재설정 동선
ㄴ51새 비밀번호 (2단계 「새 비밀번호 설정」)Input• 새 비밀번호 칸 placeholder가 **병원 설정(일반 비밀번호 규칙)**을 따름 — 예: 기본 "8자 이상, 대문자·소문자·숫자·특수문자 포함" / 병원이 4자·필수 문자 해제 시 "4자 이상"
• 제출 시: 같은 규칙으로 화면에서 먼저 검사 → 서버(auth.changePassword)도 같은 함수로 검사, 거절 문구는 한국어 해요체
 - CASE01 [길이 미달]: "비밀번호는 {min}자 이상이어야 해요."
 - CASE02 [필수 문자 누락]: "비밀번호에 {누락 종류}를 포함해야 해요."
Organization.settings.userPasswordPolicy · [[HBAD270_설정 (조직 설정·내 정보)]] ㄴ51변경 (코드 반영: c6347029, #995) · 구버전은 안내·검사 8자 고정 · TBU: 라이브 실사 이월
ㄴ52현재 비밀번호 확인 (1단계)Rule• 1단계 판정을 서버 오류 코드로 구분 — 규칙 오류(BAD_REQUEST)와 틀린 비밀번호(UNAUTHORIZED)를 나눠, 맞는 현재 비밀번호가 규칙에 안 맞을 때 "비밀번호를 다시 확인해 주세요."가 잘못 뜨던 결함 수정auth.changePassword결함 수정 (코드 반영: c6347029, #995) · TBU: 라이브 실사 이월
60저장Button• 허용 필드 변경 확정
• 클릭 → 즉시 실행(컨펌 없음), 성공: 허용 필드 patch 반영
sdk.employee.updateSelf() (추정)TBU: 저장 실패 UI(토스트/무반응, 버그 후보 판단 보류)
90화면 캡처 제한 (민감 화면)Rule• (10/8, #1090 ef18fa36) 조직 「화면 캡처 제한」(기본 켬)이 켜져 있으면 내 정보 화면(2depth 종류 my-info)이 캡처 보호 대상 — 네이티브 앱에서 스크린샷·화면 녹화·미러링 시 내용 가림, 스크린샷 시 토스트 "화면이 캡처되었어요."
 - CASE01 [설정 꺼짐 또는 웹 브라우저]: 보호·안내 없음
• 상세 규칙(판정·1초 유예·플랫폼별 동작) 정본 = [[HBEA110_Shell·탭바·알림]] 50
settings.screenCaptureProtection · [[HBAD270_설정 (조직 설정·내 정보)]] ㄴ45-1신설 (#1090) · TBU: 실기기 확인(실사 대기)

(b) 근무 설정 독립 모달 사양표 ​

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [EMPLOYEE] 인증 · 더보기 "근무 설정" 선택 시 독립 모달 노출인증 세션 (self)
01초기 상태Output내 정보의 근무시간 섹션만 독립적으로 연 모달. 제목 "근무 설정" + "근무시간" 라벨selfcensus 원문
10근무시간 선택Select• 본인 근무시간 지정(내 정보 모달 20과 동일 섹션). placeholder "— 근무시간 선택 —"
• 선택 → 근무 유형 반영
근무 유형([[HBAD261_유형 설정 (연장근무·외근·휴가)]])census 원문
ㄴ옵션 (라이브)ListItem내 정보 모달과 동일 근무 유형 목록census 원문
ㄴ추천 안내Info"'추천'은 최근 출근 기록(0회)으로 짐작한 값이에요. 실제 근무시간과 다르면 본인 근무시간을 직접 선택해 주세요."최근 출근 기록census 원문
ㄴ값 없음 처리Output미선택 시 "— 근무시간 선택 —" 유지
20근무시간 저장Button• 선택한 근무시간 확정 저장
• 클릭 → 본인 근무시간 저장. 근무시간 미선택 시 disabled
본인 근무시간 저장census 관찰. TBU: 저장 실패 UI
30정책(예정)-FIG 정책 more.md: "근무 설정 빼기" — 더보기 메뉴에서 근무 설정 항목 제거 방향. 라이브(7/10)는 근무 설정 독립 모달 + 근무시간 선택 여전히 노출[[POL_더보기개편]]정책 vs 라이브 차이 (출처: FIG 정책 more.md)

연동·플로우 ​

  • 내 정보 수정은 Admin이 허용한 필드([[HBAD270_설정 (조직 설정·내 정보)]] "직원 본인 수정 허용 항목")에 한해 self scope로 "저장" 반영. self < team < full 권한 트리([[POL_RBAC권한모델]]) 계승.
  • 근무시간은 근무 유형 목록에서 본인이 직접 선택("추천"은 최근 출근 기록 짐작값). 내 정보 모달 근무시간 섹션 또는 "근무 설정" 독립 모달 어느 쪽에서든 저장 가능.

권한·상태 분기 요약 ​

시나리오트리거결과비고
CASE01 [수정 허용 필드]${editable_fields} 포함 필드편집 가능 → 저장 시 patchAdmin 종속
CASE02 [읽기 전용 필드]${editable_fields} 미포함읽기 전용 (정책상 자물쇠 안내 예정)정책 vs 라이브
CASE03 [근무시간 미선택]근무 설정 모달"근무시간 저장" disabled
조건1 [EMPLOYEE]self scope본인 정보만 조회/수정

Open Question ​

#항목상태
1"직원 본인 수정 허용 항목" 기본 집합(연락처만 vs 전체) 및 항목별 잠금 UITBU — 정책은 수정 불가/가능 구분·자물쇠 안내 정의(출처: FIG 정책 more.md), 라이브 미적용
2"추천" 근무시간 산정 기준(최근 출근 기록 n회) 구체 알고리즘TBU
3프로필 필드 개편(생년월일·계좌·주소 제거, 순서 재배치, 이름 아래 사번·이메일) 적용 시점TBU / 정책(예정) — 정의는 [[POL_더보기개편]] 참조
4근무 설정 모달 제거 방향 적용 시점TBU / 정책(예정)
5내 정보·근무 설정 저장 실패 시 UI 동작(토스트/무반응)TBU