ERP-node/docs/생산계획_수량조정_분할_기능_안내.md

12 KiB

생산계획 수량/날짜/분할/병합 조정 기능 안내

📋 개요

생산계획관리 페이지에서 자동 스케줄 생성 후 표시되는 품목별 계획수량 박스를 클릭하면 모달창이 열리며, 다음 기능들을 수행할 수 있습니다:

  • ✏️ 수량 조정: 생산 계획 수량 수정
  • 📅 날짜 조정: 납기일 변경
  • ✂️ 분할 조정: 하나의 계획을 여러 개로 분할
  • 🔗 병합 조정: 여러 개의 계획을 하나로 합치기 NEW

🎯 주요 기능

1. 수량 조정

사용 방법

  1. 타임라인에서 생산 계획 박스 클릭
  2. 모달에서 "총 생산수량" 입력 필드 수정
  3. 수량 변경 시 자동으로 변경 전/후 비교 정보 표시

특징

  • 📊 기존 수량 → 변경 수량을 시각적으로 표시
  • 💡 실시간으로 변경사항 확인 가능
  • 저장 시 타임라인 자동 업데이트
예시:
기존 수량: 1,000 EA → 변경 수량: 1,500 EA

2. 날짜 조정

사용 방법

  1. 모달에서 "납기일" 필드 변경
  2. 새로운 납기일 선택
  3. 저장하면 생산 일정이 자동으로 재계산됨

특징

  • 📆 납기일 변경 시 생산 시작/종료일 자동 조정
  • 🔔 변경된 날짜 차이 계산 (예: +7일, -3일)
  • 🎯 긴급 납기 여부 자동 판단

3. 분할 조정

사용 방법

  1. 모달에서 "✂️ 계획 분할" 섹션 확인
  2. "분할하기" 버튼 클릭
  3. 분할 개수 선택 (2개 / 3개 / 4개)
  4. 각 계획의 수량 입력 (자동으로 균등 분할되어 표시됨)
  5. "✂️ 분할 실행" 버튼 클릭

분할 기능 상세

분할 옵션
  • 2개로 분할: 1,000EA → 500EA + 500EA
  • 3개로 분할: 1,500EA → 500EA + 500EA + 500EA
  • 4개로 분할: 2,000EA → 500EA + 500EA + 500EA + 500EA
자동 조정 사항
  1. 수량 균등 분할: 전체 수량을 선택한 개수로 자동 분할
  2. 일정 자동 배분:
    • 첫 번째 계획: 원래 시작일 유지
    • 이후 계획들: 이전 계획 종료일 다음날부터 연속으로 배치
  3. 기간 비율 계산: 각 계획의 수량 비율에 따라 생산 기간 자동 조정
  4. 분할 표시: 비고란에 "[분할 1/3]", "[분할 2/3]" 등 자동 추가
검증 기능
  • 분할된 수량의 합계가 원본 수량과 일치하는지 자동 검증
  • ⚠️ 불일치 시 경고 메시지 표시
  • 🔒 검증 통과 후에만 분할 실행 가능

분할 예시

원본 계획:

품목: ITEM-001
수량: 1,500 EA
기간: 2024-01-01 ~ 2024-01-10 (10일)

3개로 분할 후:

계획 1: 500 EA (2024-01-01 ~ 2024-01-04) [분할 1/3]
계획 2: 500 EA (2024-01-05 ~ 2024-01-08) [분할 2/3]
계획 3: 500 EA (2024-01-09 ~ 2024-01-12) [분할 3/3]

4. 병합 조정 NEW

사용 방법

  1. 타임라인에서 병합할 계획 박스들의 체크박스 선택 (2개 이상)
  2. 상단에 "🔗 선택 계획 병합 (N개)" 버튼 자동 표시
  3. 버튼 클릭 → 확인 메시지 확인
  4. 병합 실행 → 하나의 계획으로 통합

병합 기능 상세

병합 조건
  • 동일 품목만 병합 가능
  • 2개 이상 계획 선택 필요
  • 완제품끼리 또는 반제품끼리만 병합 가능
  • ⚠️ 완제품과 반제품은 함께 병합 불가
자동 병합 처리
  1. 수량 합산: 모든 선택된 계획의 수량을 합산
  2. 일정 통합:
    • 시작일: 가장 빠른 시작일
    • 종료일: 가장 늦은 종료일
  3. 납기일: 가장 빠른 납기일 적용
  4. 수주 정보 병합: 중복 없이 모든 수주 정보 통합
  5. 설비 정보 병합: 모든 설비 할당 정보 통합
  6. 병합 표시: 비고란에 "[N개 계획 병합]" 자동 추가
