602 lines
24 KiB
Markdown
602 lines
24 KiB
Markdown
# 생산계획관리 (Production Plan Management)
|
|
|
|
> ⚠️ **중요 안내**: 이 화면은 **복합형 레이아웃** (좌우 분할 패널 + 타임라인 스케줄러)으로, 현재 V2 컴포넌트만으로는 완전한 구현이 불가능합니다. 아래 문서는 화면 분석 및 향후 구현 계획을 위한 참조용입니다.
|
|
|
|
---
|
|
|
|
## 1. 화면 개요
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **화면명** | 생산계획관리 |
|
|
| **영문명** | Production Plan Management |
|
|
| **화면 유형** | 복합형 (좌우 분할 패널 + 타임라인 스케줄러) |
|
|
| **메인 테이블** | `production_plan_mng` |
|
|
| **관련 테이블** | `sales_order_mng`, `item_info`, `equipment_info`, `bom_info` |
|
|
| **주요 기능** | 수주 기반 생산계획 수립, 타임라인 스케줄러, 자동 스케줄 생성, 반제품 계획 연동 |
|
|
|
|
---
|
|
|
|
## 2. 화면 구조 분석
|
|
|
|
### 2.1 레이아웃 구조
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ 검색 섹션 │
|
|
│ [검색필드들...] [사용자옵션] [엑셀업로드] [엑셀다운로드] │
|
|
├────────────────────────────────┬──┬──────────────────────────────────────────┤
|
|
│ 왼쪽 패널 (50%, 리사이즈) │ │ 오른쪽 패널 (50%) │
|
|
│ ┌────────────────────────────┐ │리│ ┌──────────────────────────────────────┐ │
|
|
│ │ [수주데이터] [안전재고부족] │ │사│ │ [완제품 생산계획] [반제품 생산계획] │ │
|
|
│ ├────────────────────────────┤ │이│ ├──────────────────────────────────────┤ │
|
|
│ │ │ │즈│ │ │ │
|
|
│ │ 수주 목록 테이블 │ │핸│ │ 타임라인 스케줄러 │
|
|
│ │ (그룹화된 품목별 수주) │ │들│ │ (간트차트 형태) │
|
|
│ │ │ │ │ │ │ │
|
|
│ │ - 체크박스 │ │ │ │ - 날짜별 그리드 │
|
|
│ │ - 접기/펼치기 토글 │ │ │ │ - 생산계획 바 (드래그 가능) │
|
|
│ │ - 품목별 그룹 행 │ │ │ │ - 납기일 마커 │
|
|
│ │ - 수주 상세 행 │ │ │ │ │
|
|
│ │ │ │ │ │ │
|
|
│ └────────────────────────────┘ │ │ └──────────────────────────────────────┘ │
|
|
│ [계획에 없는 품목만] [선택품목 불러오기] [새로고침] │ [자동스케줄] [저장] [초기화] │
|
|
└────────────────────────────────┴──┴──────────────────────────────────────────┘
|
|
```
|
|
|
|
### 2.2 탭 구조
|
|
|
|
**왼쪽 패널 탭**:
|
|
1. **수주데이터**: 수주 목록 (품목별 그룹핑)
|
|
2. **안전재고 부족분**: 안전재고 미달 품목 목록
|
|
|
|
**오른쪽 패널 탭**:
|
|
1. **완제품 생산계획**: 완제품 타임라인 스케줄러
|
|
2. **반제품 생산계획**: 반제품 타임라인 스케줄러
|
|
|
|
---
|
|
|
|
## 3. 테이블 정의
|
|
|
|
### 3.1 메인 테이블: `production_plan_mng`
|
|
|
|
| 컬럼명 | 타입 | NULL | 설명 |
|
|
|--------|------|------|------|
|
|
| id | SERIAL | NO | PK |
|
|
| company_code | VARCHAR(20) | NO | 회사 코드 |
|
|
| plan_no | VARCHAR(50) | NO | 생산계획번호 |
|
|
| plan_date | DATE | NO | 계획일자 |
|
|
| item_code | VARCHAR(50) | NO | 품목코드 |
|
|
| item_name | VARCHAR(200) | YES | 품명 |
|
|
| plan_qty | NUMERIC(15,3) | NO | 계획수량 |
|
|
| start_date | DATE | NO | 시작일 |
|
|
| end_date | DATE | NO | 종료일 |
|
|
| due_date | DATE | YES | 납기일 |
|
|
| equipment_id | INTEGER | YES | 설비 ID (FK) |
|
|
| equipment_name | VARCHAR(100) | YES | 설비명 |
|
|
| status | VARCHAR(20) | YES | 상태 (계획/지시/진행/완료) |
|
|
| priority | VARCHAR(20) | YES | 우선순위 |
|
|
| work_shift | VARCHAR(20) | YES | 작업조 (주간/야간/주야) |
|
|
| manager_name | VARCHAR(100) | YES | 담당자 |
|
|
| work_order_no | VARCHAR(50) | YES | 작업지시번호 |
|
|
| remarks | TEXT | YES | 비고 |
|
|
| order_no | VARCHAR(50) | YES | 관련 수주번호 |
|
|
| partner_id | VARCHAR(50) | YES | 거래처 ID |
|
|
| hourly_capacity | NUMERIC(15,3) | YES | 시간당 생산능력 |
|
|
| daily_capacity | NUMERIC(15,3) | YES | 일일 생산능력 |
|
|
| lead_time | INTEGER | YES | 리드타임 (일) |
|
|
| product_type | VARCHAR(20) | YES | 제품유형 (완제품/반제품) |
|
|
| parent_plan_id | INTEGER | YES | 모품목 계획 ID (반제품용) |
|
|
| created_date | TIMESTAMPTZ | YES | 생성일시 |
|
|
| created_by | VARCHAR(50) | YES | 생성자 |
|
|
| updated_date | TIMESTAMPTZ | YES | 수정일시 |
|
|
| updated_by | VARCHAR(50) | YES | 수정자 |
|
|
|
|
### 3.2 관련 테이블
|
|
|
|
#### `equipment_info` (설비 정보)
|
|
|
|
| 컬럼명 | 타입 | 설명 |
|
|
|--------|------|------|
|
|
| id | SERIAL | PK |
|
|
| equipment_code | VARCHAR(50) | 설비코드 |
|
|
| equipment_name | VARCHAR(100) | 설비명 |
|
|
| equipment_type | VARCHAR(50) | 설비유형 |
|
|
| capacity_per_hour | NUMERIC(15,3) | 시간당 생산능력 |
|
|
| status | VARCHAR(20) | 상태 |
|
|
|
|
---
|
|
|
|
## 4. 구현 가능 여부 분석
|
|
|
|
### 4.1 현재 V2 컴포넌트로 구현 가능한 기능
|
|
|
|
| 기능 | 가능 여부 | 사용 컴포넌트 | 비고 |
|
|
|------|:---------:|--------------|------|
|
|
| 검색 필터 | ✅ | `v2-table-search-widget` | |
|
|
| 기본 버튼 (엑셀, 사용자옵션) | ✅ | `v2-button-primary` | |
|
|
| 단일 테이블 목록 | ✅ | `v2-table-list` | |
|
|
| 기본 모달 폼 | ✅ | 모달 화면 | |
|
|
| 좌우 분할 패널 (기본) | ⚠️ | `v2-split-panel-layout` | 테이블/리스트만 표시 가능 |
|
|
| 탭 컴포넌트 (기본) | ⚠️ | `v2-tabs-widget` | 디자인 모드에서 컴포넌트 배치 |
|
|
|
|
### 4.2 현재 V2 컴포넌트의 제한 사항
|
|
|
|
#### `v2-split-panel-layout` 제한
|
|
|
|
**현재 기능**:
|
|
- 좌우 분할 패널 (리사이즈 가능)
|
|
- 각 패널에 **테이블** 또는 **리스트** 표시 (`displayMode: "list" | "table"`)
|
|
- leftPanel ↔ rightPanel 관계 설정 (relation)
|
|
- 우측 패널에 추가 탭 (additionalTabs)
|
|
|
|
**제한 사항**:
|
|
- ❌ 패널 안에 **임의의 컴포넌트** (타임라인 등)를 배치할 수 없음
|
|
- ❌ **그룹화된 테이블** (접기/펼치기) 미지원
|
|
- ❌ 복잡한 커스텀 UI 배치 불가
|
|
|
|
#### `v2-tabs-widget` 제한
|
|
|
|
**현재 기능**:
|
|
- 탭별 컴포넌트 자유 배치
|
|
- 디자인 모드에서 드래그&드롭
|
|
|
|
**제한 사항**:
|
|
- ❌ 탭 내에 **다른 V2 컴포넌트**를 완전히 자유롭게 배치하기 어려움
|
|
- ❌ 런타임에서 복잡한 컴포넌트 렌더링 제한
|
|
|
|
### 4.3 생산계획관리에 필요한 기능 vs 현재 지원
|
|
|
|
| 필요 기능 | 현재 지원 | 설명 |
|
|
|----------|:---------:|------|
|
|
| 좌우 분할 패널 | ⚠️ 부분 | `v2-split-panel-layout` - 테이블만 가능 |
|
|
| 왼쪽 패널 탭 (수주/안전재고) | ❌ | 분할 패널 내 탭 조합 미지원 |
|
|
| **그룹화된 테이블** (품목별 접기/펼치기) | ❌ | 신규 개발 필요 |
|
|
| 오른쪽 패널 탭 (완제품/반제품) | ❌ | 분할 패널 내 탭 조합 미지원 |
|
|
| **타임라인 스케줄러** (간트차트) | ❌ | 신규 개발 필요 |
|
|
| 드래그&드롭 스케줄 이동 | ❌ | 신규 개발 필요 |
|
|
| 복잡한 상세 모달 (분할, 설비할당) | ❌ | 커스텀 모달 개발 필요 |
|
|
|
|
### 4.4 향후 개발 필요 컴포넌트
|
|
|
|
```
|
|
필요 컴포넌트 목록:
|
|
1. v2-timeline-scheduler - 타임라인/간트차트 스케줄러 (핵심!)
|
|
2. v2-table-grouped - 그룹화된 테이블 (접기/펼치기)
|
|
3. v2-split-panel-enhanced - 패널 내 임의 컴포넌트 배치 가능한 확장판
|
|
4. v2-modal-complex - 복잡한 모달 (분할, 다단계, 설비할당)
|
|
```
|
|
|
|
### 4.5 현재 구현 가능한 최대 범위
|
|
|
|
현재 V2 컴포넌트로 구현 가능한 **최대 범위**:
|
|
|
|
```
|
|
┌──────────────────────────────────────────────────────────────┐
|
|
│ 검색 섹션 (v2-table-search-widget) │
|
|
├──────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ 생산계획 테이블 (v2-table-list) - 단일 테이블, 그룹화 없음 │
|
|
│ │
|
|
├──────────────────────────────────────────────────────────────┤
|
|
│ [등록] [수정] [삭제] (v2-button-primary) │
|
|
└──────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
**구현 불가능한 핵심 기능**:
|
|
- 품목별 그룹핑 (접기/펼치기)
|
|
- 간트차트 타임라인
|
|
- 자동 스케줄 생성
|
|
- 드래그로 스케줄 이동
|
|
|
|
---
|
|
|
|
## 5. 단순화된 구현 방안 (임시)
|
|
|
|
> 현재 V2 컴포넌트만으로 **간소화된 버전**을 구현할 수 있습니다.
|
|
|
|
### 5.1 간소화 버전 레이아웃
|
|
|
|
```
|
|
┌──────────────────────────────────────────────────────────────┐
|
|
│ 검색 섹션 │
|
|
│ [품목코드] [품명] [계획기간] [상태] [사용자옵션] [엑셀다운로드] │
|
|
├──────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ 생산계획 목록 테이블 │
|
|
│ (단일 테이블, 그룹화 없음) │
|
|
│ │
|
|
├──────────────────────────────────────────────────────────────┤
|
|
│ [신규등록] [수정] [삭제] │
|
|
└──────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### 5.2 간소화 버전 테이블 컬럼
|
|
|
|
| 순서 | 컬럼명 | 표시명 | 정렬 | 형식 |
|
|
|:----:|--------|--------|:----:|------|
|
|
| 1 | plan_no | 계획번호 | left | text |
|
|
| 2 | plan_date | 계획일자 | center | date |
|
|
| 3 | item_code | 품목코드 | left | text |
|
|
| 4 | item_name | 품명 | left | text |
|
|
| 5 | plan_qty | 계획수량 | right | number |
|
|
| 6 | start_date | 시작일 | center | date |
|
|
| 7 | end_date | 종료일 | center | date |
|
|
| 8 | due_date | 납기일 | center | date |
|
|
| 9 | equipment_name | 설비 | left | text |
|
|
| 10 | status | 상태 | center | badge |
|
|
| 11 | manager_name | 담당자 | left | text |
|
|
| 12 | product_type | 제품유형 | center | text |
|
|
|
|
### 5.3 간소화 버전 모달 필드
|
|
|
|
| 필드명 | 라벨 | 타입 | 필수 |
|
|
|--------|------|------|:----:|
|
|
| plan_no | 계획번호 | text | ✅ |
|
|
| plan_date | 계획일자 | date | ✅ |
|
|
| item_code | 품목코드 | select (품목 검색) | ✅ |
|
|
| item_name | 품명 | text (자동) | |
|
|
| plan_qty | 계획수량 | number | ✅ |
|
|
| start_date | 시작일 | date | ✅ |
|
|
| end_date | 종료일 | date | ✅ |
|
|
| due_date | 납기일 | date | |
|
|
| equipment_id | 설비 | select | |
|
|
| status | 상태 | select | ✅ |
|
|
| priority | 우선순위 | select | |
|
|
| work_shift | 작업조 | select | |
|
|
| manager_name | 담당자 | text | |
|
|
| remarks | 비고 | textarea | |
|
|
| product_type | 제품유형 | select | |
|
|
|
|
---
|
|
|
|
## 6. 원본 HTML 기능 상세 분석
|
|
|
|
### 6.1 수주데이터 탭 (왼쪽 패널)
|
|
|
|
**테이블 구조**:
|
|
- 품목별 그룹 행 (접기/펼치기 가능)
|
|
- 수주 상세 행 (그룹 행 하위)
|
|
|
|
**품목 그룹 행 컬럼**:
|
|
| 컬럼 | 설명 |
|
|
|------|------|
|
|
| 체크박스 | 품목 그룹 선택 |
|
|
| 토글 | 상세 접기/펼치기 |
|
|
| 품목코드 | |
|
|
| 품목명 | |
|
|
| 총수주량 | 해당 품목의 모든 수주 합계 |
|
|
| 출고량 | |
|
|
| 잔량 | 총수주량 - 출고량 |
|
|
| 현재고 | |
|
|
| 안전재고 | |
|
|
| 출하계획량 | |
|
|
| 기생산계획량 | 이미 등록된 생산계획 수량 |
|
|
| 생산진행 | 현재 생산 중인 수량 |
|
|
| 필요생산계획 | 추가로 계획해야 할 수량 (빨간색 강조) |
|
|
|
|
**수주 상세 행**:
|
|
- 수주번호, 거래처, 상태 배지
|
|
- 수주량, 출고량, 잔량
|
|
- 납기일
|
|
|
|
**버튼**:
|
|
- `계획에 없는 품목만` 체크박스 필터
|
|
- `선택 품목 불러오기`: 선택한 품목을 생산계획으로 등록
|
|
- `새로고침`
|
|
|
|
### 6.2 안전재고 부족분 탭 (왼쪽 패널)
|
|
|
|
**테이블 컬럼**:
|
|
| 컬럼 | 설명 |
|
|
|------|------|
|
|
| 체크박스 | |
|
|
| 품목코드 | |
|
|
| 품목명 | |
|
|
| 현재고 | |
|
|
| 안전재고 | |
|
|
| 부족수량 | 빨간색 (마이너스) |
|
|
| 권장생산량 | 녹색 |
|
|
| 최종입고일 | |
|
|
|
|
### 6.3 완제품 생산계획 탭 (오른쪽 패널)
|
|
|
|
**스케줄 옵션**:
|
|
- 안전리드타임 (일)
|
|
- 표시 기간 (주)
|
|
- 미진행 계획 재계산 체크박스
|
|
|
|
**범례**:
|
|
- 계획 (파란색)
|
|
- 지시 (주황색)
|
|
- 진행 (녹색)
|
|
- 완료 (회색)
|
|
- 납기일 (빨간 테두리)
|
|
- 긴급 (빨간 아이콘)
|
|
|
|
**타임라인 구조**:
|
|
- 날짜별 헤더 (일/월 표시, 주말 강조, 오늘 강조)
|
|
- 품목별 행
|
|
- 생산계획 바 (드래그로 이동 가능)
|
|
- 클릭 시 상세 모달 오픈
|
|
|
|
**버튼**:
|
|
- `새로고침`
|
|
- `자동 스케줄 생성`: 선택된 품목에 대해 자동으로 생산계획 생성
|
|
- `선택 계획 병합`: 같은 품목의 계획을 하나로 병합
|
|
- `선택 품목 → 반제품 계획`: BOM 기반 반제품 계획 생성
|
|
- `저장`
|
|
- `초기화`
|
|
|
|
### 6.4 반제품 생산계획 탭 (오른쪽 패널)
|
|
|
|
**옵션**:
|
|
- 현재고 및 안전재고 감안
|
|
- 진행중인 계획 유지하고 재계산
|
|
- 투입 완료된 반제품 제외
|
|
|
|
**안내**:
|
|
- 완제품 생산계획 기준으로 필요한 반제품 계획 자동 생성
|
|
- 모품목 생산 시작일 고려하여 납기일 설정
|
|
- BOM(자재명세서) 정보 기반 필요 수량 계산
|
|
|
|
### 6.5 생산 스케줄 상세 모달
|
|
|
|
**기본 정보**:
|
|
- 품목코드 (읽기전용)
|
|
- 품목명 (읽기전용)
|
|
|
|
**근거 정보**:
|
|
- 수주번호, 안전재고, 재고부족 등 표시
|
|
|
|
**생산 정보**:
|
|
- 총 생산수량
|
|
- 납기일 (읽기전용)
|
|
- 계획 시작일 (수정 가능)
|
|
- 계획 종료일 (수정 가능)
|
|
- 생산 기간 (자동 계산)
|
|
|
|
**과거 계획 경고**:
|
|
- 시작일이 과거인 경우 경고 표시
|
|
- `오늘부터 재조정` 버튼
|
|
- `작업지시 즉시 생성` 버튼
|
|
|
|
**계획 분할**:
|
|
- 분할 개수 선택 (2~4개)
|
|
- 각 분할 수량 입력
|
|
- 분할 실행
|
|
|
|
**설비 할당**:
|
|
- 설비 선택 버튼
|
|
- 선택된 설비 목록
|
|
|
|
**생산 상태**:
|
|
- 상태 (자동 관리): 계획됨/작업지시/진행중/완료
|
|
|
|
**추가 정보**:
|
|
- 담당자
|
|
- 작업지시번호
|
|
- 비고
|
|
|
|
**버튼**:
|
|
- 삭제
|
|
- 취소
|
|
- 저장
|
|
|
|
---
|
|
|
|
## 7. 구현 우선순위
|
|
|
|
### Phase 1: 간소화 버전 (현재 구현 가능)
|
|
|
|
V2 컴포넌트로 기본 CRUD 화면 구현:
|
|
- 검색 위젯
|
|
- 단일 테이블 (그룹화 없음)
|
|
- 기본 모달 폼
|
|
- 상태 배지
|
|
|
|
### Phase 2: 컴포넌트 개발 후
|
|
|
|
1. `v2-tabs` 컴포넌트 개발
|
|
2. `v2-split-panel` 컴포넌트 개발
|
|
3. `v2-table-grouped` 컴포넌트 개발
|
|
|
|
### Phase 3: 타임라인 스케줄러
|
|
|
|
1. `v2-timeline-scheduler` 컴포넌트 개발
|
|
2. 드래그&드롭 기능
|
|
3. 자동 스케줄 생성 로직
|
|
4. 반제품 연동
|
|
|
|
---
|
|
|
|
## 8. 참고 사항
|
|
|
|
### 8.1 상태 배지 스타일
|
|
|
|
| 상태 | 배경색 | 글자색 | 설명 |
|
|
|------|--------|--------|------|
|
|
| 계획 | #dbeafe | #1e40af | 파란색 |
|
|
| 지시 | #fef3c7 | #92400e | 주황색 |
|
|
| 진행 | #d1fae5 | #065f46 | 녹색 |
|
|
| 완료 | #f3f4f6 | #4b5563 | 회색 |
|
|
| 긴급 | #fee2e2 | #991b1b | 빨간색 |
|
|
|
|
### 8.2 자동 스케줄 생성 로직
|
|
|
|
```
|
|
1. 선택된 품목의 필요 생산수량 계산
|
|
- 필요수량 = 잔량 + 안전재고 - 현재고 - 기생산계획량
|
|
|
|
2. 납기일에서 안전리드타임 차감하여 완료일 계산
|
|
|
|
3. 일일 생산능력으로 필요 생산일수 계산
|
|
|
|
4. 완료일에서 역산하여 시작일 계산
|
|
|
|
5. 설비 가용성 확인 및 자동 할당
|
|
|
|
6. 반제품이 필요한 경우 BOM 기반 반제품 계획 생성
|
|
```
|
|
|
|
### 8.3 계획 분할 로직
|
|
|
|
```
|
|
1. 원본 계획의 총 수량 확인
|
|
|
|
2. 분할 개수 선택 (2~4개)
|
|
|
|
3. 각 분할 수량 입력 (합계 = 원본 수량)
|
|
|
|
4. 분할 실행 시:
|
|
- 원본 계획 삭제
|
|
- 새로운 N개의 계획 생성
|
|
- 각각 별도의 시작일/종료일 설정 가능
|
|
```
|
|
|
|
---
|
|
|
|
## 9. DB INSERT JSON (간소화 버전)
|
|
|
|
> ⚠️ 이 JSON은 **간소화 버전**입니다. 전체 기능 구현 시 별도 개발이 필요합니다.
|
|
|
|
### 9.1 screen_definitions
|
|
|
|
```json
|
|
{
|
|
"screen_name": "생산계획관리",
|
|
"screen_code": "{COMPANY_CODE}_PP_MAIN",
|
|
"table_name": "production_plan_mng",
|
|
"company_code": "{COMPANY_CODE}",
|
|
"description": "생산계획 관리 화면 (간소화 버전)",
|
|
"is_active": "Y",
|
|
"db_source_type": "internal",
|
|
"data_source_type": "database"
|
|
}
|
|
```
|
|
|
|
### 9.2 screen_layouts_v2.layout_data (간소화 버전)
|
|
|
|
```json
|
|
{
|
|
"version": "2.0",
|
|
"components": [
|
|
{
|
|
"id": "comp_search",
|
|
"url": "@/lib/registry/components/v2-table-search-widget",
|
|
"size": { "width": 1920, "height": 80 },
|
|
"position": { "x": 0, "y": 20, "z": 1 },
|
|
"overrides": {
|
|
"type": "v2-table-search-widget",
|
|
"label": "검색 필터"
|
|
},
|
|
"displayOrder": 0
|
|
},
|
|
{
|
|
"id": "comp_table",
|
|
"url": "@/lib/registry/components/v2-table-list",
|
|
"size": { "width": 1920, "height": 700 },
|
|
"position": { "x": 0, "y": 120, "z": 1 },
|
|
"overrides": {
|
|
"type": "v2-table-list",
|
|
"label": "생산계획 목록",
|
|
"columns": [
|
|
{ "columnName": "plan_no", "displayName": "계획번호", "order": 0, "visible": true, "sortable": true, "format": "text", "align": "left" },
|
|
{ "columnName": "plan_date", "displayName": "계획일자", "order": 1, "visible": true, "sortable": true, "format": "date", "align": "center" },
|
|
{ "columnName": "item_code", "displayName": "품목코드", "order": 2, "visible": true, "sortable": true, "format": "text", "align": "left" },
|
|
{ "columnName": "item_name", "displayName": "품명", "order": 3, "visible": true, "sortable": true, "format": "text", "align": "left" },
|
|
{ "columnName": "plan_qty", "displayName": "계획수량", "order": 4, "visible": true, "sortable": true, "format": "number", "align": "right" },
|
|
{ "columnName": "start_date", "displayName": "시작일", "order": 5, "visible": true, "sortable": true, "format": "date", "align": "center" },
|
|
{ "columnName": "end_date", "displayName": "종료일", "order": 6, "visible": true, "sortable": true, "format": "date", "align": "center" },
|
|
{ "columnName": "due_date", "displayName": "납기일", "order": 7, "visible": true, "sortable": true, "format": "date", "align": "center" },
|
|
{ "columnName": "equipment_name", "displayName": "설비", "order": 8, "visible": true, "sortable": true, "format": "text", "align": "left" },
|
|
{ "columnName": "status", "displayName": "상태", "order": 9, "visible": true, "sortable": true, "format": "text", "align": "center" },
|
|
{ "columnName": "product_type", "displayName": "제품유형", "order": 10, "visible": true, "sortable": true, "format": "text", "align": "center" },
|
|
{ "columnName": "manager_name", "displayName": "담당자", "order": 11, "visible": true, "sortable": true, "format": "text", "align": "left" }
|
|
],
|
|
"selectedTable": "production_plan_mng",
|
|
"pagination": { "enabled": true, "pageSize": 20, "pageSizeOptions": [10, 20, 50, 100] },
|
|
"checkbox": { "enabled": true, "multiple": true },
|
|
"horizontalScroll": { "enabled": true, "minColumnWidth": 80, "maxColumnWidth": 200 }
|
|
},
|
|
"displayOrder": 1
|
|
},
|
|
{
|
|
"id": "comp_btn_register",
|
|
"url": "@/lib/registry/components/v2-button-primary",
|
|
"size": { "width": 100, "height": 40 },
|
|
"position": { "x": 1580, "y": 70, "z": 1 },
|
|
"overrides": {
|
|
"text": "신규 등록",
|
|
"type": "v2-button-primary",
|
|
"action": { "type": "modal", "modalTitle": "생산계획 등록", "targetScreenId": null },
|
|
"variant": "success"
|
|
},
|
|
"displayOrder": 2
|
|
},
|
|
{
|
|
"id": "comp_btn_edit",
|
|
"url": "@/lib/registry/components/v2-button-primary",
|
|
"size": { "width": 80, "height": 40 },
|
|
"position": { "x": 1690, "y": 70, "z": 1 },
|
|
"overrides": {
|
|
"text": "수정",
|
|
"type": "v2-button-primary",
|
|
"action": { "type": "edit", "modalTitle": "생산계획 수정", "targetScreenId": null },
|
|
"variant": "secondary"
|
|
},
|
|
"displayOrder": 3
|
|
},
|
|
{
|
|
"id": "comp_btn_delete",
|
|
"url": "@/lib/registry/components/v2-button-primary",
|
|
"size": { "width": 80, "height": 40 },
|
|
"position": { "x": 1780, "y": 70, "z": 1 },
|
|
"overrides": {
|
|
"text": "삭제",
|
|
"type": "v2-button-primary",
|
|
"action": { "type": "delete" },
|
|
"variant": "danger"
|
|
},
|
|
"displayOrder": 4
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 10. 구현 체크리스트
|
|
|
|
### 10.1 간소화 버전 (현재 구현 가능)
|
|
|
|
| 체크 | 항목 | 설명 |
|
|
|:----:|------|------|
|
|
| ☐ | **테이블 생성** | `production_plan_mng` 테이블 생성 |
|
|
| ☐ | **화면 정의** | `screen_definitions` INSERT |
|
|
| ☐ | **모달 화면 생성** | 등록/수정 모달 화면 생성 |
|
|
| ☐ | **메인 화면 생성** | `screen_layouts_v2` INSERT |
|
|
| ☐ | **메뉴 연결** | 대상 메뉴에 화면 할당 |
|
|
| ☐ | **기본 CRUD 테스트** | 등록/수정/삭제/조회 테스트 |
|
|
|
|
### 10.2 전체 버전 (향후 구현)
|
|
|
|
| 체크 | 항목 | 설명 |
|
|
|:----:|------|------|
|
|
| ☐ | **v2-tabs 개발** | 탭 컴포넌트 개발 |
|
|
| ☐ | **v2-split-panel 개발** | 분할 패널 컴포넌트 개발 |
|
|
| ☐ | **v2-table-grouped 개발** | 그룹화 테이블 컴포넌트 개발 |
|
|
| ☐ | **v2-timeline-scheduler 개발** | 타임라인 스케줄러 개발 |
|
|
| ☐ | **자동 스케줄 로직** | 자동 스케줄 생성 백엔드 API |
|
|
| ☐ | **반제품 연동** | BOM 기반 반제품 계획 생성 |
|
|
| ☐ | **드래그&드롭** | 타임라인 드래그 이동 기능 |
|
|
|
|
---
|
|
|
|
## 11. 관련 문서
|
|
|
|
- [수주관리](../02_sales/order.md)
|
|
- [품목정보](../01_master-data/item-info.md)
|
|
- [설비관리](../05_equipment/equipment-info.md) (예정)
|
|
- [BOM관리](../01_master-data/bom-info.md) (예정)
|