ERP-node/docs/FLOW_MANAGEMENT_UI_DESIGN.md

44 KiB
Raw Blame History

플로우 관리 시스템 UI 설계

1. 플로우 관리 화면 (/flow-management)

1.1 전체 레이아웃

┌─────────────────────────────────────────────────────────────────────┐
│  플로우 관리                                    [+ 새 플로우]  [저장] │
├──────────────┬──────────────────────────────────────┬───────────────┤
│              │                                      │               │
│  플로우 목록  │         플로우 편집 캔버스            │  속성 패널    │
│   (좌측)     │            (중앙)                    │   (우측)      │
│              │                                      │               │
│  ┌────────┐  │  ┌──────┐                          │ ┌───────────┐ │
│  │플로우 1│  │  │      │      ┌──────┐            │ │ 단계명:   │ │
│  ├────────┤  │  │ 구매 │─────▶│ 설치 │            │ │ [구매]    │ │
│  │플로우 2│  │  │      │      └──────┘            │ │           │ │
│  ├────────┤  │  └──────┘          │               │ │ 색상:     │ │
│  │플로우 3│  │                     │               │ │ [파랑]    │ │
│  └────────┘  │                     ▼               │ │           │ │
│              │                  ┌──────┐           │ │ 조건 설정: │ │
│  [테이블 선택]│                  │ 폐기 │           │ │           │ │
│  [product_  │                  └──────┘           │ │ 컬럼:     │ │
│   dtg     ]  │                                     │ │ [status]  │ │
│              │                                     │ │           │ │
│              │                                     │ │ 연산자:   │ │
│              │                                     │ │ [equals]  │ │
│              │                                     │ │           │ │
│              │                                     │ │ 값:       │ │
│              │                                     │ │ [구매완료]│ │
│              │                                     │ │           │ │
│              │                                     │ │[+조건추가]│ │
│              │                                     │ └───────────┘ │
├──────────────┴──────────────────────────────────────┴───────────────┤
│  도구 모음: [노드 추가] [연결] [삭제] [정렬] [줌 인/아웃] [미니맵]   │
└─────────────────────────────────────────────────────────────────────┘

1.2 플로우 노드 상세

┌─────────────────────────────┐
│  구매                    [x] │  ← 닫기 버튼
├─────────────────────────────┤
│  상태: status = '구매완료'  │  ← 조건 요약
│  AND install_date IS NULL  │
├─────────────────────────────┤
│        데이터: 15건         │  ← 현재 조건에 맞는 데이터 수
└─────────────────────────────┘
           ↓
      [연결선 라벨]
           ↓
┌─────────────────────────────┐
│  설치                    [x] │
├─────────────────────────────┤
│  상태: status = '설치완료'  │
│  AND disposal_date IS NULL │
├─────────────────────────────┤
│        데이터: 8건          │
└─────────────────────────────┘

1.3 조건 빌더 UI

┌─────────────────────────────────────────────┐
│  조건 설정                           [AND▼]  │
├─────────────────────────────────────────────┤
│  조건 1:                              [- 삭제]│
│  ┌───────────┬──────────┬──────────────┐    │
│  │ 컬럼      │ 연산자   │ 값           │    │
│  │ [status▼] │[equals▼] │[구매완료    ]│    │
│  └───────────┴──────────┴──────────────┘    │
│                                              │
│  조건 2:                              [- 삭제]│
│  ┌───────────┬──────────┬──────────────┐    │
│  │ 컬럼      │ 연산자   │ 값           │    │
│  │[install_  │[is_null▼]│              │    │
│  │  date   ▼]│          │              │    │
│  └───────────┴──────────┴──────────────┘    │
│                                              │
│  [+ 조건 추가]                               │
└─────────────────────────────────────────────┘

연산자 옵션:
- equals (같음)
- not_equals (같지 않음)
- in (포함)
- not_in (포함하지 않음)
- greater_than (크다)
- less_than (작다)
- is_null (NULL)
- is_not_null (NULL 아님)

