보고서가 아니라
다음에 할 일을 보여줍니다.

태성이엔지 포털 대시보드 설계안

Apple 디자인 규격 PC · 모바일 양쪽 근로자 / 관리자 분리 계산 규칙 확정 ✓2026-08-11
설계 원칙

세 사람이라면 무엇을 지웠을까

화면을 채우는 건 쉽습니다. 어려운 건 빼는 쪽입니다. 말씀하신 세 분의 기준으로 넣을 것과 뺄 것을 갈랐습니다.

일론 머스크
요구사항부터 삭제한다
"가장 좋은 부품은 없는 부품이다.
가장 좋은 공정은 없는 공정이다."
  • 순위를 지운다. 지금 엑셀에는 실시간 순위·요율 순위가 있는데, 이 숫자로 바뀌는 결정이 없습니다. 사내 경쟁만 만듭니다
  • 평균 배율(1.93)을 지운다. 개인에게 아무 의미가 없습니다
  • 한 화면에 숫자 3개까지. 네 번째부터는 아무도 안 봅니다
제프 베조스
거꾸로 일한다 · 투입 지표를 본다
"결과 지표는 이미 지난 일이다.
움직일 수 있는 건 투입 지표뿐이다."
  • 총 3,589시간을 맨 위에 두지 않는다. 이미 끝난 숫자입니다
  • 맨 위는 「승인 대기 27건」. 지금 움직일 수 있는 것이고, 이게 밀리면 결산이 밀립니다
  • 되돌릴 수 있는 문은 빠르게, 아닌 문은 느리게. 승인·반려는 한 번에, 월 결산 확정은 확인 절차를 둡니다
이승건 (토스)
한 화면에 목적 하나
"사용자가 생각하게 만들면
그건 이미 진 것이다."
  • 근로자 화면은 큰 숫자 하나 + 버튼 하나. 열자마자 3초 안에 답이 나와야 합니다
  • 색만으로 상태를 말하지 않는다. 점 + 글자를 같이 씁니다. 현장은 햇빛 아래이고 색약도 있습니다
  • 숫자엔 항상 맥락을 붙인다. 「250시간」이 아니라 「250시간 · 지난달보다 +32」
세 관점이 한 곳에서 만납니다. 근로자에게는 내 시간과 올리기 버튼만, 관리자에게는 지금 처리할 건수가 맨 위에, 그리고 양쪽 모두 순위·금액·남의 데이터는 보이지 않습니다.
근로자 화면

내 것만, 크게.

현장에서 장갑 낀 손으로 봅니다. 목적은 하나 — 이번 달 내가 얼마나 일했고, 지금 뭘 올려야 하나.

PC 1440 × 900 · 사무실 · 조회 중심
tseng-portal.pages.dev
김철효 님, 8월입니다정비사업부 · 오늘 8월 11일 화요일
133.5시간 이번 달 실근무 지난달 같은 기간보다 +12시간
250h가산 환산배율 1.87
3내가 올릴 차례어제 야간 미등록
7철야식대 45,500원
최근 작업일지
8/09 일 2Line 1215P09 진공펌프 Grand Packing 교체 승인25.0h
8/08 토 2Line 침출 Candle Filter Valve 교체 외 1건 승인대기21.5h
8/07 금 2Line 배소 1150S01 상부 단관 보강 외 3건 수정요청21.5h
이명재 부장 · 8월 10일 09:14 종료시각이 07시로 되어 있는데 익일 07시가 맞습니까? 맞으면 그대로 다시 올려주세요.
이번 달 승인 현황
12 / 16건 승인
12 3 1
8월 결산 마감 9월 2일 · 남은 기간 22일
근태 신청
모바일 현장 · 입력 중심
김철효 님
8월 근무
133.5
실근무 시간
가산 환산 250h · 철야 7회
수정요청 1건
8/07 — 종료시각 확인 필요
최근
8/09 진공펌프 Packing 승인
8/08 Candle Filter 대기

모바일에서 뺀 것

PC 화면을 줄여서 넣지 않았습니다. 현장에서는 올리는 것이 전부라 보고, 조회용 숫자를 과감히 뺐습니다.

