tseng-portal.pages.dev.
옛 주소도 그대로 살아 있습니다.요청하신 ts-portal.pages.dev 는 쓸 수 없어 tseng-portal.pages.dev 로 만들었습니다.
이미 다른 사람이 선점하고 있습니다. 그 주소로 들어가면 태성과 무관한
외국 페이지가 뜹니다. Cloudflare 는 이런 경우 ts-portal-6or 처럼
임의 접미사를 붙여버립니다.
고유한 이름이면 접미사가 안 붙는 것을 별도로 확인했고,
그래서 tseng-portal 로 확정했습니다.
| 항목 | 상태 | 비고 |
|---|---|---|
| tseng-portal.pages.dev | 200 정상 | 새 주소. 현재 안전 패트롤이 그대로 떠 있습니다 |
| ts-safety-patrol.pages.dev | 200 정상 | 옛 주소 — 지우지 않았습니다. 당분간 함께 운영 |
| /api/ocr | 401 | 인증 요구 = Worker 정상 기동. 단 아래 주의 참고 |
| Supabase | 수정 없음 | REST 직접 호출이라 주소가 바뀌어도 영향 없습니다 |
tseng-portal → Settings → Variables and Secrets.
새 프로젝트라 시크릿이 비어 있어 작업표 OCR 이 아직 안 됩니다.주신 잔업일지_2607.xlsx 는 결산이 끝난 완성본이라,
역산해서 검산까지 맞출 수 있었습니다.
요율적용시간 = 연장×1.5 + 휴일×1.5 + 야간×0.5 + 휴일연장×0.5 + 미오프×1.0
7월 합계 검산
연장 1,034h ×1.5 = 1,551.0
휴일 828h ×1.5 = 1,242.0
야간 553h ×0.5 = 276.5
휴일연장 560h ×0.5 = 280.0
미오프 240h ×1.0 = 240.0
─────────
3,589.5h ← 시트 합계와 정확히 일치
| 이름 | 실시간 | 연장 ×1.5 | 휴일 ×1.5 | 야간 ×0.5 |
휴일연장 ×0.5 | 미오프 ×1.0 | 계산값 | 시트값 | 검산 |
|---|---|---|---|---|---|---|---|---|---|
| 김철효 | 133.5 | 70.5 | 64 | 36.5 | 44 | 8 | 250.0 | 250 | 일치 |
| 정대윤 | 108 | 69 | 40 | 39 | 36 | 24 | 225.0 | 225 | 일치 |
| 박상준 | 91 | 52 | 40 | 29 | 36 | 24 | 194.5 | 194.5 | 일치 |
| 박재호 | 91 | 59 | 32 | 37 | 22 | 0 | 166.0 | 166 | 일치 |
| 성관영 | 12 | 12 | 0 | 0 | 0 | 0 | 18.0 | 18 | 일치 |
| 합계 33명 | 1,859 | 1,034 | 828 | 553 | 560 | 240 | 3,589.5 | 3,589.5 | 일치 |
실시간은 경과시간에서 식사시간을 뺀 값입니다. 실제 기록을 보니 먹은 날만 빠지고 있습니다.
| 패턴 | 건수 | 경과 | 실시간 | 공제 | 해석 |
|---|---|---|---|---|---|
| 18시 → 익일 07시 | 30 | 13h | 12h | 1h | 야식(00~01시) 공제. 석식은 18시 시작이라 애초에 근무 아님 |
| 08시 → 17시 | 16 | 9h | 8h | 1h | 중식(12~13시) 공제 |
| 17시 → 19시 | 6 | 2h | 2h | 0h | 석식 생략 — 안 먹고 바로 작업 |
| 08시 → 익일 01시 | 1 | 17h | 15h | 2h | 중식+석식 공제. 야식은 미공제 |
| 23시 → 익일 07시 | 1 | 8h | 8h | 0h | 야식 시간대를 지나는데도 미공제 |
즉 식사 공제는 규칙이 아니라 그날의 사실입니다.
같은 시간대를 일해도 먹었으면 빠지고 안 먹었으면 안 빠집니다.
카톡에 식사x 라고 적어 보내신 게 바로 이것이었습니다.
→ 웹 폼에서 중식 · 석식 · 야식 각각 먹음/거름 체크로 받으면 이 문제가 사라집니다.
근무구분에 따라 기본값을 켜두고, 거른 날만 해제하시면 됩니다.
2026-07-03 ~ 08-09, 메시지 236건에서 근무 블록 232건을 뽑았습니다. 하루 평균 6.1건, 15.5명분입니다.
| 항목 | 실태 |
|---|---|
| 날짜 | 24가지 형식 — 26.07.03 88건 ·
26년 7월 3일 31건 · 26.7.3 15건 · 26. 07. 3 12건 … |
| 근무구분 | 10가지 표기 → 실제로는 4종.
평일 야간(철야) 평일 야간 (철야) 평일 철야 가 모두 같은 것 |
| 인원 구분자 | 공백 159 · 쉼표 118 · 마침표 37 — 한 줄에 섞여 있음 |
| 외주 | 9가지 표기 (외주1명 외주 1명 외주1 외주 1 …)
총 69건 90명분 |
| 담당자 | 34건(15%)이 비어 있음 |
| 이름 오타 | 최민서→최민선 · 오용목→오용묵 ·
담당자 이호형/이호영 혼용(14회/9회) |
| 시각 | 48건(21%)만 적혀 있음. 나머지 79%는 근무구분 기본값에 의존 |
날짜별로 대조하니 31일 중 30일이 달랐는데, 원인이 분명합니다. 카톡에는 평일 주간 정상근무까지 전부 올리고(232건 중 170건), 잔업일지에는 가산 대상만 남깁니다. 즉 두 자료는 애초에 범위가 다릅니다.
→ 웹으로 받으면 한 번만 올리고 시스템이 알아서 갈라줍니다. 전체는 근무 이력으로 쌓이고, 가산 대상만 잔업일지 규격으로 빠져나갑니다. 지금처럼 담당자가 손으로 골라낼 일이 없어집니다.
xlsx 를 보기 전에 만든 계산 로직과 실제 결산 규칙을 대조했습니다.
| 항목 | 제가 넣었던 것 | 실제 | |
|---|---|---|---|
| 휴일 8시간 초과 | 8시간 넘으면 2.0배 | 그런 규칙 없음. 휴일은 전부 1.5배이고, 대신 「휴일연장」이라는 별도 항목(×0.5)이 따로 집계됩니다 | 수정 |
| 휴게 공제 | 중식 12~13시 한 개 고정 | 중식·석식(17~18)·야식(00~01) 3개이고, 먹었는지 여부가 건마다 다릅니다 | 수정 |
| 야간 가산 | 22~06시 +0.5 | 동일 | 일치 |
| 평일 주간 | 08~17시 가산 0 | 동일 | 일치 |
| 야간 시작 | 18:00 (17~18시는 석식) | 동일 — 30건이 이 패턴 | 일치 |
| 미오프 수당 | 없었음 | ×1.0 로 집계. 7월 240h | 추가 |
| 철야 식대 | 없었음 | 회당 6,500원. 7월 99회 | 추가 |
| 출력 형태 | 합계 한 덩어리 | 연장/휴일/야간/휴일연장/미오프 5개로 분해되어야 함 | 추가 |
다행히 계산의 뼈대는 맞았습니다. 제 엔진은 근무시간을 1분 단위로 쪼개 구간마다 배율을 매기는 방식이라, 위 항목들은 규칙표 값만 바꾸면 되고 구조는 그대로입니다. 「연장 1.5 + 야간 0.5 = 2.0」 처럼 합쳐 계산하던 것을 5개 항목으로 나눠 출력하도록 집계부만 손보면 됩니다.
7월에 560시간이 잡혀 있는데, 무엇을 기준으로 나누는지 시트만으로는 확정이 안 됩니다. 휴일 근무 중 8시간을 넘긴 부분으로 보이는데, 요율표의 다른 칸과는 맞지 않는 조합이 있습니다.
7월 240시간. 24시간 근무 후 다음날 휴무(오프)를 못 쓴 경우로 이해했습니다.
중식·석식·야식을 각각 먹음/거름으로 받으려 합니다. 실제 기록에서 17시 시작 잔업은 석식을 거의 안 드시고(6건 모두 미공제), 18시 시작 철야는 야식을 드십니다(30건 모두 공제).
근태일지 탭의 12종(철휴·무결·연차·반차·특별휴가·청휴·공가·교육·출장·훈련·조퇴·기타)을 그대로 쓰겠습니다.
아이디 = 이름, 비밀번호 = 생년월일 6자리로 하겠습니다. 직원명부 탭에 이미 전원 것이 들어 있어 그대로 쓰면 됩니다.
| # | 내용 | 상태 |
|---|---|---|
| 1 | 이름 변경 — 「태성이엔지 포털」 | 대기 |
| 2 | 로그인 — 아이디(이름) + 비밀번호(생년월일 6자리) 직접 입력. 기록 시각 · 기기 정보 함께 저장 | 대기 |
| 3 | 진입 분기 — 안전 패트롤 권한이 있으면 중간 선택 화면, 없으면 바로 근무내역 입력으로 | 대기 |
| 4 | 계산 엔진 수정 — 휴일 8h초과 규칙 제거, 식사 3종, 미오프, 5개 항목 분해 | 대기 |
| 5 | 근태사유 입력 — 12종 | 대기 |
| 6 | xlsx 출력 — 잔업일지 규격 그대로. 셀 높이·너비를 위치별로 고정해 세무사 제출본과 동일하게 | 대기 |
| 7 | xlsx 취입 — 기존 파일을 올려 과거분을 불러오기 | 대기 |
| 8 | 주소 이전 · 배포 | 완료 |
| 9 | 카톡 1개월 · 잔업일지 분석 | 완료 |
안전 패트롤 누적관리 엑셀을 원본 서식 그대로 만들어 본 방식이 이미 있습니다 (열 너비·행 높이·글꼴·테두리를 실측해 코드에 박아두는 방식, 외부 라이브러리 0개). 잔업일지도 같은 방식으로 셀 높이·너비를 위치별로 고정해 출력하겠습니다. 부장님이 받아서 그대로 세무사께 보내실 수 있는 규격이 됩니다.
같은 폴더의 근무내역_시안.html 을 열면 실제로 동작합니다. 안에는 7/3~8/9 실제 근무 221건이 들어 있습니다. 다만 위 4번(계산 엔진)이 아직 반영 전이라, 숫자는 잔업일지와 다릅니다. 화면 흐름과 입력 방식만 봐주십시오.
태성이엔지 포털 · 분석 리포트 · 2026-08-11