- 옵셔널 필드 그룹: 섹션 내 선택적 필드 그룹 지원 (추가/제거, 연동 필드 자동 변경)
- 카테고리 Select: table_column_category_values 테이블 값을 Select 옵션으로 사용
- 전체 카테고리 컬럼 조회 API: GET /api/table-categories/all-columns
- RepeaterFieldGroup 저장 시 공통 필드 자동 병합
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
- CustomApiSaveConfig 타입 정의 (apiType, mainDeptFields, subDeptFields)
- saveWithCustomApi() 함수 추가로 테이블 직접 저장 대신 전용 API 호출
- adminController에 saveUserWithDept(), getUserWithDept() API 추가
- user_info + user_dept 트랜잭션 저장, 메인 부서 변경 시 자동 겸직 전환
- ConfigPanel에 전용 API 저장 설정 UI 추가
- SplitPanelLayout2: getColumnValue()로 조인 테이블 컬럼 값 추출 개선
- 검색 컬럼 선택 시 표시 컬럼 기반으로 변경
🐛 문제:
- 제어(플로우) 실행으로 데이터 INSERT 시 writer, company_code 컬럼이 비어있는 문제
- 플로우 실행 API에 인증이 없어 사용자 정보를 사용할 수 없었음
✅ 해결:
1. 플로우 실행 API에 authenticateToken 미들웨어 추가
2. 사용자 정보(userId, userName, companyCode)를 contextData에 포함
3. INSERT 노드 실행 시 writer와 company_code 자동 추가
- 필드 매핑에 없는 경우에만 자동 추가
- writer: 현재 로그인한 사용자 ID
- company_code: 현재 사용자의 회사 코드
- 최고 관리자(companyCode = '*')는 제외
4. 플로우 제어 자동 감지 개선
- flowConfig가 있으면 controlMode 없이도 플로우 모드로 인식
- 데이터 미선택 시 명확한 오류 메시지 표시
🎯 영향:
- 입고처리, 출고처리 등 제어 기반 데이터 생성 시 멀티테넌시 보장
- 데이터 추적성 향상 (누가 생성했는지 자동 기록)
📝 수정 파일:
- frontend/lib/utils/buttonActions.ts
- backend-node/src/routes/dataflow/node-flows.ts
- backend-node/src/services/nodeFlowExecutionService.ts
- 문제: 화면 복사 시 참조되는 화면이 아직 복사되지 않아 screenIdMap에 매핑 정보가 없었음
- 해결: 2단계 복사 방식 도입
1단계: 모든 screen_definitions 먼저 복사하여 screenIdMap 완성
2단계: screen_layouts 복사하면서 완성된 screenIdMap으로 참조 업데이트
- 결과: targetScreenId가 올바르게 새 회사의 화면 ID로 매핑됨 (예: 149 → 517)
- 추가: 화면 수집 시 문자열 타입 ID도 올바르게 파싱하도록 개선
- 추가: 참조 화면 발견 및 업데이트 로그 추가
관련 파일:
- backend-node/src/services/menuCopyService.ts
- db/migrations/1003_add_source_menu_objid_to_menu_info.sql
- db/scripts/cleanup_company_11_*.sql