2. 화면관리에서 플로우 위젯 배치

2.1 화면 편집기 (ScreenDesigner)

┌─────────────────────────────────────────────────────────────────────┐
│  화면 편집기 - DTG 제품 관리                                [저장]   │
├─────────────┬───────────────────────────────────────┬───────────────┤
│             │                                       │               │
│ 컴포넌트    │          캔버스                        │  속성 패널    │
│             │                                       │               │
│ ┌─────────┐ │  ┌─────────────────────────────────┐ │ 타입:         │
│ │ 입력필드 │ │  │  DTG 제품 라이프사이클          │ │ [flow-widget] │
│ ├─────────┤ │  ├─────┬─────┬─────┬─────┬─────────┤ │               │
│ │ 버튼    │ │  │구매 │     │설치 │     │ 폐기    │ │ 플로우 선택:  │
│ ├─────────┤ │  │     │  →  │     │  →  │         │ │ [DTG 라이프   │
│ │ 테이블  │ │  │ 15건│     │ 8건 │     │  3건    │ │  사이클  ▼]  │
│ ├─────────┤ │  └─────┴─────┴─────┴─────┴─────────┘ │               │
│ │플로우  │ │  ◀ 드래그앤드롭으로 배치               │ 레이아웃:     │
│ └─────────┘ │                                       │ [가로▼]       │
│             │  ┌─────────────────────────────────┐ │               │
│             │  │  제품 상세 정보                  │ │ 카드 너비:    │
│             │  │  ┌────────────┬───────────────┐ │ │ [200px]       │
│             │  │  │ 제품명:    │ [          ]  │ │ │               │
│             │  │  │ 구매일자:  │ [          ]  │ │ │ 데이터 카운트 │
│             │  │  │ 설치일자:  │ [          ]  │ │ │ [✓] 표시      │
│             │  │  │ 폐기일자:  │ [          ]  │ │ │               │
│             │  │  └────────────┴───────────────┘ │ │ 연결선        │
│             │  └─────────────────────────────────┘ │ [✓] 표시      │
│             │                                       │               │
└─────────────┴───────────────────────────────────────┴───────────────┘

2.2 플로우 위젯 설정 패널

┌─────────────────────────────────────┐
│  플로우 위젯 설정                    │
├─────────────────────────────────────┤
│  플로우 선택:                        │
│  ┌───────────────────────────────┐  │
│  │ DTG 제품 라이프사이클      ▼ │  │
│  └───────────────────────────────┘  │
│                                     │
│  레이아웃:                           │
│  ( ) 가로   (•) 세로                │
│                                     │
│  카드 너비:                          │
│  [200px               ]             │
│                                     │
│  카드 높이:                          │
│  [120px               ]             │
│                                     │
│  [✓] 데이터 카운트 표시              │
│  [✓] 연결선 표시                     │
│  [ ] 컴팩트 모드                     │
│                                     │
│  카드 스타일:                        │
│  ┌─────────────────────────────┐   │
│  │ 테두리 색상: [단계별 색상 ▼] │   │
│  │ 배경 색상:   [흰색      ▼]  │   │
│  │ 그림자:      [중간      ▼]  │   │
│  └─────────────────────────────┘   │
└─────────────────────────────────────┘

3. 실제 화면에서 플로우 표시 (InteractiveScreenViewer)

3.1 가로 레이아웃

