Files
M-Project/Rules.md
hyungi 1339e5dded feat: 작업보고서 시스템 완성
- 일일 공수 입력 기능
- 부적합 사항 등록 (이미지 선택사항)
- 날짜별 부적합 조회 (시간순 나열)
- 목록 관리 (인라인 편집, 작업시간 확인 버튼)
- 보고서 생성 (총 공수/부적합 시간 분리)
- JWT 인증 및 권한 관리
- Docker 기반 배포 환경 구성
2025-09-17 10:41:25 +09:00

4.5 KiB
Raw Permalink Blame History

작업보고서 시스템 규칙 (Rules)

🎯 시스템 목적

  1. 전체 공수 계산

    • 작업에 소요된 총 시간을 자동으로 집계
    • 기간별, 카테고리별 통계 제공
    • 일일 작업 공수 관리
  2. 발생한 부적합 사항 정리

    • 현장에서 핸드폰으로 간편하게 업로드
    • 사진(선택), 카테고리, 설명을 빠르게 입력
    • 이미지 없이도 등록 가능
  3. 날짜별 부적합 사항 조회

    • 기간별 필터링 (오늘, 이번주, 이번달)
    • 카테고리별 통계 확인
    • 날짜별 그룹화된 목록 표시
  4. 상세 내역 확인 및 수정

    • 등록된 부적합 사항의 카테고리/설명 수정
    • 사진 추가/변경 기능
    • 작업 시간 입력 (자동으로 완료 상태 변경)
    • 진행 상태는 자동 관리
  5. 최종 보고서 출력

    • 전문적인 형식의 보고서 자동 생성
    • 인쇄 가능한 레이아웃
  6. 일일 공수 관리

    • 날짜별 작업 인원 입력
    • 정규 근무 및 잔업 시간 계산
    • 총 작업 시간 자동 집계

📱 모바일 입력 최적화

필수 입력 항목 (간단하게)

  1. 사진 - 카메라 직접 연동
  2. 카테고리 - 선택형 (자재누락/치수불량/입고자재 불량)
  3. 간단 설명 - 짧은 텍스트

UI/UX 원칙

  • 큰 버튼과 입력 필드
  • 최소한의 스크롤
  • 즉각적인 피드백
  • 오프라인에서도 작동 (로컬 저장)

📊 보고서 형식

1페이지 - 요약

작업 보고서
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
작업 기간: YYYY-MM-DD ~ YYYY-MM-DD
총 공수: XXX 시간

카테고리별 분석:
- 자재누락: X건
- 치수불량: X건  
- 입고자재 불량: X건
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2페이지부터 - 상세 내역

부적합 사항 #1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[사진]
카테고리: XXX
설명: XXX
작업시간: X시간
추가메모: XXX
보고자: XXX
보고일시: YYYY-MM-DD HH:MM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔐 사용자 권한

일반 사용자 (inspector)

  • 부적합 사항 등록
  • 자신이 등록한 항목 수정
  • 보고서 조회

관리자 (admin)

  • 모든 부적합 사항 조회/수정
  • 사용자 관리
  • 데이터 백업/복원

💾 데이터 구조

부적합 사항 (Issue)

{
  id: timestamp,
  photo: base64_image,
  category: enum['material_missing','dimension_defect','incoming_defect'],
  description: string,
  status: enum['new','progress','complete'],
  reporter: user_id,
  reporterName: string,
  reportDate: ISO_datetime,
  workHours: number,
  detailNotes: string
}

일일 공수 (Daily Work)

{
  id: timestamp,
  date: YYYY-MM-DD,
  workerCount: number,         // 작업 인원 수
  regularHours: number,        // 정규 근무 시간 (인원 × 8시간)
  overtimeWorkers: number,     // 잔업 인원 수
  overtimeHours: number,       // 잔업 시간 (1인당)
  overtimeTotal: number,       // 총 잔업 시간
  totalHours: number,          // 전체 작업 시간
  timestamp: ISO_datetime      // 입력 시각
}

🚀 향후 개선 사항

  1. 백엔드 연동

    • 실제 데이터베이스 사용
    • 다중 사용자 동시 작업 지원
    • 데이터 백업 자동화
  2. 추가 기능

    • 부적합 사항 알림 기능
    • 작업자 배정 기능
    • 사진 여러 장 업로드
    • GPS 위치 자동 기록
    • 바코드/QR 코드 스캔
  3. 보고서 확장

    • Excel 내보내기
    • PDF 생성
    • 이메일 발송
    • 월간/연간 통계

📝 사용 시나리오

  1. 현장 작업자

    • 부적합 사항 발견
    • 핸드폰으로 사진 촬영
    • 카테고리 선택과 간단 설명 입력
    • 등록 완료
  2. 작업 완료 후

    • 등록된 부적합 사항 확인
    • 카테고리/설명 수정 가능
    • 작업 시간 입력
    • 상태는 자동으로 '완료'로 변경
  3. 보고서 작성

    • 보고서 섹션 접속
    • 자동 생성된 내용 확인
    • 필요시 인쇄 또는 공유

작성일: 2025-09-17 버전: 1.0