병합 예시

원본 계획들:

계획 1: ITEM-001, 500 EA (2024-01-01~05) [분할 1/3]
계획 2: ITEM-001, 500 EA (2024-01-06~10) [분할 2/3]
계획 3: ITEM-001, 500 EA (2024-01-11~15) [분할 3/3]

병합 후:

병합 계획: ITEM-001, 1,500 EA (2024-01-01~15) [3개 계획 병합]

병합 검증

  • 같은 품목인지 자동 확인
  • 완제품/반제품 구분 검증
  • 최소 2개 이상 선택 확인
  • 📊 병합 전 총 수량 미리보기

활용 시나리오

시나리오 1: 분할했던 계획 다시 합치기

상황: 2개로 분할했던 계획을 다시 하나로 통합
해결:
1. 두 계획 박스의 체크박스 선택
2. "🔗 선택 계획 병합" 버튼 클릭
3. 확인 → 하나로 병합

시나리오 2: 여러 소량 계획 통합

상황: 같은 품목의 소량 계획 3개를 하나의 대량 생산으로 통합
해결:
1. 3개 계획 모두 체크박스 선택
2. 병합 버튼 클릭
3. 총 수량 확인 후 병합
4. 설비 재할당

시나리오 3: 라인 통합 생산

상황: 두 라인에서 생산하던 것을 한 라인으로 통합
해결:
1. 두 라인의 계획 선택
2. 병합 실행
3. 통합된 계획에 한 라인만 할당

5. 통합 관리

모달에서 한 번에 조정 가능한 항목

  1. ✏️ 총 생산수량
  2. 📅 납기일
  3. ✂️ 계획 분할
  4. 🏭 설비 할당
  5. 👤 담당자 지정
  6. 📝 비고 입력

타임라인에서 직접 조정 가능한 항목

  1. ☑️ 계획 선택 (체크박스)
  2. 🔗 선택 계획 병합
  3. 🖱️ 드래그 앤 드롭 (날짜 이동)

🖥️ 사용자 인터페이스

계획 박스 구조

타임라인에서:
┌─────────────────────────────┐
│ ☑  ITEM-001                │  ← 체크박스: 병합용
│    ■■■■■■■ 1,000 EA      │  ← 수량 클릭: 모달 열림
└─────────────────────────────┘

여러 개 선택 시:
☑ 계획1: 500EA  ☑ 계획2: 500EA  ☑ 계획3: 500EA
        ↓
[🔗 선택 계획 병합 (3개)] 버튼 자동 표시

모달 구조

📋 생산 스케줄 상세
├── 기본 정보 (품목코드, 품목명)
├── 📋 수주 근거 정보
├── 생산 정보
│   ├── 총 생산수량 ← 수정 가능
│   └── 납기일 ← 수정 가능
├── ✂️ 계획 분할 (노란색 배경)
│   ├── [분할하기] 버튼
│   └── 분할 옵션 (펼침/접힘)
│       ├── 분할 개수 선택
│       ├── 각 계획 수량 입력
│       └── [취소] [✂️ 분할 실행]
├── 🏭 설비 할당
├── 생산 상태
└── 추가 정보
    └── [🗑️ 삭제] [취소] [💾 저장]

💡 활용 시나리오

시나리오 1: 긴급 수주 대응

상황: 기존 1,000EA 계획에 추가 500EA 긴급 수주 발생
해결: 
1. 계획 박스 클릭
2. 수량을 1,500EA로 변경
3. 납기일을 긴급 납기로 조정
4. 저장

시나리오 2: 라인 분산 생산

상황: 2,000EA를 두 라인에서 동시 생산 필요
해결:
1. 계획 박스 클릭
2. "분할하기" → "2개로 분할" 선택
3. 각각 1,000EA로 자동 분할
4. 분할 실행
5. 각 계획에 서로 다른 설비 할당

시나리오 3: 단계적 생산

상황: 3,000EA를 3주에 걸쳐 단계적으로 생산
해결:
1. 계획 박스 클릭
2. "분할하기" → "3개로 분할" 선택
3. 각각 1,000EA로 균등 분할
4. 분할 실행 → 자동으로 연속 일정 생성

⚙️ 기술 구현

데이터 구조

// 분할된 계획 예시
{
    id: "schedule-001-split-1-1234567890",
    itemCode: "ITEM-001",
    itemName: "제품A",
    quantity: 500,
    startDate: new Date("2024-01-01"),
    endDate: new Date("2024-01-05"),
    remarks: "원본 비고 [분할 1/3]",
    // ... 기타 필드
}

주요 함수

수량 변경 감지

