Commit Graph

454 Commits

Author SHA1 Message Date
kjs ae38e0f249 엔티티 타입 에러수정 및 배지 색상없음 오류 수정 2025-12-17 16:38:12 +09:00
kjs be916d3db7 탭안에있는 화면 검색필터링 기능 2025-12-17 15:00:15 +09:00
kjs 3d287bb883 엔티티타입 연쇄관계관리 설정 추가 2025-12-17 11:48:05 +09:00
kjs d6f40f3cd3 버튼별로 데이터 필터링기능 2025-12-16 18:02:08 +09:00
kjs f7e3c1924c 엔티티 즉시저장기능 추가 2025-12-16 14:38:03 +09:00
kjs d8329d31e4 우측화면 데이터 필터링 수정 2025-12-16 11:49:10 +09:00
kjs b3e6613d66 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-12-16 10:46:15 +09:00
SeongHyun Kim f6051e8bbd fix(button-actions): openModalWithData 액션에서 선택된 데이터 전달 누락 수정
- handleOpenModalWithData에서 modalDataStore 데이터를 selectedData/selectedIds로 이벤트에 포함
- RepeatScreenModal에서 groupedData로 사용할 수 있도록 데이터 전달 경로 완성
- ButtonConfigPanel 필드 매핑 UI를 세로 배치로 변경하여 가독성 개선
- split-panel-layout2 컴포넌트 타입 소스 테이블 감지 지원 추가
- currentTableName 폴백 로직 추가로 테이블명 감지 안정성 향상
2025-12-15 18:39:59 +09:00
kjs cb38864ad8 카드 디스플레이 삭제기능 구현 2025-12-15 18:29:18 +09:00
SeongHyun Kim 2f66fe1913 Merge origin/main into ksh - resolve conflicts 2025-12-15 17:28:32 +09:00
SeongHyun Kim 16885225a0 feat(edit-modal): 저장 완료 후 제어로직(노드 플로우) 자동 실행 기능 추가
- EditModal에서 INSERT/UPDATE/그룹 저장 완료 후 제어로직 자동 실행
- loadSaveButtonConfig(): 모달 내부 저장 버튼의 제어로직 설정 조회
- findSaveButtonInComponents(): 재귀적으로 저장 버튼 탐색 (conditional-container 내부 포함)
- buttonActions.ts: openEditModal 이벤트에 buttonConfig, buttonContext 전달
- executeAfterSaveControl()을 public으로 변경하여 외부 호출 가능
- 제어로직 실행 오류 시 저장 성공 유지, 경고 토스트만 표시
2025-12-15 14:46:32 +09:00
kjs 036380d267 다중 제어기능 구현 2025-12-12 18:28:58 +09:00
kjs 722718b7ed 설비 수정모달 데이터 안넘어오는 현상 수정 2025-12-12 14:37:24 +09:00
SeongHyun Kim 5ed80df2d4 Merge branch 'ksh' 2025-12-12 09:15:26 +09:00
kjs 016b8f707b 분할패널 버튼 이동 가능하게 수정 2025-12-11 18:40:39 +09:00
SeongHyun Kim 6a676dcf5c refactor(universal-form-modal): ConfigPanel 모달 분리 및 설정 패널 오버플로우 수정
- UniversalFormModalConfigPanel을 3개 모달로 분리 (2300줄 → 300줄)
  - FieldDetailSettingsModal: 필드 상세 설정
  - SaveSettingsModal: 저장 설정
  - SectionLayoutModal: 섹션 레이아웃 설정
