Files
TK-FB-Project/docs/zone-data-guide.md
Hyungi Ahn 2b1c7bfb88 feat: 다수 기능 개선 - 순찰, 출근, 작업분석, 모바일 UI 등
- 순찰/점검 기능 개선 (zone-detail 페이지 추가)
- 출근/근태 시스템 개선 (연차 조회, 근무현황)
- 작업분석 대분류 그룹화 및 마이그레이션 스크립트
- 모바일 네비게이션 UI 추가
- NAS 배포 도구 및 문서 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 14:41:01 +09:00

7.6 KiB

구역 관련 데이터 구조 가이드

개요

작업장(구역) 관련 데이터는 여러 테이블에 분산 저장됩니다. 이 문서는 각 테이블의 역할과 관계를 정리합니다.


테이블 구조

1. 설비 정보 (equipments)

용도: 회사 소유 설비/장비의 마스터 데이터

등록 경로: 설비 관리 페이지 (/pages/equipment/)

주요 컬럼 설명
equipment_id PK
equipment_code 관리번호 (예: TKP-001)
equipment_name 설비명
equipment_type 유형 (용접기, 턴테이블 등)
workplace_id 원래 배치된 작업장
status 상태 (active, repair_needed, maintenance 등)
map_x_percent, map_y_percent 지도상 위치 (%)
is_temporarily_moved 임시 이동 여부
current_workplace_id 현재 위치 (이동 시)

특징:

  • 영구적인 자산 관리 목적
  • 설비 관리 페이지에서 CRUD
  • 구역 상세 페이지에서는 조회만 가능

2. 구역 현황 (workplace_zone_items)

용도: 작업장 내 일시적/상시적 현황 기록 (적치물, 작업중 물품, 미신고품 등)

등록 경로: 구역 상세 페이지 (/pages/inspection/zone-detail.html)

주요 컬럼 설명
item_id PK
workplace_id 작업장 ID
item_name 명칭
item_type 상태/유형 (working, temp_storage, moved_equipment, unreported)
warning_level 주의 수준 (good, caution, needs_management)
project_type 프로젝트 여부 (project, non_project, unknown)
project_id 연결된 프로젝트 ID
x_percent, y_percent 지도상 위치 (%)
width_percent, height_percent 영역 크기 (%)
color 표시 색상
description 상세 설명
created_by 등록자

특징:

  • 순회점검 중 또는 수시로 등록
  • 사진 첨부 가능 (zone_item_photos 테이블)
  • 해소되면 삭제 또는 비활성화

3. 구역 현황 사진 (zone_item_photos)

용도: 구역 현황에 첨부된 사진

주요 컬럼 설명
photo_id PK
item_id 연결된 현황 ID (FK → workplace_zone_items)
photo_url 사진 경로
created_at 업로드 시간

4. 구역 현황 이력 (zone_item_history)

용도: 구역 현황의 등록/수정/삭제 이력 추적

주요 컬럼 설명
history_id PK
item_id 현황 ID (FK → workplace_zone_items)
action_type 행위 (created, updated, deleted)
changed_fields 변경된 필드명 (JSON)
old_values 이전 값 (JSON)
new_values 새 값 (JSON)
changed_by 변경자 ID
changed_at 변경 시간

특징:

  • 모든 변경사항 자동 기록
  • 누가, 언제, 무엇을 변경했는지 추적 가능
  • 삭제된 항목의 마지막 상태도 보존

5. 순회점검 세션 (patrol_sessions)

용도: 일일순회점검 수행 기록

등록 경로: 일일순회점검 페이지 (/pages/inspection/daily-patrol.html)

주요 컬럼 설명
session_id PK
patrol_date 점검 날짜
patrol_time 시간대 (morning, afternoon)
category_id 점검 공장
inspector_id 점검자
status 상태 (in_progress, completed)
notes 특이사항

6. 순회점검 체크기록 (patrol_check_records)

용도: 각 작업장별 체크리스트 점검 결과

주요 컬럼 설명
record_id PK
session_id 세션 ID (FK → patrol_sessions)
workplace_id 작업장 ID
checklist_item_id 체크항목 ID
is_checked 점검 완료 여부
check_result 결과 (pass, fail, na)
notes 비고

특징:

  • 점검 세션 완료 시 일괄 저장
  • 일시적인 점검 기록 (매일 새로 생성)

데이터 흐름도

┌─────────────────────────────────────────────────────────────┐
│                    구역 상세 페이지                           │
│                 (zone-detail.html)                          │
└─────────────────────────────────────────────────────────────┘
                            │
            ┌───────────────┼───────────────┐
            ▼               ▼               ▼
    ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
    │  equipments  │ │ workplace_   │ │   patrol_    │
    │   (설비)     │ │ zone_items   │ │  sessions    │
    │              │ │  (현황)      │ │  (점검)      │
    └──────────────┘ └──────────────┘ └──────────────┘
          │                 │               │
          │                 ▼               ▼
          │         ┌──────────────┐ ┌──────────────┐
          │         │ zone_item_   │ │ patrol_check │
          │         │   photos     │ │   _records   │
          │         │   (사진)     │ │  (체크기록)  │
          │         └──────────────┘ └──────────────┘
          │
          ▼
    ┌──────────────┐
    │   repair_    │
    │  requests    │
    │  (수리요청)  │
    └──────────────┘

사용 시나리오

시나리오 1: 순회점검 중 미신고품 발견

  1. 일일순회점검 진행 (patrol_sessions 생성)
  2. 체크리스트 점검 (patrol_check_records 저장)
  3. 미신고품 발견 → 구역 현황 등록 (workplace_zone_items)
  4. 사진 촬영 → 첨부 (zone_item_photos)

시나리오 2: 설비 상태 확인

  1. 구역 상세 페이지 접근
  2. 지도에 설비 표시 (equipments 조회)
  3. 수리 필요 설비 확인 → 수리 요청 (repair_requests)

시나리오 3: 임시 적치물 관리

  1. 작업 중 자재 임시 적치
  2. 구역 현황 등록 (item_type: temp_storage)
  3. 작업 완료 후 → 현황 삭제

API 엔드포인트

기능 Method Endpoint
설비 목록 GET /api/equipments
구역 현황 목록 GET /api/patrol/workplaces/:id/zone-items
구역 현황 등록 POST /api/patrol/workplaces/:id/zone-items
구역 현황 수정 PUT /api/patrol/zone-items/:itemId
구역 현황 삭제 DELETE /api/patrol/zone-items/:itemId
현황 사진 업로드 POST /api/patrol/zone-items/photos
순회점검 세션 POST /api/patrol/sessions
체크기록 저장 POST /api/patrol/sessions/:id/records

주의사항

  1. 설비 vs 구역 현황

    • 설비: 회사 자산 (영구 관리)
    • 구역 현황: 일시적 상황 기록 (수시 변경)
  2. 순회점검 체크기록 vs 구역 현황

    • 체크기록: 당일 점검 결과 (일회성)
    • 구역 현황: 해소될 때까지 유지 (지속성)
  3. 프로젝트 연결

    • 구역 현황만 프로젝트 연결 가능
    • 설비는 작업장에만 연결

최종 수정: 2026-02-05