남긴 것 3개

  • 큰 숫자 하나 — 실근무 시간
  • 올리기 버튼 — 화면 폭 전체
  • 수정요청 알림 — 있을 때만 나타남

뺀 것 4개

  • 승인 진행 그래프
  • 철야 식대 금액
  • 달력 · 근무월력
  • 근태 신청 (PC 에서만)
이유. 카톡 기록을 보니 근무보고는 대부분 작업 끝나고 현장에서 바로 올라옵니다(오후 4~5시, 철야는 아침 7시). 그 순간 필요한 건 입력 하나뿐입니다.
관리자 화면 · 이명재 부장

지금 처리할 것이 맨 위에.

정상근무든 잔업이든 전부 올라옵니다. 부장님은 걸러 보고, 필요한 것만 뽑습니다.

PC 승인 · 집계 · 내보내기
tseng-portal.pages.dev / 관리
승인 대기 27건이명재 부장 · 8월 결산 마감까지 22일
27승인 대기이 중 6건 확인 필요
4수정요청 회신 대기가장 오래된 것 3일
2218월 등록정상 170 · 잔업 51
25이번 달 근무자미등록 2명
전체 221 잔업만 51 정상근무 170 승인대기 27 ⚠ 확인필요 6 수정요청 4 기간 8/1–8/11 사람 전체
이름건수실근무 연장휴일야간 휴일연장미오프환산상태
김철효37133.5 70.56436.5 448250.0 완료
정대윤26108 694039 3624225.0 3건
박상준2591 524029 3624194.5 1건
이지행24192 000 000.0 완료
33명2211,859 1,034828553 5602403,589.5
8월 결산
승인 190 · 대기 27 · 수정 4
전원 승인되면 확정할 수 있습니다
확정하면 그 달은 잠깁니다. 되돌리려면 사유를 남겨야 합니다.
⚠ 확인 필요 6건
· 달력과 다른 근무구분 2건
· 평소와 다른 기기에서 등록 1건
· 인원에 없는 사람이 대리 등록 2건
· 비고가 달린 건 1건
모바일 이동 중 승인
이명재 부장
승인 대기
27
건 · 이 중 6건 확인 필요
대기 ⚠ 달력 불일치 8/08 토
2Line 침출 Candle Filter Valve 교체
김진만 · 허종범 · 이초영 · 21.5h
8/8은 토요일(휴일)인데 「평일 야간」으로 올라왔습니다
밀어서 다음 건으로 · 1 / 27

의견 달기

반려가 아니라 대화로 만들었습니다. 부장님이 의견을 달면 작성자에게 그대로 보이고, 고쳐서 다시 올리면 그 이력이 남습니다.

수정요청 8/07 · 김동현
이명재 부장 · 8/10 09:14 종료시각이 07시로 되어 있는데 익일 07시가 맞습니까?
김동현 · 8/10 10:02 네 익일 07시 맞습니다. 수정해서 다시 올렸습니다.
수정본 제출 → 다시 승인 대기
왜 반려가 아니라 의견인가. 카톡에서는 부장님이 되물으면 그 대화가 다른 메시지에 묻혔습니다. 기록에 의견을 붙여두면 왜 이 건이 이렇게 정리됐는지가 나중에도 남습니다. 세무 자료의 근거가 됩니다.
상태 표현

확정 · 미확정 · 수정을
어떻게 보여줄 것인가

현장은 햇빛 아래이고, 색약인 분도 있습니다. 그래서 색 · 모양 · 글자 세 가지를 항상 같이 씁니다.

상태보이는 모습 의미누가 바꾸나
작성중 작성중 아직 제출 안 함. 본인만 보입니다작성자
승인대기 승인대기 제출됨. 부장님 확인을 기다립니다제출하면 자동
승인 승인 집계에 들어갑니다이명재 부장
수정요청 수정요청 의견이 달렸습니다. 고쳐서 다시 올리면 대기로 돌아갑니다이명재 부장
결산확정 🔒8월 확정 그 달 전체가 잠깁니다. 수정하려면 사유를 남기고 잠금을 풀어야 합니다 이명재 부장

목록에서 — 왼쪽 색띠

8/11 화작성 중인 일지 작성중
8/08 토Candle Filter Valve 교체 승인대기
8/09 일진공펌프 Grand Packing 승인
8/07 금단관 보강 외 3건 수정요청