- FloatingPanel, DetailSettingsPanel 가로 스크롤 오버플로우 수정
- SelectOptionConfig에 saveColumn 필드 추가 (저장 값 별도 지정)
2025-12-11 15:29:37 +09:00
kjs f2b0ac8fd5 Merge branch 'main' into feature/screen-management 2025-12-11 14:32:27 +09:00
kjs 215242b676 검색필터 분할패널 데이터 합산기능 추가 2025-12-11 14:25:28 +09:00
leeheejin 99fd8336a5 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; 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.
2025-12-11 13:48:57 +09:00
leeheejin c486a31787 파일업로드 로직 중간저장(다듬기하면됨) 2025-12-11 13:48:34 +09:00
SeongHyun Kim 9463d8d0b6 수주관리 수정 모달 수정 2025-12-11 13:25:13 +09:00
SeongHyun Kim 0e60f11084 Merge remote-tracking branch 'origin/main' into ksh 2025-12-11 11:47:43 +09:00
kjs 5bbbd37553 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-12-11 10:43:09 +09:00
leeheejin d09c8e0787 파일업로드 수정 2025-12-10 18:38:16 +09:00
leeheejin fa6c00b6be 모달 잘리는거 해결 2025-12-10 17:41:41 +09:00
dohyeons c7ae04859d 플로우 위젯 체크박스 선택 버그 수정 - 인덱스 기반에서 Primary Key 기반으로 변경 2025-12-10 14:28:11 +09:00
kjs c71b958a05 연쇄관계 관리 2025-12-10 13:53:44 +09:00
kjs ba817980f0 투명색 설정 가능하게 구현 2025-12-09 17:08:10 +09:00
SeongHyun Kim 5e97a3a5e9 fix: 화면 복사 코드 생성 로직 개선 및 UniversalFormModal beforeFormSave 이벤트 연동
- screenManagementService: PostgreSQL regexp_replace로 정확한 최대 번호 조회
- CopyScreenModal: linkedScreens 의존성 추가로 모달 코드 생성 보장
- UniversalFormModal: beforeFormSave 이벤트 리스너로 ButtonPrimary 연동
- 설정된 필드만 병합하여 의도치 않은 덮어쓰기 방지
2025-12-09 16:11:04 +09:00
dohyeons 0aaab45329 flowExecutionService 트랜잭션 처리 개선 및 데이터 변경 추적 로직 수정 2025-12-09 11:15:18 +09:00
dohyeons 8d07458c94 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into common/feat/dashboard-map 2025-12-09 10:36:49 +09:00
kjs 5609e6353f 창고 렉 구조 등록 컴포넌트 중복 방지기능 추가 2025-12-08 17:13:14 +09:00
dohyeons 11a99a5c2e flow-widgdt 인라인 편집 및 검색 하이라이트 기능 추가 2025-12-08 16:06:43 +09:00
kjs ec65ad6b9e 데이터전달 모달열기 액션에 컬럼 매핑기능 추가 2025-12-08 15:50:58 +09:00
kjs e713f55442 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-12-05 15:22:28 +09:00
kjs 1c329b5e0c 화면 분할 패널 자동으로 데이터 넘기는 기능 설정 가능하게 변경 2025-12-05 14:08:07 +09:00
leeheejin ccf8bd3284 버튼활성화비활성화 2025-12-05 11:03:15 +09:00
kjs 9e956999c5 모달 크기 고정 2025-12-05 10:46:10 +09:00
SeongHyun Kim c1400081c6 fix(modal-repeater-table): 품목 추가 시 UI 즉시 반영되지 않는 버그 수정
- value 상수를 localValue useState로 변경하여 내부 상태 관리
- useEffect로 외부 값(formData, propValue) 변경 시 동기화
- handleChange에서 setLocalValue 호출하여 즉각적인 UI 업데이트
- RepeaterTable, ItemSelectionModal 등 모든 참조를 localValue로 변경
2025-12-04 19:17:32 +09:00
SeongHyun Kim 52ad67d44a feat: SplitPanelLayout2 마스터-디테일 컴포넌트 구현
좌측 패널(마스터)-우측 패널(디테일) 분할 레이아웃 컴포넌트 추가
EditModal에 isCreateMode 플래그 추가하여 INSERT/UPDATE 분기 처리
dataFilter 기반 정확한 조인 필터링 구현
좌측 패널 선택 데이터를 모달로 자동 전달하는 dataTransferFields 설정 지원
ConfigPanel에서 테이블, 컬럼, 조인 설정 가능
2025-12-03 18:53:03 +09:00
SeongHyun Kim de8b643277 Merge remote-tracking branch 'origin/main' into ksh 2025-12-03 18:48:37 +09:00
SeongHyun Kim 700623aa78 feat: SplitPanelLayout2 마스터-디테일 컴포넌트 구현
좌측 패널(마스터)-우측 패널(디테일) 분할 레이아웃 컴포넌트 추가
EditModal에 isCreateMode 플래그 추가하여 INSERT/UPDATE 분기 처리
dataFilter 기반 정확한 조인 필터링 구현
좌측 패널 선택 데이터를 모달로 자동 전달하는 dataTransferFields 설정 지원
ConfigPanel에서 테이블, 컬럼, 조인 설정 가능
2025-12-03 17:45:22 +09:00
kjs eb5ea411c9 화면 일괄삭제기능 2025-12-03 16:02:09 +09:00
kjs e33664015a 상단 헤더 제거 2025-12-03 10:03:24 +09:00
kjs 7713d4073c Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-12-02 18:07:24 +09:00
kjs 3b875f20b1 화면간 데이터 전달기능 구현 2025-12-02 18:03:52 +09:00
leeheejin a75b615c3a Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj 2025-12-02 14:26:03 +09:00
leeheejin 9078873240 워크플로우 restapi도 연결가능하고여러개 가능하게 구현시켜놓음 2025-12-02 14:24:43 +09:00
SeongHyun Kim bc34cded95 merge: origin/main을 ksh로 머지 (UnifiedPropertiesPanel 충돌 해결) 2025-12-02 14:10:33 +09:00
leeheejin 2c447fd325 restapi도 가능하게 구현 2025-12-02 13:20:49 +09:00
leeheejin 8c83db596d 공차관련수정사항들 2025-12-02 09:53:08 +09:00
SeongHyun Kim 2f78c83ef6 feat(repeat-screen-modal): 외부 테이블 조인, 필터링, CRUD 및 실시간 집계 기능 추가
- 외부 테이블 데이터 소스 설정 (TableDataSourceConfig) 추가
- 다중 테이블 조인 지원 (AdditionalJoinConfig)
- 테이블 필터링 (equals/notEquals) 지원
- 테이블 CRUD (행 추가/수정/삭제) 기능 추가
- 데이터 변경 시 집계 실시간 재계산 (recalculateAggregationsWithExternalData)
- 시각적 수식 빌더 (FormulaBuilder) 컴포넌트 추가
- 테이블 컬럼 순서 변경 기능 추가
- 백엔드: 배열 파라미터 IN 절 변환 로직 추가
2025-12-01 18:50:26 +09:00
leeheejin 7242f08224 공차 등록, 연속추적 기능 2025-12-01 17:04:59 +09:00
leeheejin fbeb3ec2c9 버튼 과정이 조금 복잡하지만 위도경도 연속추적기능도 넣음 2025-12-01 16:49:02 +09:00
leeheejin 7263c9c3ff Merge origin/main into lhj - resolve buttonActions.ts conflict 2025-12-01 15:44:19 +09:00
leeheejin 8d2ec8e737 공차등록성공 2025-12-01 15:23:07 +09:00
kjs da6ac92391 데이터 수정이 안되는 문제 해결 2025-12-01 15:21:03 +09:00
leeheejin 9f97a16d6a Merge origin/main and resolve conflicts - add geolocation/update_field actions 2025-11-28 18:45:41 +09:00
kjs bd4e3e507d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-28 18:38:18 +09:00
leeheejin 67e6a8008d 버튼 액션중 위치정보 가져오기, 필드값 변경 추가 2025-11-28 18:35:07 +09:00
SeongHyun Kim 07e0b22309 Merge remote-tracking branch 'origin/main' into ksh 2025-11-28 16:03:10 +09:00
SeongHyun Kim 36ab484029 feat(repeat-screen-modal): 자유 레이아웃 구현 및 데이터 전달 버그 수정
- contentRows 기반 자유 레이아웃 지원 (header/aggregation/table/fields 타입)
- aggregationFields, tableColumns 직접 참조하도록 렌더링 로직 수정
- groupByField 없어도 grouping.enabled면 그룹핑 모드로 처리
- buttonActions에서 selectedRowsData를 모달 이벤트로 전달
- ScreenModal에서 selectedData를 groupedData props로 컴포넌트에 전달
- types.ts에 CardContentRowConfig, AggregationDisplayConfig 인터페이스 추가
2025-11-28 16:02:29 +09:00
kjs f15846fd10 화면 분할 패널 기능 2025-11-28 14:56:11 +09:00
leeheejin 552beabdc0 null로 저장되게 성공시킴 2025-11-28 14:45:04 +09:00
SeongHyun Kim c94b9da813 feat: 신규 컴포넌트 2종 추가 (SimpleRepeaterTable, RepeatScreenModal) 및 속성 패널 스크롤 개선
- SimpleRepeaterTable: 검색/추가 없이 데이터 표시 및 편집, 자동 계산 지원
- RepeatScreenModal: 그룹핑 기반 카드 레이아웃, 집계 기능, 테이블 모드 지원
- UnifiedPropertiesPanel: overflow-x-auto 추가로 가로 스크롤 활성화
2025-11-28 11:48:46 +09:00
leeheejin 8dcffa8927 메일관련된거 커밋 2025-11-28 11:34:48 +09:00
kjs 51c49f7a3d 화면 분할패널 커밋 2025-11-27 12:54:57 +09:00
kjs 6ef4ff8e9b Merge branch 'main' into feature/screen-management 2025-11-26 16:10:06 +09:00
kjs e8c02fef5e 미리보기 기능 수정 2025-11-26 14:58:18 +09:00
kjs 13fe9c97fe 오류 수정 2025-11-26 14:44:49 +09:00
SeongHyun Kim 98a58368a6 Merge branch 'ksh' 2025-11-26 14:07:56 +09:00
SeongHyun Kim acc2a6169d style: EditModal 코드 포맷팅 및 불필요한 공백 제거
- trailing whitespace 정리
- 들여쓰기 일관성 유지
- 그룹 편집 안내 메시지 UI 제거
2025-11-26 14:05:22 +09:00
SeongHyun Kim 17659a0e59 Merge branch 'ksh' 2025-11-26 11:04:04 +09:00
kjs ea88cfd043 feat: 날짜 기간 검색 기능 구현
- ModernDatePicker: 로컬 상태 관리로 즉시 검색 방지
  - tempValue 상태 추가하여 확인 버튼 클릭 시에만 검색 실행
  - 빠른 선택 버튼 추가 (오늘, 이번주, 이번달, 최근 7일, 최근 30일)