┌─────────────────────────────────────────────────────────────────────┐
│  DTG 제품 관리                                                       │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  DTG 제품 라이프사이클                                               │
│  ┌─────────────┐      ┌─────────────┐      ┌─────────────┐        │
│  │   구매      │      │   설치      │      │   폐기      │        │
│  │             │  →   │             │  →   │             │        │
│  │   15건      │      │   8건       │      │   3건       │        │
│  └─────────────┘      └─────────────┘      └─────────────┘        │
│   ↑ 클릭하면 데이터 리스트 모달 열림                                │
│                                                                      │
│  ─────────────────────────────────────────────────────────────────  │
│                                                                      │
│  제품 상세 정보                                                      │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │  제품명:    [DTG-001                ]                        │  │
│  │  구매일자:  [2024-01-15             ]                        │  │
│  │  설치일자:  [2024-02-20             ]                        │  │
│  │  폐기일자:  [                       ]                        │  │
│  └──────────────────────────────────────────────────────────────┘  │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

3.2 세로 레이아웃

┌─────────────────────────────────────────────────────────────────────┐
│  DTG 제품 관리                                                       │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  DTG 제품 라이프사이클                                               │
│  ┌─────────────┐                                                    │
│  │   구매      │                                                    │
│  │             │                                                    │
│  │   15건      │                                                    │
│  └─────────────┘                                                    │
│         ↓                                                           │
│  ┌─────────────┐                                                    │
│  │   설치      │                                                    │
│  │             │                                                    │
│  │   8건       │                                                    │
│  └─────────────┘                                                    │
│         ↓                                                           │
│  ┌─────────────┐                                                    │
│  │   폐기      │                                                    │
│  │             │                                                    │
│  │   3건       │                                                    │
│  └─────────────┘                                                    │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

4. 플로우 단계 클릭 시 데이터 리스트 모달

┌─────────────────────────────────────────────────────────────────────┐
│  구매 단계 - 데이터 목록                                   [X 닫기]  │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌──┬──────────┬────────────┬────────────┬──────────┬──────────┐  │
│  │□ │ 제품명   │ 구매일자   │ 구매금액   │ 구매처   │ 상태     │  │
│  ├──┼──────────┼────────────┼────────────┼──────────┼──────────┤  │
│  │☑ │ DTG-001  │ 2024-01-15 │ 15,000,000 │ A업체    │ 구매완료 │  │
│  │☑ │ DTG-002  │ 2024-01-20 │ 15,500,000 │ B업체    │ 구매완료 │  │
│  │□ │ DTG-003  │ 2024-02-01 │ 14,800,000 │ A업체    │ 구매완료 │  │
│  │□ │ DTG-004  │ 2024-02-05 │ 16,200,000 │ C업체    │ 구매완료 │  │
│  │☑ │ DTG-005  │ 2024-02-10 │ 15,000,000 │ B업체    │ 구매완료 │  │
│  │□ │ DTG-006  │ 2024-02-15 │ 15,300,000 │ A업체    │ 구매완료 │  │
│  │□ │ DTG-007  │ 2024-02-20 │ 15,700,000 │ B업체    │ 구매완료 │  │
│  │□ │ DTG-008  │ 2024-02-25 │ 16,000,000 │ C업체    │ 구매완료 │  │
│  └──┴──────────┴────────────┴────────────┴──────────┴──────────┘  │
│                                                                      │
│  선택된 항목: 3개                          [1] [2] [3] [4] [5]      │
│                                                                      │
├─────────────────────────────────────────────────────────────────────┤
│                     [취소]  [설치 단계로 이동] ←                    │
└─────────────────────────────────────────────────────────────────────┘

4.1 단계 이동 확인 대화상자

┌─────────────────────────────────────────┐
│  단계 이동 확인                          │
├─────────────────────────────────────────┤
│                                         │
│  선택한 3개의 제품을                     │
│  '구매' 단계에서 '설치' 단계로          │
│  이동하시겠습니까?                       │
│                                         │
│  이동 사유 (선택):                       │
│  ┌─────────────────────────────────┐   │
│  │ 설치 일정 확정                   │   │
│  │                                 │   │
│  └─────────────────────────────────┘   │
│                                         │
│  [취소]              [확인]             │
└─────────────────────────────────────────┘

5. 오딧 로그 (이력) 화면

5.1 제품 상세 화면 내 이력 탭