색띠는 스크롤하면서 눈으로 훑을 때 쓰고, 알약 표시는 확인할 때 씁니다. 둘 다 있어야 합니다.

달 단위 — 진행 막대

190 / 221건
승인 190 대기 27 수정 4

막대 하나로 결산까지 얼마나 남았는지가 보입니다. 전부 초록이 되어야 확정 버튼이 켜집니다. 그전에는 눌리지 않습니다.

확정을 되돌릴 때. 결산 확정은 세무 자료로 나가는 시점입니다. 그래서 되돌리려면 사유를 반드시 적게 하고, 누가 언제 왜 풀었는지 남깁니다. 승인·반려는 한 번에 되지만 확정 해제만 이 절차를 둡니다.
달력 · 근무월력

왜 빨간날인지 옆에 적습니다.

지금 시안은 「관리자 지정」이라고만 되어 있어 이유를 알 수 없었습니다. 사유를 필수로 받고, 달력 옆에 목록으로 세워 두겠습니다.

2026년 6월
1
2
3
4
5
6현충일
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29노조창립
30
공휴일·주말 관리자 지정 잔업 계획
공공데이터포털에서 받음 API 6월 1건
6/06 현충일법정공휴일 · 2026-01-04 자동 수신
관리자가 추가·변경 직접 6월 1건
6/29 포스코 노조창립기념일 휴일로 지정 · 이명재 부장 · 2026-06-01 등록
잔업 계획 계획표 6월 2건
6/24 2Line 정기보수 철야최민선 파트장 · 6/18 등록 · 대상 8명
6/25 2Line 정기보수 철야최민선 파트장 · 6/18 등록 · 대상 8명

휴일을 바꿀 때 받는 것

날짜를 눌러 휴일로 바꾸면 사유를 적지 않으면 저장되지 않습니다.

날짜  2026년 6월 29일 (월)
구분  평일 → 휴일
사유  포스코 노조창립기념일 *필수
기록  이명재 부장 · 2026-06-01 14:22

제헌절(7/17)이 실제로 그랬습니다. 제 초안에는 빠져 있었고 부장님 확정 절차가 없었으면 그대로 계산됐을 것입니다.

근무월력 — 최민선 파트장

잔업·주말특근 계획을 미리 달력에 올려두는 화면입니다. 등록 권한은 최민선 파트장께 드립니다.

  • 날짜 · 근무구분 · 대상 인원 · 작업 예정 내용
  • 계획이 올라간 날은 달력에 보라 테두리
  • 그날 근로자가 일지를 올리면 계획에서 자동으로 채워집니다
  • 계획 대비 실제가 다르면 부장님 확인 목록에 뜹니다
덤으로 얻는 것. 계획이 있으면 근로자는 작업명·인원을 다시 안 적어도 됩니다. 카톡에서 매번 길게 쓰시던 것이 확인 버튼 하나로 줄어듭니다.
관리자 페이지 · 명단

조(組)가 곧 명단입니다.

주신 명단표의 색 구분이 그대로 조였습니다. 카톡 한 달치 실제 작업 조합과 대조해보니 78%가 그대로 맞았습니다.

왜 78%인가 — 그리고 왜 그게 오히려 맞는 설계인가. 나머지 22%는 조를 섞어 일한 경우입니다(예: 파트장이 다른 조에 들어가거나 인원을 빌려옴). 그래서 조는 기본값으로만 넣고, 개별 추가·제외를 항상 열어둡니다. 조를 강제하면 22%가 매번 불편해집니다.
PC 관리자 전용 · 명단과 계정
tseng-portal.pages.dev / 관리 / 명단
인력 명단 28명P-PLS 정비 · 조 8개 · 계정 미발급 2명
전체 28 1공장 11 2공장 8 유틸리티 3 1,2공장 4 ⚠ 계정 미발급 2
이름공장직책 아이디초기 비밀번호상태
1공장 B조
3명
정지훈1공장정지훈 •••• 변경함
박진종1공장박진종 •••• 초기값
이현진1공장이현진 •••• 변경함
유틸리티
3명
김시원유틸리티김시원 •••• 초기값
이민홍2공장 미발급 계정 없음
계정 규칙
아이디  이름 그대로 (동명이인 없음 — 확인함)
초기 비밀번호  휴대폰 뒤 4자리 · 부장님이 세팅
첫 로그인  변경 권유 (건너뛰기 가능)
분실 시  부장님이 초기화 → 다시 초기값으로
조 편성
조에 사람을 끌어다 옮기면 바로 반영됩니다.
조를 바꿔도 지난 근무 기록은 그대로 남습니다 (그때의 조로 기록됨).