- TableSearchWidget: ModernDatePicker 통합
  - 기본 HTML input[type=date]를 ModernDatePicker로 교체
  - 날짜 범위 객체 {from, to}를 파이프 구분 문자열로 변환
  - 백엔드 재시작 없이 작동하도록 임시 포맷팅 적용

- tableManagementService: 날짜 범위 검색 로직 개선
  - getColumnWebTypeInfo: web_type이 null이면 input_type 폴백
  - buildDateRangeCondition: VARCHAR 타입 날짜 컬럼 지원
  - 날짜 컬럼을 ::date로 캐스팅하여 타입 호환성 확보
  - 파이프 구분 문자열 파싱 지원 (YYYY-MM-DD|YYYY-MM-DD)

- 디버깅 로깅 추가
  - 컬럼 타입 정보 조회 결과 로깅
  - 날짜 범위 검색 조건 생성 과정 추적
2025-11-25 17:48:23 +09:00
SeongHyun Kim 0a6c5fbfcc fix: 수주관리 납기일 DATE 형식 저장 구현
- 프론트엔드: EditModal에 날짜 정규화 함수 추가 (YYYY-MM-DD 형식)
- 백엔드: convertValueForPostgreSQL에서 DATE 타입 문자열 그대로 유지
- 기존 TIMESTAMP 형식 변환을 DATE 타입 문자열 유지로 변경
- 날짜 변환 로직에서 YYYY-MM-DD 형식 문자열 변환 제거