┌─────────────────────────────────────────────────────────────────────┐
│  제품 상세: DTG-001                                                  │
├──────┬──────────────────────────────────────────────────────────────┤
│ 기본 │  플로우 이력  │  문서  │  AS 이력  │                         │
├──────┴──────────────────────────────────────────────────────────────┤
│                                                                      │
│  DTG 제품 라이프사이클 이력                                          │
│                                                                      │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ 2024-02-20 14:30:25                                          │  │
│  │ [구매] → [설치]                                              │  │
│  │ 변경자: 홍길동 (설치팀)                                      │  │
│  │ 사유: 고객사 설치 완료                                       │  │
│  └──────────────────────────────────────────────────────────────┘  │
│                                                                      │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ 2024-01-15 09:15:00                                          │  │
│  │ [시작] → [구매]                                              │  │
│  │ 변경자: 김철수 (구매팀)                                      │  │
│  │ 사유: 신규 제품 구매 등록                                    │  │
│  └──────────────────────────────────────────────────────────────┘  │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

5.2 타임라인 뷰

┌─────────────────────────────────────────────────────────────────────┐
│  플로우 이력 (타임라인)                                              │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│    2024-01-15                                                        │
│         │                                                            │
│         ● 구매 (김철수)                                              │
│         │ "신규 제품 구매 등록"                                      │
│         │                                                            │
│         │ (36일 경과)                                                │
│         │                                                            │
│    2024-02-20                                                        │
│         │                                                            │
│         ● 설치 (홍길동)                                              │
│         │ "고객사 설치 완료"                                         │
│         │                                                            │
│         │ (진행 중...)                                               │
│         │                                                            │
│         ○ 폐기 (예정)                                                │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

6. 플로우 위젯 스타일 변형

6.1 컴팩트 모드

┌─────────────────────────────────────────┐
│  DTG 라이프사이클                        │
│  [구매 15] → [설치 8] → [폐기 3]        │
└─────────────────────────────────────────┘

6.2 카드 상세 모드

┌──────────────────┐    ┌──────────────────┐    ┌──────────────────┐
│   구매           │    │   설치           │    │   폐기           │
├──────────────────┤    ├──────────────────┤    ├──────────────────┤
│                  │    │                  │    │                  │
│     15건         │→   │     8건          │→   │     3건          │
│                  │    │                  │    │                  │
├──────────────────┤    ├──────────────────┤    ├──────────────────┤
│ 조건:            │    │ 조건:            │    │ 조건:            │
│ status=구매완료  │    │ status=설치완료  │    │ status=폐기완료  │
│                  │    │                  │    │                  │
│ 최근 업데이트:   │    │ 최근 업데이트:   │    │ 최근 업데이트:   │
│ 2024-02-25       │    │ 2024-02-20       │    │ 2024-01-15       │
└──────────────────┘    └──────────────────┘    └──────────────────┘

6.3 프로그레스 바 스타일

┌─────────────────────────────────────────────────────────────────────┐
│  DTG 제품 라이프사이클                                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  구매 ━━━━━━━━━ 설치 ━━━━━━━━━ 폐기                                │
│  15건    57%    8건    31%    3건    12%                            │
│  ████████████▓▓▓▓▓▓▓▓▓░░░░░░░░                                     │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

7. 모바일 반응형 디자인

7.1 모바일 뷰 (세로)

┌─────────────────────┐
│ ☰  DTG 제품 관리     │
├─────────────────────┤
│                     │
│  라이프사이클:       │
│                     │
│  ┌───────────────┐  │
│  │   구매        │  │
│  │   15건        │  │
│  └───────────────┘  │
│         ↓           │
│  ┌───────────────┐  │
│  │   설치        │  │
│  │   8건         │  │
│  └───────────────┘  │
│         ↓           │
│  ┌───────────────┐  │
│  │   폐기        │  │
│  │   3건         │  │
│  └───────────────┘  │
│                     │
│  ───────────────    │
│                     │
│  제품 정보          │
│  제품명: DTG-001    │
│  구매일: 2024-01-15 │
│  설치일: 2024-02-20 │
│                     │
└─────────────────────┘

