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

166 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 작업보고서 시스템 규칙 (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)
```javascript
{
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)
```javascript
{
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