ERP-node/frontend/lib/registry/components/v2-numbering-rule
shin 82f788bbb5 feat: 리포트 디자이너 Phase 1~3 완료 및 리팩토링
- Phase 1: 리포트 관리 페이지(Admin) 고도화 - CRUD, 목록/그리드 뷰
- Phase 2: 내부 리포트 목록 컨텍스트 뷰어
- Phase 3: 화면관리 컴포넌트화 (드래그&드롭)

리팩토링:
- ReportDesignerContext 분리: 2049줄 → 484줄 (contexts/report-designer/ 하위 훅 추출)
- MM_TO_PX 상수 중복 제거: useClipboardActions/useUIState → lib/report/constants 통일
- generateComponentId 헬퍼 중앙화: lib/report/constants로 단일 소스 관리
- ConditionalRule 타입 중복 제거: conditionalUtils → types/report 단일 정의
- 렌더러/속성/모달 컴포넌트 분리: designer/renderers, properties, modals 디렉토리

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 18:30:18 +09:00
..
NumberingRuleComponent.tsx feat: 리포트 디자이너 Phase 1~3 완료 및 리팩토링 2026-03-10 18:30:18 +09:00
NumberingRuleConfigPanel.tsx feat: 리포트 디자이너 Phase 1~3 완료 및 리팩토링 2026-03-10 18:30:18 +09:00
NumberingRuleRenderer.tsx V2 컴포넌트 규칙 추가 및 기존 컴포넌트 자동 등록 개선: 화면 컴포넌트 개발 가이드에 V2 컴포넌트 사용 규칙을 명시하고, ComponentsPanel에서 수동으로 추가하던 table-list 컴포넌트를 자동 등록으로 변경하여 관리 효율성을 높였습니다. 또한, V2 컴포넌트 목록과 수정/개발 시 규칙을 추가하여 일관된 개발 환경을 조성하였습니다. 2026-01-19 14:52:11 +09:00
README.md feat: 리포트 디자이너 Phase 1~3 완료 및 리팩토링 2026-03-10 18:30:18 +09:00
config.ts feat: 리포트 디자이너 Phase 1~3 완료 및 리팩토링 2026-03-10 18:30:18 +09:00
index.ts feat: 리포트 디자이너 Phase 1~3 완료 및 리팩토링 2026-03-10 18:30:18 +09:00
types.ts V2 컴포넌트 규칙 추가 및 기존 컴포넌트 자동 등록 개선: 화면 컴포넌트 개발 가이드에 V2 컴포넌트 사용 규칙을 명시하고, ComponentsPanel에서 수동으로 추가하던 table-list 컴포넌트를 자동 등록으로 변경하여 관리 효율성을 높였습니다. 또한, V2 컴포넌트 목록과 수정/개발 시 규칙을 추가하여 일관된 개발 환경을 조성하였습니다. 2026-01-19 14:52:11 +09:00

README.md

코드 채번 규칙 컴포넌트

개요

시스템에서 자동으로 코드를 생성하는 규칙을 설정하고 관리하는 관리자 전용 컴포넌트입니다.

주요 기능

  • 좌우 분할 레이아웃: 좌측에서 규칙 목록, 우측에서 편집
  • 동적 파트 시스템: 최대 6개의 파트를 자유롭게 조합
  • 실시간 미리보기: 설정 즉시 생성될 코드 확인
  • 다양한 파트 유형: 접두사, 순번, 날짜, 연도, 월, 커스텀

생성 코드 예시

  • 제품 코드: PROD-20251104-0001
  • 프로젝트 코드: PRJ-2025-001
  • 거래처 코드: CUST-A-0001

파트 유형

1. 접두사 (prefix)

고정된 문자열을 코드 앞에 추가합니다.

  • 예: PROD, PRJ, CUST

2. 순번 (sequence)

자동으로 증가하는 번호를 생성합니다.

  • 자릿수 설정 가능 (1-10)
  • 시작 번호 설정 가능
  • 예: 0001, 00001

3. 날짜 (date)

현재 날짜를 다양한 형식으로 추가합니다.

  • YYYY: 2025
  • YYYYMMDD: 20251104
  • YYMMDD: 251104

4. 연도 (year)

현재 연도를 추가합니다.

  • YYYY: 2025
  • YY: 25

5. 월 (month)

현재 월을 2자리로 추가합니다.

  • 예: 01, 02, ..., 12

6. 사용자 정의 (custom)

원하는 값을 직접 입력합니다.

생성 방식

자동 생성 (auto)

시스템이 자동으로 값을 생성합니다.

직접 입력 (manual)

사용자가 값을 직접 입력합니다.

설정 옵션

옵션 타입 기본값 설명
maxRules number 6 최대 파트 개수
readonly boolean false 읽기 전용 모드
showPreview boolean true 미리보기 표시
showRuleList boolean true 규칙 목록 표시
cardLayout "vertical" | "horizontal" "vertical" 카드 배치 방향

사용 예시

<NumberingRuleDesigner
  maxRules={6}
  isPreview={false}
  className="h-full"
/>

데이터베이스 구조

numbering_rules (마스터 테이블)

  • 규칙 ID, 규칙명, 구분자
  • 초기화 주기, 현재 시퀀스
  • 적용 대상 테이블/컬럼

numbering_rule_parts (파트 테이블)

  • 파트 순서, 파트 유형
  • 생성 방식, 설정 (JSONB)

API 엔드포인트

  • GET /api/numbering-rules - 규칙 목록 조회
  • POST /api/numbering-rules - 규칙 생성
  • PUT /api/numbering-rules/:ruleId - 규칙 수정
  • DELETE /api/numbering-rules/:ruleId - 규칙 삭제
  • POST /api/numbering-rules/:ruleId/generate - 코드 생성

버전 정보

  • 버전: 1.0.0
  • 작성일: 2025-11-04
  • 작성자: 개발팀