파트장은 조에 속하면서 다른 조에도 들어갈 수 있게 표시만 해둡니다.

첫 로그인 — 강제하지 않습니다

모바일 처음 들어왔을 때
🔑
비밀번호를 바꾸시겠어요?
지금 비밀번호는 휴대폰 뒤 4자리입니다.
아는 사람이 있을 수 있습니다.

말씀하신 대로 안 바꿔도 되게 했습니다. 다만 안 바꾼 계정은 관리자 화면에 초기값 으로 표시돼서, 부장님이 누가 아직 초기 비밀번호를 쓰는지 한눈에 보실 수 있습니다.

기록이 함께 남습니다. 로그인할 때마다 시각과 기기가 저장되므로, 누군가 남의 계정으로 들어간 정황이 있으면 평소와 다른 기기로 잡힙니다. 비밀번호가 4자리라 약한 것을 이 기록이 보완합니다.
잔업계획 · 근무월력

달력 하나에 다 올립니다.

말씀하신 대로 「잔업대상자」 같은 글자를 쓰지 않고 체크로 받습니다. 여기저기 흩어진 정보를 달력 한 장에 모읍니다.

관리자 · 최민선 파트장이 계획을 올리는 화면

PC 계획 등록 — 날짜를 누르고 체크만
tseng-portal.pages.dev / 근무월력
2026년 8월
날짜를 누르면 오른쪽에서 체크합니다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15광복절
16
17대체
18
19
20
21
22
23
24
25
26
27
28
29
30
31
휴일 잔업 계획 오늘
8월 27일 (목)
평일 · 잔업 계획 등록
근무 구분
주간 야간 · 철야 주말특근 휴무
대상 — 조를 누르면 전원 체크
☑ 2공장 B조 3/3
☑ 김철효   ☑ 범민용   ☑ 김동현
◪ 유틸리티 1/3
☑ 박재호   ☐ 범민석   ☐ 김시원
작업 예정 (선택)
2Line 정기보수 — 사전 점검
저장하면 대상자 4명의 첫 화면에 바로 뜹니다.
체크 하나가 세 곳에 쓰입니다. ① 달력에 표시되고 ② 대상자 첫 화면에 알려지고 ③ 그날 일지를 올리면 작업명·인원·시각이 미리 채워집니다. 계획과 실제가 다르면 부장님 확인 목록에 뜹니다.

근로자 · 첫 화면에서 바로 보입니다

말씀하신 「며칠날 누구누구와 야간 작업 있음」을 대시보드 맨 위에 놓았습니다. 달력을 열어보지 않아도 됩니다.

모바일 근로자 첫 화면
김철효 님
8월 근무
다가오는 잔업
8월 27일 (목) 야간
범민용 · 김동현 · 박재호 님과 함께
18:00 ~ 익일 07:00 · 2Line 정기보수
16일 남음 · 최민선 파트장 등록
133.5
이번 달 실근무
이번 달 내 일정
8/27 야간 · 2Line 정기보수 계획
8/09 진공펌프 Packing 승인

근로자 달력은 「내 것」만

부장님 달력은 전원이 보이지만, 근로자 달력은 본인이 대상인 날만 색이 들어옵니다. 남이 언제 잔업하는지는 보이지 않습니다.

근로자가 보는 달력 내 것

  • 내가 대상인 잔업 — 보라
  • 내 휴무 — 회색
  • 공휴일 — 빨강 + 이유
  • 내가 일지를 올린 날 — 점

관리자가 보는 달력 전원

  • 날짜별 잔업 인원수 — 숫자
  • 조별 색 — 어느 조가 나가는지
  • 계획 대비 미등록 — 경고
  • 휴일 사유 목록 — 오른쪽