function updateQuantityInfo() {
    // 수량 변경 시 실시간 비교 표시
    // 원본 수량과 새 수량 비교
}

날짜 변경 감지

function updateDateInfo() {
    // 날짜 변경 시 일수 차이 계산
    // 납기 변경 영향도 분석
}

분할 실행

function executeSplit() {
    // 1. 분할 수량 검증
    // 2. 새로운 계획 객체 생성
    // 3. 일정 자동 재계산
    // 4. 원본 대체 및 배열 업데이트
    // 5. 타임라인 재렌더링
}

🔄 작업 흐름

개별 계획 조정 (모달 사용)

[타임라인] → [수량 클릭] → [모달 열림]
                              ↓
                    ┌─────────┼─────────┐
                    ↓         ↓         ↓
                [수량조정] [날짜조정] [분할조정]
                    ↓         ↓         ↓
                    └─────────┼─────────┘
                              ↓
                          [💾 저장]
                              ↓
                    [타임라인 자동 업데이트]

여러 계획 병합 (체크박스 사용)

[타임라인] → [체크박스 선택 (2개 이상)]
                        ↓
            [🔗 병합 버튼 자동 표시]
                        ↓
                [버튼 클릭] → [확인]
                        ↓
                [자동 병합 처리]
            - 수량 합산
            - 일정 통합
            - 수주 정보 병합
                        ↓
            [타임라인 자동 업데이트]

📌 주의사항

수량 조정 시

  • ⚠️ 수량을 0 이하로 설정할 수 없습니다
  • 💡 수량 증가 시 생산 기간도 자동으로 조정됩니다
  • 📊 변경 전/후 비교가 자동으로 표시됩니다

날짜 조정 시

  • ⚠️ 과거 날짜로 변경 시 경고가 표시됩니다
  • 🔔 납기일이 7일 이내면 "긴급" 표시가 추가됩니다
  • 📅 생산 시작/종료일이 자동으로 재계산됩니다

분할 조정 시

  • ⚠️ 분할 후에는 원본 계획이 삭제되고 개별 계획으로 대체됩니다
  • ⚠️ 분할 수량의 합계가 원본 수량과 일치해야 합니다
  • 💡 각 분할 계획은 독립적으로 관리됩니다
  • 🔄 분할 실행 전 확인 메시지가 표시됩니다
  • 분할 후 각 계획에 개별적으로 설비를 할당할 수 있습니다

병합 조정 시

  • ⚠️ 병합 후에는 원본 계획들이 삭제되고 하나의 계획으로 대체됩니다
  • ⚠️ 같은 품목만 병합할 수 있습니다 (다른 품목은 불가)
  • ⚠️ 완제품끼리 또는 반제품끼리만 병합 가능 (혼합 불가)
  • 💡 수주 정보와 설비 할당 정보가 자동으로 통합됩니다
  • 📊 병합 전 총 수량과 품목 정보가 확인 메시지에 표시됩니다
  • 중복된 수주 정보는 자동으로 제거됩니다
  • 🔗 분할했던 계획을 다시 병합하는 데 유용합니다

🎨 UI 특징

시각적 피드백

  • 수량 변경: 파란색 배경의 정보 박스로 변경사항 표시
  • 분할 섹션: 노란색 배경으로 강조 (눈에 잘 띔)
  • 입력 필드: 실시간 검증 및 자동 합계 계산

접근성

  • 🖱️ 클릭 한 번으로 모달 열기
  • ⌨️ 키보드로 모든 기능 접근 가능
  • 명확한 버튼 레이블과 아이콘
  • 📱 반응형 디자인 (모바일 대응)

🚀 향후 개선 가능 사항

추가 기능 제안

  1. 병합 기능: 여러 계획을 하나로 합치기 구현 완료
  2. 템플릿 저장: 자주 사용하는 분할 패턴 저장
  3. 드래그 앤 드롭 날짜 조정: 타임라인에서 직접 날짜 조정
  4. 일괄 수정: 여러 계획 동시 수정
  5. 이력 관리: 변경 이력 추적 및 되돌리기
  6. 조건부 병합: 일정 조건에 맞는 계획 자동 병합
  7. 스마트 분할: AI 기반 최적 분할 제안

검증 강화

  • 재고 부족 경고
  • 설비 중복 사용 체크
  • 납기 초과 알림
  • 수량 한도 검증

📞 문의 및 지원

이 기능에 대한 질문이나 개선 제안이 있으시면 AI 어시스턴트에게 문의하세요.


마지막 업데이트: 2025-01-28 버전: 1.0 담당 파일: 화면개발/생산계획관리.html