8. 플로우 편집기 상세 기능

8.1 노드 추가 메뉴

┌─────────────────────────────────────────┐
│  캔버스 우클릭 메뉴                      │
├─────────────────────────────────────────┤
│   단계 추가                           │
│  🔗 연결선 추가                          │
│  📋 붙여넣기                             │
│  ───────────────────────────────────    │
│  🎨 배경 색상 변경                       │
│  📏 격자 설정                            │
│  🔍 확대/축소                            │
└─────────────────────────────────────────┘

8.2 노드 우클릭 메뉴

┌─────────────────────────────────────────┐
│  단계 메뉴                               │
├─────────────────────────────────────────┤
│  ✏️ 편집                                 │
│  📋 복사                                 │
│  🗑️ 삭제                                 │
│  ───────────────────────────────────    │
│  🔗 다음 단계로 연결                     │
│  🎨 색상 변경                            │
│  📊 데이터 미리보기 (15건)               │
│  ───────────────────────────────────    │
│  ⬆️ 앞으로 가져오기                      │
│  ⬇️ 뒤로 보내기                          │
└─────────────────────────────────────────┘

8.3 미니맵

┌──────────────────────┐
│  미니맵       [X]     │
├──────────────────────┤
│  ┌────────────────┐  │
│  │ ●              │  │
│  │   ●            │  │
│  │                │  │
│  │        ●       │  │
│  │                │  │
│  │   [====]  ←현재 │  │
│  │           뷰포트│  │
│  └────────────────┘  │
│                      │
│  줌: 100%            │
│  [] ■■■■■ []    │
└──────────────────────┘

9. 플로우 템플릿 선택 화면

┌─────────────────────────────────────────────────────────────────────┐
│  새 플로우 만들기                                          [X 닫기]  │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  템플릿 선택:                                                        │
│                                                                      │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐            │
│  │   빈 플로우  │  │  3단계 플로우 │  │  승인 플로우  │            │
│  │              │  │              │  │              │            │
│  │              │  │  ● → ● → ●  │  │ ● → ● → ●   │            │
│  │      +       │  │              │  │  ↓       ↓  │            │
│  │              │  │              │  │  ●       ●  │            │
│  └──────────────┘  └──────────────┘  └──────────────┘            │
│                                                                      │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐            │
│  │  구매→설치   │  │   품질검사    │  │   커스텀     │            │
│  │              │  │              │  │              │            │
│  │  ● → ● → ●  │  │ ● → ● → ●   │  │              │            │
│  │              │  │  ↓   ↓   ↓  │  │   불러오기    │            │
│  │              │  │  ●   ●   ●  │  │              │            │
│  └──────────────┘  └──────────────┘  └──────────────┘            │
│                                                                      │
│  또는                                                                │
│                                                                      │
│  플로우 이름: [                                      ]               │
│  연결 테이블: [product_dtg                       ▼]                 │
│                                                                      │
│                                  [취소]  [빈 플로우로 시작]         │
└─────────────────────────────────────────────────────────────────────┘

10. 데이터 흐름 다이어그램

10.1 전체 시스템 흐름

┌─────────────────────────────────────────────────────────────────────┐
│                      플로우 관리 시스템                              │
└─────────────────────────────────────────────────────────────────────┘
                                 │
        ┌────────────────────────┼────────────────────────┐
        │                        │                        │
        ▼                        ▼                        ▼