closes #납기일-TIMESTAMP-형식-저장-이슈
2025-11-25 17:32:52 +09:00
kjs ef0af26147 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-25 16:05:56 +09:00
kjs a1819e749c fix: 탭 컴포넌트 menuObjid 전달, 카테고리 필터 복원, 설정 초기화 문제 해결
주요 수정사항:

1. 탭 컴포넌트 내 자식 화면에 menuObjid와 tableName 전달
   - TabsWidget에 menuObjid prop 추가
   - InteractiveScreenViewerDynamic를 통해 자식 화면에 전달
   - 채번 규칙 생성 시 올바른 메뉴 스코프 및 테이블명 적용

2. 백엔드: 화면 레이아웃 API에 tableName 추가
   - screenManagementService.getLayout()에서 테이블명 반환
   - LayoutData 타입에 tableName 필드 추가
   - 채번 규칙 생성 시 tableName 검증 강화

3. 카테고리 필터링 기능 복원
   - DataFilterConfigPanel에 menuObjid 전달
   - getCategoryValues API 사용으로 메뉴 스코프 적용
   - 새로고침 후 카테고리 값 자동 재로드
   - SplitPanelLayoutConfigPanel에 menuObjid 전달

4. 선택항목 상세입력 설정 패널 포커스 문제 해결
   - 로컬 입력 상태 추가로 실시간 속성 편집 패턴 적용
   - 텍스트 및 라벨 입력 시 포커스 유지