체크 방식으로 바꾼 이유. 「잔업대상자」 같은 이름표를 쓰면 휴무·특근·교육 같은 다른 것이 생길 때마다 이름표가 늘어납니다. 구분은 체크 4개(주간·야간·주말특근·휴무)로 고정하고, 나머지는 대상자와 날짜만 다르게 두면 달력 하나로 계속 씁니다.
권한

시간은 보이고, 돈은 한 사람만.

근무시간은 배치와 관리에 필요하니 보여드립니다. 하지만 수당·금액으로 환산된 것은 이명재 부장님만 보십니다.

항목 강신욱
마스터
이명재
부장 · 최종승인
김대수
리더 · 현장관리
최민선 · 김진만
파트장 · 배치
근로자
시스템 설정 · 계정 발급
근무 최종승인 · 결산 확정
수당 · 금액 · 요율적용시간
개인별 실근무시간 ● 전원● 전원● 전원◐ 본인
근무 배치 · 일정 수립
철야대기 근무표 등록 · 수정 ● 최민선
교대 승인 신청만
휴가 입력 · 승인 신청만
공휴일 달력 확정

김대수 리더 · 최민선 / 김진만 파트장이 보는 것

실근무시간까지만 보입니다. 「김철효 133.5시간」은 보이지만 「요율 250시간」이나 금액은 안 보입니다.

이름건수실근무 철야휴일
김철효37133.5 74
정대윤26108 65
요율 · 환산 · 금액 열이 아예 없습니다

왜 실근무시간은 보여드리나. 다음 배치를 짜려면 누가 이번 달에 몰렸는지 알아야 합니다. 그게 없으면 배치가 감으로 갑니다.

파트장은 「담당 조」만

두 파트장 모두 전체 인원의 실근무시간을 보십니다. 근무표를 짤 때 조를 넘나들기 때문에 전체가 보여야 배치가 됩니다. 철야대기 근무표 등록은 최민선 파트장이 하십니다.

확정됐습니다. 파트장도 전원을 봅니다. 다만 금액·요율은 여전히 안 보입니다 — 배치에 필요한 것은 누가 얼마나 일했나이지 얼마를 받나가 아니기 때문입니다.
철야대기 근무표

엑셀로 올리면 달력이 채워집니다.

최민선 파트장이 지금 쓰시는 그 xlsx를 그대로 올리면 시스템이 읽어 달력에 반영합니다. 형식을 바꾸실 필요가 없습니다.

읽어들이는 것

제목  태성 ENG 철야대기 근무표
기준  8조 3명 · 총 22명
시간  08:00 ~ 익일 07:00 (24)
행    월일 · 요일 · 성명 3칸
월일요일성명
26-8-1 김철효범민용허종범
26-8-2 정지훈박진종이현진
26-8-3전상민김보훈이창열
26-8-4김진만허종범이초영

날짜 26-8-12026년 8월 1일로 읽고, 이름은 명단과 대조해 오타가 있으면 올리기 전에 물어봅니다.

PC 최민선 파트장 · 근무표 올리기
tseng-portal.pages.dev / 철야대기
8월 철야대기 근무표23일치 · 22명 · 읽기 완료
✓ 23일 · 69명분을 읽었습니다
명단에 없는 이름 0건 · 날짜 중복 0건 · 인원 미달 0건
날짜요일근무자구분상태
8/1 김철효 · 범민용 · 허종범휴일 철야 확인
8/3 전상민 · 김보훈 · 이창열평일 철야 확인
8/13 오용묵 · 박상준 · 조규영평일 철야 확인
반영하면 22명 전원의 첫 화면에 각자 차례가 뜹니다.
색의 뜻을 확인했습니다 — 이름만이 아니라 색까지 읽습니다. ✓

노랑 = 휴일인데 근무 → 휴일 배율(1.5)이 붙는 날. 비용이 더 나갑니다.
파랑 = 보충 인원 → 원래 조가 3명인데 2명뿐인 조가 있어 다른 조에서 채워 넣은 사람.

