- 생산관리: 대시보드, 작업지시, 작업실적, 작업자화면 - 품질관리: 검사관리 (리스트/등록/상세) - 자재관리: 입고관리, 재고현황 - 출고관리: 출하관리 (리스트/등록/상세/수정) - 주문관리: 수주관리, 생산의뢰 - 기존 컴포넌트 개선: CardTransactionInquiry, VendorDetail, QuoteRegistration - IntegratedListTemplateV2 개선 - 공통 컴포넌트 분석 문서 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
23 KiB
23 KiB
수주관리 (Order Management Sales) 구현 계획서
기본 정보
| 항목 | 내용 |
|---|---|
| 경로 | /sales/order-management-sales |
| 상위 메뉴 | 판매관리 |
| 작성일 | 2025-12-22 |
| 상태 | Phase 2 완료 |
1. 페이지 구조
/sales/order-management-sales
├── page.tsx (리스트)
├── new/page.tsx (등록)
├── [id]/page.tsx (상세)
├── [id]/edit/page.tsx (수정)
├── [id]/production-order/page.tsx (생산지시 생성) ← TODO
└── production-orders/ ← 생산지시 조회 (하위 경로)
├── page.tsx (생산지시 목록)
└── [id]/page.tsx (생산지시 상세)
2. 리스트 화면
2.1 상단 통계 카드 (4개)
| 카드 | 아이콘 | 값 형식 |
|---|---|---|
| 이번 달 수주 | $ | 금액 (예: 724,250,000원) |
| 분할 대기 | ↔ | 건수 (예: 2건) |
| 생산지시 대기 | 📋 | 건수 (예: 0건) |
| 출하 대기 | 🚚 | 건수 (예: 14건) |
2.2 검색/필터
- 검색창: 로트번호, 견적번호, 발주처, 현장명 검색...
- 필터 탭: 전체, 수주등록, 수주확정, 생산지시완료, 미수
2.3 테이블 컬럼
| 컬럼 | 설명 |
|---|---|
| 체크박스 | row 선택 |
| 번호 | 순번 (1부터) |
| 로트번호 | KD-TS-XXXXXX-XX |
| 견적번호 | KD-PR-XXXXXX-XX |
| 발주처 | 거래처명 |
| 현장명 | 프로젝트/현장명 |
| 상태 | 수주확정, 생산중, 출하완료 등 배지 |
| 출고예정일 | YYYY-MM-DD |
| 배송방식 | 직접배차, 상차 등 |
2.4 버튼
- 우측 상단:
+ 수주 등록버튼
3. 등록 화면
3.1 견적 불러오기 섹션
- 안내 문구: "확정된 견적을 선택하면 정보가 자동으로 채워집니다"
견적 선택버튼- 선택된 견적 표시: 견적번호 + 등급 + 발주처/현장명/금액 +
해제버튼
3.2 기본 정보
| 필드 | 타입 | 필수 |
|---|---|---|
| 발주처 | Select (드롭다운) | * |
| 현장명 | Text | * |
| 담당자 | Text | |
| 연락처 | Phone |
3.3 수주/배송 정보
| 필드 | 타입 | 필수 |
|---|---|---|
| 출고예정일 | DatePicker + 미정 체크박스 | |
| 납품요청일 | DatePicker + 미정 체크박스 | * |
| 배송방식 | Select | |
| 운임비용 | Select | |
| 수신(반장/업체) | Text | * |
| 수신처 연락처 | Phone | * |
3.4 수신처 주소
- 우편번호 +
우편번호 찾기버튼 - 기본 주소 (자동 입력)
- 상세 주소 입력
3.5 비고
- 특이사항 텍스트 영역
3.6 품목 내역
| 컬럼 | 설명 |
|---|---|
| 순번 | 1, 2, 3... |
| 품목코드 | PRD-X |
| 품명 | 제품명 |
| 종 | B1, B2 등 |
| 부호 | C-01, C-02 등 |
| 규격 | 4000×3000 등 |
| 수량 | 숫자 |
| 단위 | EA |
| 단가 | 금액 |
| 금액 | 단가 × 수량 |
+ 품목 추가버튼- 하단 합계: 소계, 할인율(%), 총금액
3.7 버튼
취소/저장
4. 팝업
4.1 견적 선택 팝업
┌─────────────────────────────────────────┐
│ 견적 선택 ✕ │
├─────────────────────────────────────────┤
│ 🔍 견적번호, 거래처, 현장명 검색... │
├─────────────────────────────────────────┤
│ 전환 가능한 견적 X건 (최종확정 상태) │
│ │
│ KD-PR-XXXXXX-XX A (우량) │
│ 발주처명 │
│ [현장명] 현장 이름 금액원 │
│ X개 품목 │
│ ─────────────────────────────────────── │
│ KD-PR-XXXXXX-XX B (관리) │
│ ... │
└─────────────────────────────────────────┘
4.2 품목 추가 팝업
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
| 층 | Text | * | 몇 층 (예: 4층) |
| 도면부호 | Text | * | 예: FSS1 |
| 품목명 | Text | 예: 국민방화스크린세터 | |
| 오픈사이즈 (고객 제공 치수) | |||
| 가로 (mm) | Number | * | 예: 7260 |
| 세로 (mm) | Number | * | 예: 2600 |
| 가이드레일 타입 | Select | 예: 백면형 (120-70) | |
| 마감 | Select | 예: SUS마감 | |
| 단가 (원) | Number | 예: 8000000 |
취소/추가버튼
4.3 수주 취소 팝업
┌─────────────────────────────────────────┐
│ ⊗ 수주 취소 │
├─────────────────────────────────────────┤
│ ┌─────────────────────────────────────┐ │
│ │ 수주번호 KD-TS-251217-09 │ │
│ │ 발주처 태영건설(주) │ │
│ │ 현장명 데시앙 동탄 파크뷰 │ │
│ │ 현재 상태 [재작업중] │ │
│ └─────────────────────────────────────┘ │
│ │
│ 취소 사유 * │
│ [취소 사유를 선택하세요 ▼] │
│ │
│ 상세 사유 │
│ ┌─────────────────────────────────────┐ │
│ │ 취소 사유에 대한 상세 내용을 │ │
│ │ 입력하세요 │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 취소 시 유의사항 │ │
│ │ • 취소된 수주는 목록에서 '취소' │ │
│ │ 상태로 표시됩니다 │ │
│ │ • 취소 후에는 수정이 불가능합니다 │ │
│ │ • 관련된 생산지시가 있는 경우 먼저 │ │
│ │ 생산지시를 취소해야 합니다 │ │
│ └─────────────────────────────────────┘ │
│ │
│ [닫기] [⊗ 취소 확정] │
└─────────────────────────────────────────┘
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
| 수주번호 | Text (읽기전용) | 취소할 수주번호 | |
| 발주처 | Text (읽기전용) | 발주처명 | |
| 현장명 | Text (읽기전용) | 현장명 | |
| 현재 상태 | Badge (읽기전용) | 현재 수주 상태 | |
| 취소 사유 | Select | * | 드롭다운 선택 |
| 상세 사유 | Textarea | 상세 내용 입력 |
버튼: 닫기 / ⊗ 취소 확정
취소 시 유의사항:
- 취소된 수주는 목록에서 '취소' 상태로 표시됩니다
- 취소 후에는 수정이 불가능합니다
- 관련된 생산지시가 있는 경우 먼저 생산지시를 취소해야 합니다
5. 상세 화면
5.1 공통 구조
- 좌측 상단 버튼: 계약서, 거래명세서, 발주서 (클릭 시 모달 오픈)
- 기본 정보: 발주처, 현장명, 담당자, 연락처
- 수주/배송 정보: 수주일자, 출고예정일, 납품요청일, 배송방식, 운임비용, 수신, 수신처 연락처, 수신처 주소
- 비고: 특이사항
- 제품 내역: 테이블 (순번, 품목코드, 품명, 종, 부호, 규격, 수량, 단위, 단가, 금액)
- 하단 합계: 소계, 할인율, 총금액
5.2 상태별 버튼 차이
| 상태 | 우측 상단 버튼 |
|---|---|
| 출하완료 | 목록 |
| 재작업중 | 목록, 수정, 생산지시 생성 (파란), 취소 |
| 생산중 | 목록, 수정, 생산지시 생성 (파란), 취소 |
| 수주확정 | 목록, 수정, 생산지시 생성 (파란), 취소 |
| 생산지시완료 | 목록, 수정, 생산지시 생성 (파란) |
| 작업완료 | 목록, 수정, 생산지시 생성 (파란), 취소 |
6. 문서 팝업 (계약서/거래명세서/발주서)
6.1 공통 헤더
- PDF 다운로드, 이메일, 팩스, 인쇄, 닫기 버튼
6.2 계약서
┌─────────────────────────────────────────┐
│ 계약서 ✕ │
│ [PDF] [이메일] [팩스] [■■] [인쇄] [닫기] │
├─────────────────────────────────────────┤
│ 계 약 서 │
│ 수주번호: KD-TS-XXXXXX-XX │
│ 계약일자: YYYY-MM-DD │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 제품명 │ │
│ │ 스크린 세터 (표준형) │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 수주물목 (개소별 사이즈) │ │
│ │ 품목코드 │ 품명 │ 규격 │ 수량 │ 단위 │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 발주처정보 │ │ 당사정보 │ │
│ │ 업체명 │ │ 업체명 │ │
│ │ 대표자 │ │ 대표자 │ │
│ │ 사업자번호 │ │ 사업자번호 │ │
│ │ 연락처 │ │ 연락처 │ │
│ │ 주소 │ │ 주소 │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 총 계약 금액 │ │
│ │ ₩ 38,800,000 │ │
│ │ (부가세 포함) │ │
│ └─────────────────────────────────────┘ │
│ │
│ 공급가액: XX,XXX,XXX원 할인율: X% │
│ 할인액: -X,XXX,XXX원 │
│ 할인 후 공급가액: XX,XXX,XXX원 │
│ 부가세(10%): X,XXX,XXX원 │
│ 합계: XX,XXX,XXX원 │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 특이사항 │ │
│ │ [내용] │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────┘
6.3 거래명세서
- 공급자/공급받는자 정보 (상호, 대표자, 사업자번호, 연락처, 주소)
- 품목내역 테이블 (순번, 품목코드, 품명, 규격, 수량, 단위, 단가, 공급가액)
- 금액 계산 (공급가액, 할인율, 할인액, 할인 후 공급가액, 부가세, 합계 금액)
- "위 금액을 거래하였음을 증명합니다."
- 날짜 + 인
6.4 발주서
- 로트번호 + 결재란 (작성/검토/승인/생산)
- 신청업체 정보 (발주처, 담당자, FAX, 현장명)
- 신청내용 (납기요청일, 출고일, 배송방법, 납품주소)
- 부자재 테이블 (구분, 품명, 규격, 길이(mm), 수량, 비고)
- 특이사항
- 유의사항 (발주서 승인 후 작업 진행, 납기 엄수, 기타 문의사항)
- 문의 연락처
7. 수정 화면
7.1 상단 정보
- 제목:
수주 수정+ 수주번호 + 상태 배지
7.2 기본 정보 (읽기전용)
| 필드 | 비고 |
|---|---|
| 로트번호 | 읽기전용 |
| 견적번호 | 읽기전용 |
| 담당자 | 읽기전용 |
| 발주처 | 읽기전용 |
| 현장명 | 읽기전용 |
| 연락처 | 읽기전용 |
7.3 수주/배송 정보 (편집 가능)
| 필드 | 타입 |
|---|---|
| 출고예정일 | DatePicker + 미정 체크박스 |
| 납품요청일 | DatePicker |
| 배송방식 | Select |
| 운임비용 | Select |
| 수신(반장/업체) | Text |
| 수신처 연락처 | Phone |
| 수신처 주소 | Text (전체 주소) |
| 상세주소 | Text |
7.4 비고
- 편집 가능 텍스트 영역
7.5 품목 내역
- 안내 문구:
생산 시작 후 수정 불가 - 테이블 (No, 품목코드, 품명, 종, 부호, 규격(mm), 수량, 단위, 단가, 금액)
- 하단 합계
7.6 버튼
취소/저장
8. 생산지시 생성 화면
8.1 페이지 제목
생산지시 생성+2개 작업지시 생성 예정
8.2 수주 정보
| 필드 | 값 |
|---|---|
| 수주번호 | KD-TS-XXXXXX-XX |
| 품목 수 | X EA |
| 총 수량 | X 개(품) |
| 납기일 | YYYY-MM-DD |
| 진행상태 | 배지 (예: 재작업중) |
8.3 생산지시 옵션
| 필드 | 타입 | 옵션 |
|---|---|---|
| 우선순위 (필수) | Radio | 긴급 / 일반 / 분할 / VIP |
| 비고 | Textarea | |
| 납품요청일 | DatePicker | |
| 생산라인 | Select | |
| 생산지시 (필수) | Select | 작업지시 기본값 (공정) |
| + 작업지시 일괄생성 | Button |
8.4 메모
- 생산지시 관련 메모 영역
8.5 생성될 작업지시 (X건)
| 컬럼 | 설명 |
|---|---|
| 고정번호 | KD-PL-XXXXXX-XX |
| 공정 | BCI |
| 품목 수 | X EA |
| 총 수량 | X EA |
| 공정 수 | X |
| BOM 자재(수량) | 1 BOM, 2 모재, X 자재소요, 6 BOM |
| 시작일/완료일 | X 일 |
8.6 자재 소요량 및 재고 현황
| 컬럼 | 설명 |
|---|---|
| 자재코드 | SCR-MAT-XXX |
| 자재명 | 예: 스크린 원단 |
| 단위 | M² / EA |
| 소요량 | 숫자 |
| 현재고 | 숫자 |
| 상태 | 충분 (녹색) |
8.7 스크린 물류 내역 (X건)
| 컬럼 | 설명 |
|---|---|
| No | 순번 |
| 품목코드 | 품목 ID |
| 품명 | 제품명 |
| 가로/세로 | mm |
| 가공수량 | 숫자 |
| 재단면적 | m² |
| 자투리(%) | 퍼센트 |
| 자재코드 | 자재 ID |
| 판재규격 | 규격 |
| 판 | 숫자 |
| 수량 | 숫자 |
8.8 모터/전장품 사양
| 컬럼 | 설명 |
|---|---|
| 사이즈 (380V) | 예: KD-150K |
| 모터 사양 | 예: 380-180 [3-4"] |
| 허브 사양 | 예: 3"H |
8.9 필요한 BOM
| 컬럼 | 설명 |
|---|---|
| 품목 | 품목명 |
| 규격 | 예: 100-70 |
| 조도 | 예: KSDEL/NAKED |
| 단위 | 예: 3000 |
| 수량 | 숫자 |
8.10 봉/카바
| 컬럼 | 설명 |
|---|---|
| 카바(스테인리스커버) - 하단 조작 500-330 | |
| 품목 | 품목명 |
| 수량 | 숫자 |
| 봉/샤 | |
| 품목 | 품목명 |
| 수량 | 숫자 |
| 마/더 | |
| 품목 | 품목명 |
| 수량 | 숫자 |
8.11 박스/마감재
| 컬럼 | 설명 |
|---|---|
| 품목 | 품목명 |
| 규격 | 규격 |
| 단위 | 단위 |
| 수량 | 숫자 |
8.12 모터 브라켓
| 컬럼 | 설명 |
|---|---|
| 품목 | 품목명 |
| 수량 | 숫자 |
8.13 하단 버튼
수주상세보기/생산지시 확정 (X건)(파란 버튼)
9. 생산지시 확정 후 플로우
9.1 생산지시 확정 팝업
┌─────────────────────────────────────────┐
│ ✅ 생산지시가 생성되었습니다. │
│ │
│ 생산지시번호: PO-KD-TS-XXXXXX-XX │
│ │
│ 생산관리 > 생산지시 관리에서 │
│ 작업지시서를 생성하세요. │
│ │
│ [확인] │
└─────────────────────────────────────────┘
9.2 생산지시 상세 화면 (확정 후)
- 페이지 제목:
생산지시 상세+ 생산지시번호 + 상태 배지 (생산대기) - 우측 상단:
목록,작업지시 생성버튼
공정 진행 현황
- 진행 상태 바 또는 카드
기본 정보
| 필드 | 값 |
|---|---|
| 생산지시번호 | PO-KD-TS-XXXXXX-XX |
| 수주번호 | KD-TS-XXXXXX-XX |
| 생산지시일 | YYYY-MM-DD |
| 납기일 | YYYY-MM-DD |
| 수량 | X 개 |
거래처/현장 정보
| 필드 | 값 |
|---|---|
| 거래처 | 거래처명 |
| 현장명 | 현장명 |
| 제품유형 | (선택) |
BOM 품목별 공정 분류
- 공정별 분류 표시
작업지시서 목록
| 컬럼 | 설명 |
|---|---|
| 작업지시번호 | KD-WO-XXXXXX-XX |
| 공정 | 공정명 |
| 수량 | X 개 |
| 상태 | 배지 (예: 재작업중) |
| 담당자 | - |
9.3 작업지시 자동 생성 팝업
┌─────────────────────────────────────────┐
│ ▷ 작업지시서 자동 생성 │
├─────────────────────────────────────────┤
│ │
│ 다음 공정에 대한 작업지시서가 │
│ 생성됩니다: │
│ │
│ 생성된 작업지시서는 생산팀에서 확인하고 │
│ 작업을 진행할 수 있습니다. │
│ │
│ [취소] [작업지시 생성] │
└─────────────────────────────────────────┘
9.4 작업지시 생성 완료 팝업
┌─────────────────────────────────────────┐
│ ✅ X개의 작업지시서가 공정별로 │
│ 자동 생성되었습니다. │
│ │
│ 생성된 작업지시서: │
│ │
│ 작업지시 관리 페이지로 이동합니다. │
│ │
│ [확인] │
└─────────────────────────────────────────┘
- 확인 클릭 시: 생산관리 > 작업지시 관리 리스트 페이지로 이동
- (해당 페이지는 추후 구현 시 연결)
10. 컴포넌트 재사용
10.1 기존 컴포넌트 활용
| 컴포넌트 | 용도 |
|---|---|
| IntegratedListTemplateV2 | 리스트 페이지 |
| PageLayout | 페이지 레이아웃 |
| DocumentPreviewDialog | 문서 팝업 (기안함에서 사용 중) |
| DaumPostcodeDialog | 우편번호 검색 |
| AlertDialog | 확인 팝업 |
| Dialog | 일반 팝업 |
10.2 신규 컴포넌트
| 컴포넌트 | 용도 |
|---|---|
| QuotationSelectDialog | 견적 선택 팝업 |
| ItemAddDialog | 품목 추가 팝업 |
| ContractDocument | 계약서 문서 |
| TransactionDocument | 거래명세서 문서 |
| PurchaseOrderDocument | 발주서 문서 |
| ProductionOrderForm | 생산지시 생성 폼 |
| WorkOrderConfirmDialog | 작업지시 생성 확인 팝업 |
11. API 엔드포인트 (예상)
| Method | Endpoint | 설명 |
|---|---|---|
| GET | /api/v1/order-management | 수주 목록 조회 |
| GET | /api/v1/order-management/:id | 수주 상세 조회 |
| POST | /api/v1/order-management | 수주 등록 |
| PUT | /api/v1/order-management/:id | 수주 수정 |
| DELETE | /api/v1/order-management/:id | 수주 삭제 |
| GET | /api/v1/quotations/confirmed | 확정 견적 목록 |
| POST | /api/v1/production-order | 생산지시 생성 |
| POST | /api/v1/work-order | 작업지시 생성 |
12. 구현 순서
Phase 1: 기본 CRUD ✅ 완료 (2025-12-22)
- 1.1 리스트 페이지 구현
- 1.2 등록 페이지 구현
- 1.3 견적 선택 팝업
- 1.4 품목 추가 팝업
- 1.5 상세 페이지 구현
- 1.6 수정 페이지 구현
Phase 2: 문서 팝업 & 생산지시 조회 ✅ 완료 (2025-12-22)
- 2.1 계약서 문서 컴포넌트 (ContractDocument.tsx)
- 2.2 거래명세서 문서 컴포넌트 (TransactionDocument.tsx)
- 2.3 발주서 문서 컴포넌트 (PurchaseOrderDocument.tsx)
- 2.4 OrderDocumentModal 연동 (기안함 패턴 적용)
- 2.5 수주 상세 페이지 수정 (탭 → 버튼+모달)
- 2.6 생산지시 목록 페이지 (production-orders/page.tsx)
- 2.7 생산지시 상세 페이지 (production-orders/[id]/page.tsx)
- 2.8 생산지시완료 상태 버튼 변경 ("생산지시 생성" → "생산지시 보기")
Phase 3: 생산지시 생성 연동 ← 현재
- 3.1 생산지시 생성 페이지 ([id]/production-order/page.tsx)
- 3.2 생산지시 확정 플로우 (확정 팝업)
- 3.3 작업지시 생성 팝업
- 3.4 페이지 이동 로직 (작업지시 관리로)
13. 참고 사항
13.1 상태 값 (6개)
| 상태 | 배지 색상 | 설명 |
|---|---|---|
| 수주확정 | 회색 | 초기 상태 |
| 생산지시완료 | 파랑 | 생산지시 생성됨 |
| 생산중 | 초록 | 생산 진행 중 |
| 재작업중 | 주황 | 재작업 진행 중 |
| 작업완료 | 파랑/완료 | 작업 완료 |
| 출하완료 | 회색/완료 | 출하 완료 |
13.2 번호 체계
| 유형 | 형식 | 예시 |
|---|---|---|
| 로트번호 | KD-TS-YYMMDD-XX | KD-TS-251217-09 |
| 견적번호 | KD-PR-YYMMDD-XX | KD-PR-251217-09 |
| 생산지시번호 | PO-KD-TS-YYMMDD-XX | PO-KD-TS-251217-09 |
| 작업지시번호 | KD-WO-YYMMDD-XX | KD-WO-251217-11 |