5. 테이블 리스트 설정 초기화 문제 해결
   - handleChange 함수에서 기존 config와 병합하여 전달
   - 다른 속성 손실 방지 (columns, dataFilter 등)

버그 수정:
- 채번 규칙 생성 시 빈 문자열 대신 null 전달
- 필터 설정 변경 시 컬럼 설정 초기화 방지
- 카테고리 컬럼 선택 시 셀렉트박스 표시
2025-11-25 15:55:05 +09:00
SeongHyun Kim 2b8a3945a1 fix: Section Paper 선택 영역과 컨텐츠 영역 정렬 문제 해결
- RealtimePreview: border → outline 전환, getHeight() 함수 추가
- SectionPaperComponent: width/height 100%, overflow-auto, min-h 제거
- 모든 높이에서 선택 영역 = 컨텐츠 영역 정확히 일치
2025-11-25 15:22:50 +09:00
SeongHyun Kim e456b4bb69 Merge remote-tracking branch 'origin/main' into ksh 2025-11-25 14:26:57 +09:00
SeongHyun Kim 5609e32daf feat: 수주관리 품목 CRUD 및 공통 필드 자동 복사 구현
- 품목 추가 시 공통 필드(거래처, 담당자, 메모) 자동 복사
- ModalRepeaterTable onChange 시 groupData 반영
- 백엔드 타입 캐스팅으로 PostgreSQL 에러 해결
- 타입 정규화로 불필요한 UPDATE 방지
- 수정 모달에서 거래처/수주번호 읽기 전용 처리
2025-11-25 14:23:54 +09:00
SeongHyun Kim aca39f23d2 Merge branch 'ksh' 2025-11-25 13:15:13 +09:00
kjs a0180d66a2 편집기 인풋 오류 수정 및 탭 컴포넌트 완성 2025-11-25 13:04:58 +09:00
SeongHyun Kim a9f57add62 feat: 수주관리 품목 추가/수정/삭제 기능 구현
- EditModal의 handleSave가 button-primary까지 전달되도록 수정
- ConditionalContainer/ConditionalSectionViewer에 onSave prop 추가
- DynamicComponentRenderer와 InteractiveScreenViewerDynamic에 onSave 전달 로직 추가
- ButtonActionExecutor에서 context.onSave 콜백 우선 실행 로직 구현
- 신규 품목 추가 시 groupByColumns 값 자동 포함 처리

