# 생산관리 분석 결과 > 분석 일시: 2024-12-18 > 분석 대상: design/mes기획서_리액트 (디자인팀 기획 사이트) ## 분석 목적 디자인팀에서 제작한 기획 사이트의 생산관리 기능을 분석하여 API 개발에 필요한 스펙을 추출합니다. --- ## 메뉴 구조 ``` 생산관리 ├── 품목관리 - 제품/부품/원자재 등록 및 관리 ├── 생산 현황판 - 실시간 작업 현황 모니터링 ├── 작업지시 관리 - 작업지시 등록/조회/상태관리 ├── 작업실적 - 생산 실적 조회 및 통계 ├── 작업자 화면 - 현장 작업자용 태블릿 UI └── UserFlow - 업무 흐름도 (참조용) ``` --- ## UI 스크린샷 ### 1. 품목 목록 페이지 ![품목 목록](screenshots/01-item-list.png) **주요 요소:** **상단 요약 카드 (4개):** | 항목 | 값 | 설명 | |------|-----|------| | 전체 품목 | 70 | 등록된 총 품목 수 | | 제품 | 0 | 완제품 | | 부품 | 36 | 조립 부품 | | 부자재 | 0 | 보조 재료 | **탭 필터 (품목유형별):** | 탭 | 건수 | |-----|------| | 전체 | 70 | | 제품 | 0 | | 부품 | 36 | | 부자재 | 0 | | 원자재 | 15 | | 소모품 | 0 | **테이블 컬럼:** | 컬럼 | 설명 | |------|------| | 번호 | 순번 | | 품목코드 | 품목 식별 코드 | | 품목유형 | 제품, 부품, 원자재, 서비스 등 | | 품목명 | 품목 이름 | | 규격 | 규격 정보 | | 단위 | EA, SET, KG, M 등 | | 품목 상태 | 사용중/미사용 | --- ### 2. 품목 등록 폼 ![품목 등록](screenshots/02-item-create.png) **입력 섹션:** **기본 정보:** | 필드명 | 타입 | 필수 | 비고 | |--------|------|------|------| | 품목유형 | select | ✅ | 제품, 부품, 원자재 등 | | 부품 유형 | select | | 품목유형=부품 시 표시 | | 품목코드 | text | ✅ | 자동 생성 또는 수동 입력 | | 품목명 | text | ✅ | | | 규격 | text | | | | 단위 | select | | EA, SET, KG 등 | **측면 규격 및 길이:** | 필드명 | 타입 | 비고 | |--------|------|------| | 측면 규격 | number | mm 단위 | | 길이 | number | mm 단위 | **조립품 전개도 (바라시):** - BOM 정보 입력 - 구성 부품 목록 --- ### 3. 생산 현황판 ![생산 현황판](screenshots/03-dashboard.png) **주요 요소:** **상단 버튼:** - 작업자 화면 - 작업지시 목록 **공장 필터 탭:** | 탭 | 설명 | |-----|------| | 전체 | 모든 공장 | | 스크린공장 | 스크린 생산 라인 | | 슬랫공장 | 슬랫 생산 라인 | | 절곡공장 | 절곡 생산 라인 | **요약 카드 (6개):** | 항목 | 값 | 설명 | |------|-----|------| | 전체 작업 | 34건 | 총 작업지시 수 | | 작업대기 | 4건 | 대기 상태 | | 작업중 | 7건 | 진행 중 | | 작업완료 | 19건 | 완료 | | 긴급 | 12건 | 긴급 작업 | | 지연 | 4건 | 납기 지연 | **대시보드 섹션:** - 🔴 긴급 작업: 작업번호, 상태, 거래처/현장, 납기 - ⚠️ 지연 작업: 작업번호, 지연 일수, 거래처, 담당자 - 👷 작업자별 현황: 작업자명, 배정 건수, 작업중/완료 건수 --- ### 4. 작업지시 목록 페이지 ![작업지시 목록](screenshots/04-work-order-list.png) **주요 요소:** **상단 요약 카드 (4개):** | 항목 | 값 | 설명 | |------|-----|------| | 전체 | 34건 | 총 작업지시 수 | | 작업대기 | 4건 | 대기 상태 | | 작업중 | 7건 | 진행 중 | | 작업완료 | 19건 | 완료 | **탭 필터:** | 탭 | 건수 | 설명 | |-----|------|------| | 전체 | 34 | 모든 작업지시 | | 미배정 | 3 | 작업자 미배정 | | 승인대기 | 3 | 승인 대기 중 | | 작업대기 | 1 | 작업 시작 대기 | | 작업중 | 7 | 진행 중 | | 작업완료 | 19 | 완료 | **테이블 컬럼:** | 컬럼 | 설명 | |------|------| | 번호 | 순번 | | 작업지시번호 | KD-WO-YYMMDD-## | | 공정 | 스크린, 슬랫, 절곡 | | 로트번호 | 추적 번호 | | 지시일 | 작업지시 생성일 | | 배정 | Y/- (작업자 배정 여부) | | 투입 | Y/- (자재 투입 여부) | | 시작 | Y/- (작업 시작 여부) | | 작업상태 | 작업대기, 작업중, 작업완료, 재작업중, 출하완료 | | 우선순위 | 숫자 (1이 가장 높음) | | 현장명 | 설치 현장명 | | 출고예정일 | 출하 예정 날짜 | --- ### 5. 작업지시 상세 페이지 ![작업지시 상세](screenshots/05-work-order-detail.png) **주요 섹션:** **기본 정보:** | 필드 | 설명 | |------|------| | 작업지시번호 | KD-WO-YYMMDD-## | | 로트번호 | KD-TS-YYMMDD-## | | 공정구분 | 스크린, 슬랫, 절곡 | | 작업상태 | 출하완료, 재작업중 등 | | 발주처 | 거래처명 | | 현장명 | 설치 현장명 | | 납기일 | 납품 기한 | | 작업자 | 담당 작업자명 | **공정 진행 (5단계 - 스크린 기준):** | 단계 | 공정명 | |------|--------| | 1 | 원단절단 | | 2 | 미싱 | | 3 | 앤드락작업 | | 4 | 중간검사 | | 5 | 포장 | **작업 품목:** | 컬럼 | 설명 | |------|------| | No | 순번 | | 상태 | 대기, 진행중, 완료 | | 품목명 | 제품명 | | 층/부호 | 설치 위치 | | 규격 | 가로×세로 | | 수량 | 제작 수량 | **헤더 버튼:** - 작업일지 - 목록 --- ### 6. 작업지시 등록 폼 ![작업지시 등록](screenshots/06-work-order-create.png) **입력 섹션:** **등록 방식:** | 옵션 | 설명 | |------|------| | 수주 연동 등록 | 회계확인 완료된 수주에서 불러오기 (기본값) | | 수동 등록 | 수주 없이 직접 입력 | **수주 정보:** - 수주 선택 버튼: 수주 선택 시 정보 자동 입력 **기본 정보:** | 필드명 | 타입 | 필수 | 비고 | |--------|------|------|------| | 발주처 | text | ✅ | 수주 선택 시 자동 입력 | | 현장명 | text | ✅ | 수주 선택 시 자동 입력 | | 수주번호 | text | | 수주 선택 시 자동 입력 | | 품목수 | number | | 수주 선택 시 자동 입력 | **작업지시 정보:** | 필드명 | 타입 | 필수 | 비고 | |--------|------|------|------| | 공정구분 | select | ✅ | 스크린, 절곡, 슬랫, 재고(포밍) | | 납기일 | date | ✅ | | | 우선순위 | select | | 긴급, 일반, 낮음 | | 담당자 | multi-select | | 다중 선택 가능 | | 비고 | textarea | | 특이사항, 메모 | **공정코드/작업일지 자동 매핑:** | 공정 | 공정코드 | 작업일지 템플릿 | |------|----------|----------------| | 스크린 | P-001 | WL-SCR | | 슬랫 | P-002 | WL-SLAT | | 절곡 | P-003 | WL-BEND | | 재고(포밍) | P-004 | WL-STK | --- ### 7. 작업실적 조회 페이지 ![작업실적](screenshots/07-work-result.png) **주요 요소:** **상단 요약 카드 (4개):** | 항목 | 값 | 설명 | |------|-----|------| | 총 생산수량 | 3개 | 생산된 총 수량 | | 양품수량 | 2개 | 정상 제품 수 | | 불량수량 | 1개 | 불량 제품 수 | | 불량률 | 33.3% | 불량/생산 * 100 | **테이블 컬럼:** | 컬럼 | 설명 | |------|------| | 로트번호 | 추적 번호 | | 작업일 | 작업 수행일 | | 작업지시번호 | 연결된 작업지시 | | 공정 | 스크린, 슬랫, 절곡 | | 품목명 | 제품명 | | 규격 | 가로×세로 | | 생산 | 생산 수량 | | 양품 | 양품 수량 | | 불량 | 불량 수량 | | 불량률 | 불량/생산 * 100 | | 검사 | 검사 완료 여부 (체크 아이콘) | | 포장 | 포장 완료 여부 (체크 아이콘) | | 작업자 | 작업자명 | **기능:** - 엑셀 다운로드 버튼 - 일괄 내보내기 (체크박스) --- ### 8. 작업자 화면 ![작업자 화면](screenshots/08-worker-screen.png) **주요 요소:** **상단 요약 카드 (4개):** | 항목 | 값 | 설명 | |------|-----|------| | 할일 | 15건 | 대기 중인 작업 | | 작업중 | 7건 | 현재 진행 중 | | 완료 | 0건 | 완료된 작업 | | 긴급 | 5건 | 긴급 표시 작업 | **정렬 옵션:** - 우선순위순 (기본) - 납기일순 - 최신등록순 **작업 카드 정보:** | 항목 | 설명 | |------|------| | 품목명 | 제품명 | | 수량 | 제작 수량 (EA) | | 우선순위 | N순위 표시 | | 상태 | 긴급, 작업중 등 | | 납기 | 납기일 | | 공정 | 스크린, 슬랫, 절곡 | | 작업지시번호 | KD-WO-YYMMDD-## | | 거래처·현장명 | 발주처 및 현장 | | 담당자 | 작업자 목록 | | 지시 메모 | 특이사항 | **작업 버튼:** | 버튼 | 설명 | |------|------| | 전량완료 | 작업 완료 처리 | | 공정상세 | 공정별 진행 상황 확인 | | 자재투입 | 자재 투입 처리 | | 작업일지 | 작업일지 작성 | | 이슈보고 | 문제 발생 시 보고 | --- ### 9. 공정상세 화면 ![공정상세](screenshots/09-process-detail.png) **주요 요소:** **자재 투입 알림:** - "자재 투입 필요" 메시지 - "자재 투입하기" 버튼 **공정 단계 (8단계 - 스크린 기준):** | 단계 | 공정명 | 유형 | 설명 | |------|--------|------|------| | 1 | 자재투입 | 일반 | 자재 투입 | | 2 | 절단매수확인 | 일반 | 절단할 수량 확인 | | 3 | 원단 절단 | 일반 | 원단 절단 | | 4 | 절단 Check | 검사 | 절단 품질 검사 | | 5 | 미싱 | 일반 | 봉제 작업 | | 6 | 앤드락 작업 | 일반 | 앤드락 부착 | | 7 | 중간검사 | 검사 | 품질 검사 | | 8 | 포장 | 일반 | 최종 포장 | **품목별 진행 정보:** | 항목 | 설명 | |------|------| | #번호 | 품목 순번 | | 위치 | 층/부호 (예: 1층 1호-A) | | 메모 | 선행 생산 등 | | 규격 | W가로 × H세로 | | 자재 | 투입 자재명 | | LOT | 로트번호 | **버튼:** - 검사 요청: 검사 공정에서 품질팀 요청 --- ## 데이터 스키마 ### Item (품목) ``` items ├── id (PK) ├── tenant_id (FK) ├── item_code (UNIQUE) - 품목코드 ├── item_type - 품목유형 (제품, 부품, 원자재, 부자재, 소모품, 서비스) ├── sub_type - 부품 유형 (조립 부품, 가공 부품 등) ├── name - 품목명 ├── specification - 규격 ├── unit - 단위 (EA, SET, KG, M 등) ├── side_spec - 측면 규격 ├── length - 길이 ├── status - 상태 (사용중/미사용) ├── bom_data - BOM 정보 (JSON) ├── created_at ├── updated_at └── deleted_at ``` ### WorkOrder (작업지시) ``` work_orders ├── id (PK) ├── tenant_id (FK) ├── work_order_no (UNIQUE) - 자동 채번 ├── order_id (FK) - 연결된 수주 ├── lot_no - 로트번호 ├── process_type - 공정구분 (스크린, 슬랫, 절곡, 재고) ├── process_code - 공정코드 (P-001 등) ├── customer_id (FK) - 거래처 ├── customer_name - 거래처명 (스냅샷) ├── site_name - 현장명 ├── due_date - 납기일 ├── status - 작업상태 ├── priority - 우선순위 ├── assigned - 배정 여부 (Y/N) ├── material_input - 자재 투입 여부 (Y/N) ├── started - 작업 시작 여부 (Y/N) ├── note - 비고 ├── created_by ├── created_at ├── updated_at └── deleted_at ``` ### WorkOrderItem (작업지시 품목) ``` work_order_items ├── id (PK) ├── work_order_id (FK) ├── seq - 순번 ├── product_name - 품목명 ├── floor_location - 층/부호 ├── specification - 규격 (가로×세로) ├── qty - 수량 ├── status - 상태 (대기, 진행중, 완료) ├── material_name - 자재명 ├── lot_no - 자재 로트번호 ├── created_at └── updated_at ``` ### WorkResult (작업실적) ``` work_results ├── id (PK) ├── tenant_id (FK) ├── lot_no - 로트번호 ├── work_date - 작업일 ├── work_order_id (FK) - 작업지시 ├── work_order_no - 작업지시번호 ├── process_type - 공정 ├── product_name - 품목명 ├── specification - 규격 ├── production_qty - 생산 수량 ├── good_qty - 양품 수량 ├── defect_qty - 불량 수량 ├── defect_rate - 불량률 (%) ├── inspected - 검사 완료 여부 ├── packed - 포장 완료 여부 ├── worker_id (FK) - 작업자 ├── worker_name - 작업자명 ├── created_at └── updated_at ``` ### WorkOrderAssignment (작업자 배정) ``` work_order_assignments ├── id (PK) ├── work_order_id (FK) ├── worker_id (FK) ├── assigned_at - 배정일 └── created_at ``` ### ProcessStep (공정 단계) ``` process_steps ├── id (PK) ├── process_type - 공정구분 (스크린, 슬랫, 절곡) ├── step_no - 단계 번호 ├── step_name - 단계명 ├── step_type - 유형 (일반, 검사) ├── sort_order - 정렬 순서 ├── is_active - 활성 여부 └── created_at ``` ### WorkOrderProgress (작업 진행) ``` work_order_progresses ├── id (PK) ├── work_order_id (FK) ├── work_order_item_id (FK) ├── process_step_id (FK) ├── status - 상태 (대기, 진행중, 완료) ├── completed_at - 완료일시 ├── worker_id (FK) └── created_at ``` --- ## 상태 흐름 ### 작업지시 상태 ``` 미배정 → 승인대기 → 작업대기 → 작업중 → 작업완료 → 출하완료 ↓ 재작업중 → 작업완료 ``` | 상태 | 설명 | |------|------| | 미배정 | 작업자 미배정 상태 | | 승인대기 | 작업지시 승인 대기 | | 작업대기 | 승인 완료, 작업 시작 대기 | | 작업중 | 작업 진행 중 | | 작업완료 | 작업 완료 | | 재작업중 | 불량으로 인한 재작업 | | 출하완료 | 출하 완료 | ### 공정별 단계 (스크린) ``` 자재투입 → 절단매수확인 → 원단 절단 → 절단 Check(검사) → 미싱 → 앤드락 작업 → 중간검사 → 포장 ``` ### 공정별 단계 (슬랫) ``` 자재투입 → 코일절단 → 절단 Check(검사) → 슬랫 성형 → 조립 → 중간검사 → 포장 ``` ### 공정별 단계 (절곡) ``` 자재투입 → 판/코일절단 → 절단 Check(검사) → 절곡 → 용접 → 검사 → 포장 ``` --- ## API 스펙 ### 품목 CRUD ``` GET /api/items - 품목 목록 GET /api/items/{id} - 품목 상세 POST /api/items - 품목 등록 PUT /api/items/{id} - 품목 수정 DELETE /api/items/{id} - 품목 삭제 DELETE /api/items - 품목 일괄 삭제 ``` ### 작업지시 CRUD ``` GET /api/work-orders - 작업지시 목록 GET /api/work-orders/{id} - 작업지시 상세 POST /api/work-orders - 작업지시 등록 PUT /api/work-orders/{id} - 작업지시 수정 DELETE /api/work-orders/{id} - 작업지시 삭제 ``` ### 작업지시 상태/작업자 ``` POST /api/work-orders/{id}/status - 상태 변경 POST /api/work-orders/{id}/assign - 작업자 배정 POST /api/work-orders/{id}/start - 작업 시작 POST /api/work-orders/{id}/complete - 작업 완료 POST /api/work-orders/{id}/rework - 재작업 처리 ``` ### 공정 진행 ``` GET /api/work-orders/{id}/progress - 공정 진행 조회 POST /api/work-orders/{id}/progress/{step} - 공정 단계 완료 POST /api/work-orders/{id}/material-input - 자재 투입 POST /api/work-orders/{id}/inspection - 검사 요청 ``` ### 작업실적 ``` GET /api/work-results - 작업실적 목록 GET /api/work-results/{id} - 작업실적 상세 POST /api/work-results - 작업실적 등록 GET /api/work-results/export - 엑셀 다운로드 ``` ### 작업자 화면 (모바일/태블릿) ``` GET /api/worker/tasks - 내 작업 목록 GET /api/worker/tasks/{id} - 작업 상세 POST /api/worker/tasks/{id}/complete - 작업 완료 POST /api/worker/tasks/{id}/issue - 이슈 보고 ``` ### 생산 현황판 ``` GET /api/dashboard/production - 생산 현황 요약 GET /api/dashboard/urgent - 긴급 작업 목록 GET /api/dashboard/delayed - 지연 작업 목록 GET /api/dashboard/workers - 작업자별 현황 ``` ### 목록 조회 Query Parameters **작업지시 목록:** | 파라미터 | 타입 | 설명 | |----------|------|------| | process_type | string | 공정구분 필터 (스크린, 슬랫, 절곡) | | status | string | 작업상태 필터 | | search | string | 검색어 (작업지시번호, 발주처, 현장명) | | page | number | 페이지 번호 | | per_page | number | 페이지당 개수 | **작업실적 목록:** | 파라미터 | 타입 | 설명 | |----------|------|------| | process_type | string | 공정구분 필터 | | from_date | date | 시작일 | | to_date | date | 종료일 | | worker_id | number | 작업자 필터 | | search | string | 검색어 (로트번호, 작업지시번호, 품목명) | --- ## 채번 규칙 | 문서 | 형식 | 예시 | |------|------|------| | 작업지시번호 | KD-WO-YYMMDD-## | KD-WO-251218-01 | | 절곡 작업지시 | KD-WO-FLD-YYMMDD-## | KD-WO-FLD-251218-01 | | 로트번호 | KD-TS-YYMMDD-## | KD-TS-251218-01 | | 자재 로트 | LOT-{공정}-YYYY-### | LOT-스크-2025-001 | --- ## 공정별 작업일지 템플릿 | 공정 | 템플릿코드 | 설명 | |------|------------|------| | 스크린 | WL-SCR | 스크린 작업일지 | | 슬랫 | WL-SLAT | 슬랫 작업일지 | | 절곡 | WL-BEND | 절곡 작업일지 | | 재고(포밍) | WL-STK | 재고생산 작업일지 | --- ## 통계 계산 | 항목 | 계산식 | |------|--------| | 불량률 | (불량수량 / 생산수량) * 100 | | 작업 진행률 | (완료 공정 수 / 전체 공정 수) * 100 | | 품목별 진행률 | (완료 품목 수 / 전체 품목 수) * 100 | | 작업자 생산성 | 양품수량 / 작업시간 | --- ## 관련 문서 - [UserFlow 분석](../production-userflow/README.md) - 생산관리 업무 흐름도 - [수주관리 분석](../order-analysis/README.md) - 수주 → 작업지시 연동 - [단가관리 분석](../price-analysis/README.md) - 품목 단가 정보