┌───────────────┐        ┌───────────────┐       ┌───────────────┐
│ 플로우 정의   │        │ 조건 설정     │       │ 시각화 편집   │
│ (정의/수정)   │        │ (SQL 변환)    │       │ (React Flow)  │
└───────┬───────┘        └───────┬───────┘       └───────┬───────┘
        │                        │                        │
        └────────────────────────┼────────────────────────┘
                                 │
                                 ▼
                    ┌─────────────────────────┐
                    │   데이터베이스 저장     │
                    │  - flow_definition      │
                    │  - flow_step            │
                    │  - flow_step_connection │
                    └────────────┬────────────┘
                                 │
                                 ▼
        ┌────────────────────────┼────────────────────────┐
        │                        │                        │
        ▼                        ▼                        ▼
┌───────────────┐        ┌───────────────┐       ┌───────────────┐
│ 화면관리      │        │ 실시간 카운트 │       │ 데이터 이동   │
│ (위젯 배치)   │        │ (조건 조회)   │       │ (상태 변경)   │
└───────┬───────┘        └───────┬───────┘       └───────┬───────┘
        │                        │                        │
        └────────────────────────┼────────────────────────┘
                                 │
                                 ▼
                    ┌─────────────────────────┐
                    │   사용자 화면에 표시    │
                    │  + 오딧 로그 기록       │
                    └─────────────────────────┘

11. 사용자 시나리오 플로우

┌─────────────────────────────────────────────────────────────────────┐
│  시나리오: DTG 제품 라이프사이클 관리                                │
└─────────────────────────────────────────────────────────────────────┘

단계 1: 플로우 정의
─────────────────────
관리자가 플로우 관리 화면에서:
1. "새 플로우" 클릭
2. 이름: "DTG 제품 라이프사이클" 입력
3. 테이블: "product_dtg" 선택
4. "구매", "설치", "폐기" 3개 단계 추가
5. 각 단계의 조건 설정
6. 저장

단계 2: 화면에 배치
─────────────────────
관리자가 화면관리에서:
1. "DTG 제품 관리" 화면 열기
2. 컴포넌트 팔레트에서 "플로우 위젯" 드래그
3. "DTG 제품 라이프사이클" 플로우 선택
4. 레이아웃 및 스타일 설정
5. 저장

단계 3: 일반 사용자 사용
─────────────────────
일반 사용자가:
1. "DTG 제품 관리" 화면 접속
2. 플로우 위젯에서 각 단계별 건수 확인
   - 구매: 15건
   - 설치: 8건
   - 폐기: 3건
3. "구매" 단계 클릭 → 데이터 리스트 모달 열림
4. 설치 완료된 제품 2개 선택
5. "설치 단계로 이동" 버튼 클릭
6. 이동 사유 입력: "설치 완료"
7. 확인 → 데이터 이동 및 오딧 로그 기록

단계 4: 이력 조회
─────────────────────
사용자가:
1. 특정 제품(DTG-001) 상세 화면 열기
2. "플로우 이력" 탭 클릭
3. 모든 상태 변경 이력 확인
   - 언제, 누가, 어떤 단계로 이동했는지
   - 이동 사유

12. 색상 및 테마

12.1 기본 색상 팔레트

플로우 단계 색상:
┌──────┬──────┬──────┬──────┬──────┬──────┐
│ 파랑 │ 초록 │ 주황 │ 빨강 │ 보라 │ 회색 │
│#3B82F6│#10B981│#F59E0B│#EF4444│#8B5CF6│#6B7280│
└──────┴──────┴──────┴──────┴──────┴──────┘

상태별 색상:
- 시작: 파랑
- 진행 중: 초록
- 대기: 주황
- 완료: 회색
- 거부/폐기: 빨강

12.2 다크모드

┌─────────────────────────────────────────┐
│  플로우 관리 (다크모드)                  │
├─────────────────────────────────────────┤
│  배경: #1F2937 (어두운 회색)            │
│  카드: #374151 (중간 회색)              │
│  텍스트: #F9FAFB (밝은 회색)            │
│  강조: #3B82F6 (파랑)                   │
└─────────────────────────────────────────┘

이상으로 플로우 관리 시스템의 UI 설계를 도식화했습니다!