기능:
- 품목 추가: order_no 자동 설정
- 품목 수정: 변경 필드만 부분 업데이트
- 품목 삭제: originalGroupData 비교 후 제거
2025-11-25 12:07:14 +09:00
kjs 5e2392c417 탭 컴포넌트 구현 2025-11-25 10:06:56 +09:00
kjs a46a2a664f Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-25 09:34:59 +09:00
kjs 9fda390c55 커밋 2025-11-25 09:34:44 +09:00
kjs 00501f359c 탭기능 중간커밋 2025-11-24 17:24:47 +09:00
SeongHyun Kim 51872de821 Merge remote-tracking branch 'origin/main' into ksh 2025-11-24 16:03:53 +09:00
leeheejin f286b6c695 리사이징 유지와 연속작성 구현 모달 살짝 늘어나는 문제 해결 2025-11-24 15:52:45 +09:00
SeongHyun Kim 2f3d5f993a fix: 수주관리 수정 저장 시 조인 컬럼 필터링 추가
- entityJoinApi 조회 데이터의 조인 컬럼(material_label 등) 필터링
- dynamicFormService.ts: 병합 모드에서 columnInfo 기반 유효 컬럼만 저장
- sales_order_mng 테이블에 존재하지 않는 컬럼 INSERT 방지
- "column does not exist" PostgreSQL 에러 해결

영향: 수주관리 그룹 편집 저장 정상 동작
2025-11-24 15:38:41 +09:00
SeongHyun Kim 3e414b8530 feat: 수주관리 그룹 편집 기능 구현
- 같은 수주번호(order_no)를 가진 품목 일괄 수정 기능 추가
- groupByColumns 개념 도입 및 EditModal 그룹 데이터 처리 로직 구현
- ConditionalSectionViewer에서 DynamicComponentRenderer 사용으로 groupedData 전달 경로 확보
- ModalRepeaterTable onChange 에러 수정 및 sourceColumns 필터링 추가
- 조인된 컬럼 제외 로직 추가로 DB 저장 오류 해결
2025-11-24 15:24:31 +09:00
kjs ddb1d4cf60 화면 좌우 맞추기 2025-11-24 12:02:23 +09:00
kjs 73cd23aee8 Merge branch 'main' into feature/screen-management 2025-11-21 16:24:21 +09:00
SeongHyun Kim 95b5e3dc7a fix(autocomplete-search-input): 필드 매핑 저장 문제 해결
- types.ts에 targetTable 필드 추가하여 config에 저장되도록 수정
- ConfigPanel에서 targetTable을 localConfig로 관리하여 설정 유지
- Renderer 단순화 (TextInput 패턴 적용)
- Component에서 직접 isInteractive 체크 및 필드 매핑 처리
- ComponentRendererProps 상속으로 필수 props 타입 안정성 확보

문제:
- ConfigPanel 설정이 초기화되는 문제
- 필드 매핑 데이터가 DB에 저장되지 않는 문제

해결:
- 정상 작동하는 TextInput 컴포넌트 패턴 분석 및 적용
- Renderer는 props만 전달, Component가 저장 로직 처리
2025-11-20 17:47:56 +09:00
kjs c51cd7bc87 fix: 컴포넌트 설정 패널 config 병합 및 props 전달 개선
- TableListConfigPanel: handleNestedChange에서 전체 config 병합 로직 추가
- TableListComponent: checkbox.enabled 및 position 기본값 처리 (undefined시 기본값 사용)
- SelectedItemsDetailInputConfigPanel: handleChange에서 전체 config 병합 로직 추가
- SelectedItemsDetailInputConfigPanel: 원본 데이터 테이블 선택 disabled 조건 제거
- UnifiedPropertiesPanel: allTables 로드 및 ConfigPanel에 전달 추가

