ERP-node/frontend/lib/registry/components/numbering-rule
kjs 4294fbf608 feat: 채번 규칙 테이블 기반 자동 필터링 구현
- 채번 규칙 scope_type을 table로 단순화
- 화면의 테이블명을 자동으로 감지하여 채번 규칙 필터링
- TextInputConfigPanel에 screenTableName prop 추가
- getAvailableNumberingRulesForScreen API로 테이블 기반 조회
- NumberingRuleDesigner에서 자동으로 테이블명 설정
- webTypeConfigConverter 유틸리티 추가 (기존 화면 호환성)
- AutoGenerationConfig 타입 개선 (enabled, options.numberingRuleId)
- 채번 규칙 선택 UI에서 ID 제거, 설명 추가
- 불필요한 console.log 제거

Backend:
- numberingRuleService: 테이블 기반 필터링 로직 구현
- numberingRuleController: available-for-screen 엔드포인트 수정

Frontend:
- TextInputConfigPanel: 테이블명 기반 채번 규칙 로드
- NumberingRuleDesigner: 적용 범위 UI 제거, 테이블명 자동 설정
- ScreenDesigner: webTypeConfig → autoGeneration 변환 로직 통합
- DetailSettingsPanel: autoGeneration 속성 매핑 개선
2025-11-07 14:27:07 +09:00
..
NumberingRuleComponent.tsx feat: 채번 규칙 테이블 기반 자동 필터링 구현 2025-11-07 14:27:07 +09:00
NumberingRuleConfigPanel.tsx 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
NumberingRuleRenderer.tsx 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
README.md 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
config.ts 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
index.ts 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
types.ts 채번 컴포넌트 생성 2025-11-04 13:58:21 +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
  • 작성자: 개발팀