그래서 이렇게 씁니다.
· 노랑은 확인용입니다. 시스템은 어차피 달력으로 휴일을 알고 있으니, 올리신 색과 달력이 어긋나면 그때 알려드립니다 (예: 노랑인데 달력엔 평일 → 회사 휴일이 빠졌을 수 있음).
· 파랑은 그대로 기록합니다. 「이 사람은 원래 조가 아닌데 채우러 갔다」가 남으면, 나중에 어느 조에 사람이 모자랐는지가 보입니다. 지금은 색이 지워지면 사라지는 정보입니다.

근무표 보기 — 표와 달력, 둘 다

같은 근무표를 표로도 달력으로도 봅니다. 배치를 짤 때는 표가, 언제인지 감을 잡을 때는 달력이 낫습니다.

전체 · 배치용
월일요일근무자구분
8/1 김철효범민용 허종범 보충 휴일
8/3전상민김보훈이창열 평일
8/4김진만허종범이초영 평일
8/5 범민석박재호김시원 내 차례
8/6 최민선장영대 정대윤 보충 휴일
올리신 색이 그대로 살아 있습니다. 「구분」은 시스템이 달력으로 판정한 값입니다.
달력 근로자 · 김시원 님 화면
1김철효 외 2
2정지훈 외 2
3전상민 외 2
4김진만 외 2
5 내 철야 범민석 박재호
6최민선 외 2
7김철효 외 2
8김진만 외 2
9전상민 외 2
10정지훈 외 2
11최차진 외 2
12전상민 외 2
13오용묵 외 2
14김진만 외 2
15최민선 외 2
16 내 철야 범민석 박재호
내 차례는 크게, 남의 차례는 「누가 들어오는구나」 정도로 작게. 탭하면 전체 이름이 펼쳐집니다.
왜 남의 이름을 아예 안 지우나. 교대를 부탁하려면 그날 누가 있는지를 알아야 합니다. 이름을 지우면 교대 신청이 카톡으로 돌아갑니다. 대신 크기로 우선순위를 줬습니다 — 내 것은 굵고 크게, 남의 것은 회색으로 작게. 개인별 시간·수당은 여전히 안 보입니다.

교대 — 두 갈래로 받습니다

① 파트장이 직접 고침

최민선 파트장이 근무표에서 이름을 바꿔 끼우면 끝입니다. 승인 절차 없이 바로 반영되고, 바뀐 이력만 남습니다.

② 근무자가 교대를 신청함

1:1 맞교대로만 받습니다. 한 사람이 빠지면 반드시 다른 사람이 들어옵니다.

이창열 님이 신청
8/13(목) 철야  오용묵이창열
8/18(화) 철야  이창열오용묵
사유 — 개인 사정
상대(오용묵)가 확인 → 승인권자 1명이 승인 → 근무표 반영
최민선 김진만 김대수 이명재
확정됐습니다 — 네 분 중 한 분만 승인하면 근무표에 반영됩니다. 누가 승인했는지는 기록에 남고, 나머지 세 분의 화면에서도 「승인됨」으로 사라집니다. 같은 건을 두 번 보시는 일이 없습니다.
휴가 · 근태

화이트보드를 달력으로.

본인이 신청해도 되고, 관리자가 벽에 붙은 화이트보드를 보고 한꺼번에 넣어도 됩니다. 양쪽 다 열어둡니다.

2026년 8월
1
2
3 연차서동근
4 연차서동근
5 오전반차이창열
6
7 오후반차박재호
8
9
10 경조김시원
11 경조김시원
12 경조김시원
13
14
15
연차 오전반차 오후반차 경조
휴가 넣기
종류
오전반차 오후반차 연차 경조 공가 교육 · 출장
기간 — 연속으로 넣습니다
8월 10일
~
8월 12일
대상 — 여러 명 한꺼번에
☑ 김시원   ☐ 범민석   ☐ 박재호
화이트보드를 보고 한 번에 옮기실 때 쓰시면 됩니다. 근로자가 직접 신청하면 승인 대기로 들어갑니다.
휴일과 같은 개념 아니냐 — 맞습니다. 그래서 같은 달력 한 장에 얹었습니다. 공휴일은 칸 전체가 빨강, 개인 휴가는 네모 안에 종류만 넣고 이름은 그 옆에 검은 글자로 씁니다. 네모가 색이라 종류가 한눈에 들어오고, 이름은 읽으면 됩니다. 배지가 여러 개면 세로로 쌓이고, 3개가 넘으면 「+2명」으로 접습니다. 근로자 화면에서는 본인 것만 보입니다.
계정

