Files
sam-docs/features/sales/stock-production.md
김보곤 077a0a3331 docs: [sales] 재고생산관리 문서 보강
- 재공품(WIP) 개념 설명 추가
- Phase 1/2 구현 범위 정리
- 작업자 화면 절곡 탭 향후 과제 기록
- 전체 메뉴 영향범위 검토 결과 추가
2026-03-16 22:59:43 +09:00

5.5 KiB

재고생산관리

작성일: 2026-03-16 상태: 설계 확정


1. 개요

1.1 목적

수주 없이 재고 목적으로 생산하는 경우를 관리하는 기능이다.

SAM 시스템은 수주 → 작업지시 → 생산의 흐름으로 동작하므로, 수주가 없으면 작업지시를 생성할 수 없다. 재고생산관리는 내부 오더(Internal Order) 개념으로, 재고생산도 일종의 수주로 취급하여 기존 생산 흐름을 그대로 활용한다.

1.2 핵심 원칙

  • 기존 orders 테이블을 공유한다 (별도 테이블 없음)
  • order_type_code = 'STOCK'으로 일반 수주(ORDER)와 구분한다
  • 하류 시스템(작업지시, 생산, 출하, 품질검사)은 변경 없이 동작한다
  • 화면은 수주관리를 단순화한 형태이다

2. 수주관리와의 관계

2.1 테이블 공유 구조

orders 테이블
├── order_type_code = 'ORDER'    → 수주관리 (거래처 주문)
├── order_type_code = 'PURCHASE' → 발주관리
└── order_type_code = 'STOCK'    → 재고생산관리 (내부 오더)

2.2 기능 비교

항목 수주관리 (ORDER) 재고생산관리 (STOCK)
거래처 필수 불필요
견적 연결 가능 불필요
현장/납기/배송 사용 불필요
할인 적용 불필요
금액 계산 자동 불필요 (단가 0 가능)
매출 인식 자동/수동 생성 안 함
개소/구역 (OrderNode) N-depth 트리 불필요
품목 등록 상세 품목 + 수량만
작업지시 생성 동일 동일
생산/출하/품질검사 동일 동일
채번 접두사 ORD STK

2.3 재고생산 전용 필드

orders.options JSON에 재고생산 전용 속성을 저장한다:

필드 타입 설명
production_reason string 생산 사유 (예: "시즌 대비", "안전재고 확보")
target_stock_qty number 목표 재고 수량

3. 업무 흐름

재고생산 등록 (DRAFT)
    │  order_type_code = 'STOCK'
    │  품목 + 수량만 입력
    ↓
재고생산 확정 (CONFIRMED)
    │  ※ 매출 생성 안 함 (일반 수주와 차이)
    ↓
생산지시 생성 (WorkOrder)
    │  기존 수주→생산지시 흐름 동일
    ↓
생산 실행 → 품질검사 → 출하
    │  기존 생산관리 흐름 동일
    ↓
완료 (COMPLETED)

4. 메뉴 위치

판매관리
├── 거래처관리
├── 견적관리
├── 수주관리
├── 재고생산관리  ← 신규
└── 단가관리

5. 재공품(WIP) 개념

재고생산의 대상 품목은 **재공품(Work-In-Process)**이다.

  • 수주를 받지 않았지만, 회사 내에서 이미 정해진 절곡품을 미리 생산
  • 작업자들의 유휴시간에 앞으로 나갈 물건을 미리 제작하는 행위
  • 실제 수주가 들어오면 이미 만들어둔 재공품을 사용하여 납기 단축
유휴시간 → 재공품 미리 생산 → 재고 적재
                                  ↓
실제 수주 → 재고에서 재공품 사용 → 납기 단축

5.1 현재 구현 범위 (Phase 1)

  • 재고생산 등록/목록/상세/수정/삭제
  • 생산지시 생성 (절곡 공정 자동 선택)
  • 생산지시 목록에 표시
  • 작업지시 목록에 표시
  • 생산현황판에 표시
  • 작업실적 조회에 표시

5.2 향후 과제 (Phase 2)

작업자 화면 절곡 탭 — 재공품 사양 정보 연동

현재 STOCK 건은 OrderNode(개소)가 없어 BendingInfoBuilder가 동작하지 않는다. 절곡 작업자 화면에서 다음 정보가 누락된다:

누락 정보 원인 해결 방향
W/H (가로/세로) OrderNode.options 없음 품목 마스터에 규격 정보 보유 → 등록 시 가져오기
bending_info BendingInfoBuilder 실패 (rootNodes 없음) 품목별 표준 BOM 활용 또는 수동 입력
동적 자재 목록 dynamic_bom 미생성 품목별 표준 BOM에서 자재 목록 생성
제품코드 nodeOptions 없음 품목 마스터의 item_code 활용

해결 전략: 재공품은 이미 정해진 규격품이므로, 품목관리의 품목 정보(규격, BOM)를 재고생산 등록 시 work_order_item.options에 채워넣는 방식으로 해결 가능.


6. API

기존 수주관리 API를 그대로 사용한다. order_type=STOCK 파라미터로 필터링한다.

상세 API 명세: frontend/api-specs/stock-production-api.md


7. 영향범위 검토 결과

메뉴 수정 필요 비고
재고생산관리 (신규) React 구현 수주 화면 단순화
생산지시 목록 ⚠️ 소규모 납기/거래처 - 표시 (프론트)
생산현황판 없음 project_name='재고생산' 정상 표시
작업지시 목록 없음 null fallback 처리 완비
작업실적 조회 없음 Order 정보 미참조
작업자 화면 (절곡) ⚠️ Phase 2 bending_info/W/H 누락 (향후 과제)

관련 문서


최종 업데이트: 2026-03-16