문제:
1. table-list 컴포넌트 체크박스 설정 변경 시 다른 설정 초기화
2. selected-items-detail-input 설정 변경 시 컴포넌트 이름 등 다른 속성 손실
3. 원본 데이터 테이블 선택이 비활성화되어 있음

해결:
- 모든 설정 패널에서 부분 업데이트 시 기존 config와 병합하도록 수정
- checkbox 관련 기본값 처리로 기존 컴포넌트 호환성 보장
- allTables를 별도로 로드하여 전체 테이블 목록 제공
2025-11-20 17:31:42 +09:00
kjs 6f3bcd7b46 fix: table-list 컴포넌트 컬럼 추가 시 체크박스 등 설정 유지
- UnifiedPropertiesPanel의 handleConfigChange에서 config 병합 로직 추가
- 기존 config와 새 config를 merge하여 checkbox 등 다른 설정이 사라지지 않도록 수정
- 이전에는 부분 업데이트된 config만 전달되어 다른 속성들이 손실되는 문제 해결
2025-11-20 17:18:30 +09:00
kjs d7db8cb07a fix: TableListConfigPanel에 screenTableName 전달 누락 수정
- renderComponentConfigPanel에서 ConfigPanelComponent 호출 시 screenTableName과 tableColumns 전달 추가
- 이전 커밋(e2cc09b2)에서 renderComponentConfigPanel 로직 추가로 인한 회귀 버그 수정
- table-list 컴포넌트 설정 패널에서 컬럼 추가 기능 정상 작동
2025-11-20 17:07:12 +09:00
kjs e2cc09b2d6 feat: 검색 필터 위젯 화면별 독립 설정 및 고정 모드 추가
- 검색 필터 설정을 화면별로 독립적으로 저장하도록 개선 (screenId 포함)
- FilterPanel, TableSearchWidget, TableListComponent에 화면 ID 기반 localStorage 키 적용
- 동적 모드(사용자 설정)와 고정 모드(디자이너 설정) 2가지 필터 방식 추가
- 고정 모드에서 컬럼 드롭다운 선택 기능 구현
- 컬럼 선택 시 라벨 및 필터 타입 자동 설정
- ConfigPanel 표시 문제 해결 (type='component' 지원)
- UnifiedPropertiesPanel에서 독립 컴포넌트 ConfigPanel 조회 개선

주요 변경:
- 같은 테이블을 사용하는 다른 화면에서 필터 설정이 독립적으로 관리됨
- 고정 모드에서는 설정 버튼이 숨겨지고 지정된 필터만 표시
- 테이블 정보가 있으면 컬럼을 드롭다운으로 선택 가능
- inputType에 따라 filterType 자동 추론 (number, date, select, text)
2025-11-20 16:21:18 +09:00
kjs 45ac397417 수주등록 저장기능 2025-11-20 15:30:00 +09:00
kjs 34cd7ba9e3 feat: 수정 모드 UPSERT 기능 구현
- SelectedItemsDetailInput 컴포넌트 수정 모드 지원
- 그룹화된 데이터 UPSERT API 추가 (/api/data/upsert-grouped)
- 부모 키 기준으로 기존 레코드 조회 후 INSERT/UPDATE/DELETE
- 각 레코드의 모든 필드 조합을 고유 키로 사용
- created_date 보존 (UPDATE 시)
- 수정 모드에서 groupByColumns 기준으로 관련 레코드 조회
- 날짜 타입 ISO 형식 자동 감지 및 포맷팅 (YYYY.MM.DD)

주요 변경사항:
- backend: dataService.upsertGroupedRecords() 메서드 구현
- backend: dataRoutes POST /api/data/upsert-grouped 엔드포인트 추가
- frontend: ScreenModal에서 groupByColumns 파라미터 전달
- frontend: SelectedItemsDetailInput 수정 모드 로직 추가
- frontend: 날짜 필드 타임존 제거 및 포맷팅 개선
2025-11-20 10:23:54 +09:00