비밀번호 — 이메일 찾기, 넣는 게 맞습니다.

다만 이메일만 두면 안 됩니다. 두 갈래를 같이 둡니다.

① 이메일로 본인이 찾기 권장

  • 개인정보 페이지에서 이메일을 등록해두면
  • 로그인 화면의 「비밀번호를 잊으셨나요」로 메일을 받아 직접 재설정
  • 관리자에게 물어볼 일이 거의 사라집니다
  • 등록은 선택입니다. 강제하지 않습니다

② 관리자가 초기화 항상 유지

  • 이메일을 안 쓰시거나 못 여시는 분이 반드시 있습니다
  • 명단 화면에서 「비밀번호 초기화」 한 번
  • 다시 휴대폰 뒤 4자리로 돌아갑니다
  • 누가 언제 초기화했는지 기록이 남습니다
기술적으로 준비할 것. 메일 발송은 Supabase 에 이미 들어 있지만 기본 발송량이 시간당 3~4통으로 묶여 있어 실사용에는 모자랍니다. 회사 메일 서버나 발송 서비스를 하나 붙이면 풀립니다. 비용은 무료 구간으로 충분합니다.

제안 — 1단계에서는 관리자 초기화만 넣고 열어두었다가, 쓰시면서 문의가 잦으면 그때 이메일 찾기를 켜는 게 안전합니다. 계정 28개 규모라 초기화 요청이 그렇게 많지 않을 수도 있습니다.

개인정보 페이지에서 하는 것

· 비밀번호 변경 — 언제든지
· 이메일 등록 · 변경 — 비밀번호 찾기용 (선택)
· 휴대폰 번호 — 초기 비밀번호의 근거라 관리자만 수정
· 내 로그인 기록 — 언제 어떤 기기로 들어왔는지 본인도 확인
마지막 항목을 넣은 이유 — 본인이 「내가 안 한 로그인」을 발견할 수 있어야 기기 기록이 제 역할을 합니다. 관리자만 보면 늦습니다.
만들지 않을 것

뺀 것들과 그 이유

기능을 안 만드는 것도 결정입니다. 아래는 일부러 뺐습니다. 필요하다고 하시면 넣겠습니다.

뺀 것이유
실시간 순위 · 요율 순위 지금 엑셀 F·G열에 있습니다. 이 숫자로 바뀌는 결정이 없고, 근로자에게 보이면 경쟁이 됩니다. 관리자 화면에도 넣지 않았습니다
근로자 화면의 금액 시간만 보여줍니다. 급여는 다른 요소가 섞이는데 여기 숫자가 보이면 확정 급여로 오해됩니다. 철야 식대만 예외로 보여줍니다
남의 근무 기록 본인이 인원에 포함된 건만 보입니다. 같은 팀이어도 남의 시간은 안 보입니다
평균 배율 회사 전체로는 의미가 있지만(1.93) 개인에게는 해석이 어렵습니다. 관리자 화면에만 남깁니다
알림 · 푸시 1단계에서는 넣지 않습니다. 수정요청은 다음에 열 때 보이면 충분합니다. 쓰면서 필요하면 그때 넣겠습니다
채팅 의견 달기는 기록에 붙는 한 줄이지 대화방이 아닙니다. 대화가 필요하면 카톡이 이미 있습니다

확인이 끝난 것

「휴일 8시간 초과 2.0배」 — 그런 규칙은 없었습니다.
잔업일지 결산본을 33명 전원 역산한 결과, 휴일은 초과해도 계속 1.5배이고 대신 「휴일연장」이 별도 항목(×0.5)으로 따로 잡힙니다. 7월 560시간.
앞서 "126시간이 빠진다"고 말씀드린 것은 제 잘못된 전제였습니다. 취소합니다.
「미오프」 규칙 — 주신 설명으로 확정했고, 데이터로 검증까지 끝냈습니다. ✓

철야를 하면 다음날은 오프입니다. 그 오프가 평일이면 그날의 정상근무 8시간을 유급으로 쉬는 것이니 추가가 없습니다. 그런데 다음날이 이미 휴일이면 어차피 쉬는 날에 오프를 쓴 셈이 되므로, 정상근무 8시간을 한 것으로 쳐서 +8시간(×1.0)을 답니다.

검증 결과 — 7월 미오프 240시간이 18명 전원 정확히 8의 배수였습니다(합 30회). 그리고 2026년 7월에 「철야 종료일이 휴일」인 날은 정확히 9일이고 (금→토 4일, 토→일 4일, 목→제헌절 1일), 보통 3인 1조로 들어가시니 30명분이 맞아떨어집니다.

→ 그래서 미오프는 사람이 체크할 필요가 없습니다. 근무가 철야이고 종료일이 달력상 휴일이면 시스템이 자동으로 8시간을 답니다. 앞서 "입력자가 체크할지 부장님이 넣을지" 여쭤봤던 것은 철회합니다. 다만 예외가 있으면 부장님이 승인 단계에서 끄실 수 있게 해두겠습니다.
「휴일연장」도 풀렸습니다 — 규칙 전체가 확정됐습니다. ✓

상세 행 97건을 1분 단위로 재현해 시트와 대조했습니다. 시각이 적힌 69건 중 67건이 완전 일치했고, 5개 항목 합계는 S·T·V·W 모두 오차 0이었습니다.

결정적이었던 두 가지 —
자정을 넘어도 쪼개지 않습니다. 금요일 밤 철야가 토요일 아침에 끝나도 전부 「평일」로 답니다. 근무는 시작일로 결정됩니다.
연장창이 17시 ~ 익일 06시입니다. 06~08시는 연장이 아닙니다. (토요일 07시 시작 근무의 휴일연장이 0인 것이 이걸 증명했습니다)

확정된 계산 규칙 전문

평일 / 휴일은 근무 시작일로 결정 — 자정을 넘어도 쪼개지 않는다
  연장창  17:00 ~ 익일 06:00
  야간창  22:00 ~ 06:00
  식사    중식 12~13 · 석식 17~18 · 야식 00~01   (실제로 쉰 것만 공제)

평일   연장 S = 실근무 전체          야간 U = 야간창 실근무
휴일   휴일 T = 실근무 전체          휴일연장 V = 연장창 + 야간창 실근무
미오프 W = 철야(익일 06~08시 종료)이고 익일이 휴일이면 8

요율적용시간 = S×1.5 + T×1.5 + U×0.5 + V×0.5 + W×1
이걸 배율로 풀면 이렇게 됩니다 — 평일 정상 0배 · 연장 1.5 · 심야 2.0  |  휴일 주간 1.5 · 연장 2.0 · 심야 2.5
안 맞은 2건은 규칙이 아니라 시트의 손계산 불일치였습니다.
· 7/20(월) 18~07시 — 실시간 칸은 12h인데 연장은 13h로 계산돼 있습니다. 야식을 안 드신 날 같은데 실시간 칸에만 반영이 빠졌습니다.
· 7/23(목) 23~07시 — 실시간 칸은 8h인데 연장은 7h입니다. 야식을 뺐는데 실시간 칸에는 안 뺐습니다. (요율 14h 는 7h 기준이 맞습니다)


바로 이것이 시스템이 없애는 문제입니다. 시각만 넣으면 실시간·5개 항목·요율이 한 번에 계산되므로, 손으로 옮기다 어긋날 자리가 사라집니다.

승인해 주시면 이 순서로 만듭니다

#내용
1Apple 규격 헤더·푸터 + 로그인(이름 · 생년월일 6자리)
2권한별 진입 — 안전웹 권한 있으면 선택 화면, 없으면 바로 작업일지
3근로자 대시보드 (PC · 모바일)
4관리자 대시보드 + 필터 정렬 + 의견 달기
5계산 엔진 — 5개 항목 분해 · 식사 3종 · 미오프 · 철야 식대
6달력 + 사유 · 근무월력 · 철야대기 근무표 xlsx 취입(최민선 파트장)
7휴가 · 근태 (연속 입력 · 달력 배지) · 교대 신청 · 승인
8잔업일지 xlsx 출력 — 셀 높이·너비를 위치별로 고정
9xlsx 취입 (과거분 불러오기)