Commit Graph

464 Commits

Author SHA1 Message Date
kjs d3e62912e7 Merge branch 'gbpark-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-16 10:39:52 +09:00
kmh 8c12caf936 chore: update .gitignore and remove unused images
- Added support for ignoring PNG files in .gitignore to streamline file management.
- Deleted unused image files from the .playwright-mcp directory to reduce clutter and improve project organization.
- Enhanced column visibility handling in TableListComponent to include width adjustments and localStorage synchronization for better user experience.

Made-with: Cursor
2026-03-16 09:26:04 +09:00
DDD1542 6395f4d032 Implement Card Pulse Animation and UI Enhancements
- Added a new pulse animation for screen cards to enhance visual feedback.
- Updated the background of the screen management list for improved aesthetics.
- Refined the search input styling for better integration with the overall UI.
- Enhanced screen card hover effects with dynamic glow based on screen type.
- Adjusted layout spacing for a more consistent user experience.

Made-with: Cursor
2026-03-16 09:17:59 +09:00
DDD1542 cbd47184e7 Enhance Screen Management UI
- Updated the search input to include a clear button for easier user interaction.
- Improved the layout with a muted background for better visibility.
- Enhanced screen card display with dynamic type color and glow effects based on screen type.
- Adjusted text colors for better contrast and readability in dark mode.
- Refined connection indicators and button styles for improved UX.

Made-with: Cursor
2026-03-16 09:17:52 +09:00
DDD1542 fe3c6d3bce [agent-pipeline] rollback to 232650bc 2026-03-15 22:29:56 +09:00
DDD1542 015706b95a [agent-pipeline] pipe-20260315131310-l8kw round-2 2026-03-15 22:29:56 +09:00
DDD1542 558acd1f9b [agent-pipeline] pipe-20260315110231-zn60 round-1 2026-03-15 20:09:41 +09:00
DDD1542 c0be2f3528 feat: 접는 사이드바 구현 (v5 파이프라인 후속)
- sidebarCollapsed 상태 + 조건부 렌더링
- PanelLeftOpen/PanelLeftClose 아이콘 토글
- collapsed 시 아이콘 컬럼 표시

Made-with: Cursor
2026-03-15 19:57:17 +09:00
DDD1542 beb95bf2aa [agent-pipeline] pipe-20260315091327-kxyf round-4 2026-03-15 18:57:12 +09:00
DDD1542 2cb736dac1 [agent-pipeline] pipe-20260315091327-kxyf round-3 2026-03-15 18:46:28 +09:00
DDD1542 ffc7cb7933 [agent-pipeline] rollback to 784dc73a 2026-03-15 18:31:12 +09:00
DDD1542 d542e92021 [agent-pipeline] pipe-20260315091327-kxyf round-2 2026-03-15 18:31:12 +09:00
DDD1542 784dc73abf [agent-pipeline] pipe-20260315091327-kxyf round-1 2026-03-15 18:22:20 +09:00
DDD1542 f711506671 [agent-pipeline] pipe-20260315080636-1tpd round-1 2026-03-15 17:10:04 +09:00
DDD1542 0ac9db45a0 [agent-pipeline] pipe-20260315072335-zb1m round-3 2026-03-15 16:32:53 +09:00
DDD1542 bafc81b2a3 [agent-pipeline] pipe-20260315072335-zb1m round-2 2026-03-15 16:30:14 +09:00
DDD1542 265d79cc5a [agent-pipeline] pipe-20260315065015-rei8 round-5 2026-03-15 16:07:43 +09:00
DDD1542 bad3a002f3 [agent-pipeline] rollback to b1afe1bc 2026-03-15 16:05:07 +09:00
DDD1542 0db57fe01a [agent-pipeline] pipe-20260315065015-rei8 round-4 2026-03-15 16:05:06 +09:00
DDD1542 ea6aa6921c [agent-pipeline] rollback to f375252d 2026-03-15 15:36:53 +09:00
DDD1542 e963129e63 [agent-pipeline] pipe-20260315061036-2tnn round-6 2026-03-15 15:36:53 +09:00
kjs cada8cd4b0 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-12 14:23:34 +09:00
SeongHyun Kim 55063367ea Merge branch 'ksh-v2-work' into main
ksh-v2-work의 POP 화면 디자이너 기능을 main에 병합한다.
[병합 내용]
- pop-card-list-v2: 슬롯 기반 CSS Grid 카드 컴포넌트 (12종 셀 타입)
- pop-status-bar: 독립 상태 칩 컴포넌트 (카운트 순환 문제 해결)
- pop-scanner: 바코드/QR 스캐너 + 멀티필드 파싱
- pop-profile: 사용자 프로필/PC전환/로그아웃 컴포넌트
- pop-button: 설정 패널 UX 전면 개선 + 제어 실행 기능
- pop-search: 날짜 입력 타입 + 연결 탭 일관성 통합
- POP 모드 네비게이션: PC <-> POP 양방향 전환 + 로그인 POP 모드 토글
- 타임라인 범용화 + 상태 값 매핑 동적 배열 전환
- 다중 액션 체이닝 + 외부 테이블 선택 + 카드 클릭 모달
[충돌 해결 4건]
- authController.ts: 양쪽 통합 (스마트공장 로그 + POP 랜딩 경로)
- AppLayout.tsx: 양쪽 통합 (메뉴 드래그 + POP 모드 메뉴, 리디자인 UI + POP 모드 항목)
- ConnectionEditor.tsx: ksh-v2-work 선택 (하위 테이블 필터 구조) + CSS 변수 적용
- pop-button.tsx: ksh-v2-work 선택 (자연어 UX + 제어 실행) + CSS 변수 스타일 유지
2026-03-12 09:00:52 +09:00
kjs b1e50f2e0a feat: enhance audit logging and add company name to audit entries
- Integrated detailed audit logging for update and delete actions in the CommonCodeController and DDLController.
- Added company name retrieval to the audit log entries for better traceability.
- Updated the audit log service to include company name in the log entries.
- Modified the frontend audit log page to display company names alongside company codes for improved clarity.

Made-with: Cursor
2026-03-12 05:14:27 +09:00
kmh 270687f405 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-12 02:13:50 +09:00
kjs fd90e3d761 feat: add audit logging for node flow operations
- Integrated audit logging for create, update, and delete actions in the node flows API.
- Enhanced the logging service to capture relevant details such as user information, action type, resource details, and IP address.
- Updated the audit log service to include NODE_FLOW as a resource type.
- Improved the overall traceability of node flow changes within the system.

Made-with: Cursor
2026-03-12 02:13:15 +09:00
kmh 1e582fb971 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-12 02:03:13 +09:00
kjs 5c6469c75c refactor: simplify node editor page and update admin page registry
- Removed the redirect logic from the NodeEditorPage, now directly rendering the DataFlowPage component.
- Updated the AdminPageRenderer to correctly register the new node editor page and adjust the cascading management imports for consistency.
- Enhanced the dynamic import logic to streamline page loading and improve performance.

Made-with: Cursor
2026-03-12 02:02:45 +09:00
syc0123 65026f14e4 docs: Add documentation for category dropdown depth separation
- Introduced new documents detailing the implementation of visual separation for three-level category dropdowns.
- Updated the `flattenTree` function in both `V2Select.tsx` and `UnifiedSelect.tsx` to use Non-Breaking Space (`\u00A0`) for indentation, ensuring proper visual hierarchy.
- Included a checklist to track the implementation progress and verification of the changes.
- Documented the rationale behind the changes, including the issues with HTML whitespace collapsing and the decisions made to enhance user experience.

These updates aim to improve the clarity and usability of the category selection interface in the application.
2026-03-11 15:53:01 +09:00
kjs 5a8c6df550 Merge branch 'gbpark-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-11 12:23:52 +09:00
DDD1542 f3bbe4af7f [agent-pipeline] pipe-20260310142919-l9ae round-2 2026-03-11 00:12:03 +09:00
DDD1542 53ac875915 [agent-pipeline] pipe-20260310142919-l9ae round-1 2026-03-10 23:51:42 +09:00
DDD1542 58e958829c feat: update color handling for dark mode compatibility
- Updated various components to utilize `getAdaptiveLabelColor` for dynamic label color adjustments based on the current theme.
- Enhanced dark mode styles in `globals.css` for better visual consistency across components.

Made-with: Cursor
2026-03-10 21:16:01 +09:00
DDD1542 fa6f76bff1 feat: add next-themes package and update styles
- Added `next-themes` package for theme management.
- Updated various components to use `hsl(var(--foreground))` for color consistency.
- Changed background colors from `bg-white` to `bg-card` in multiple components for better theming support.

Made-with: Cursor
2026-03-10 15:24:05 +09:00
kjs 7ff76741af Merge branch 'ycshin-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-10 14:52:33 +09:00
DDD1542 42673f57a0 [agent-pipeline] pipe-20260310020928-52l9 round-3 2026-03-10 11:27:48 +09:00
DDD1542 d692a3b22f [agent-pipeline] pipe-20260310020928-52l9 round-2 2026-03-10 11:22:37 +09:00
DDD1542 515d5da8cd [agent-pipeline] pipe-20260310020928-52l9 round-1 2026-03-10 11:17:23 +09:00
DDD1542 b6ec4a4904 feat: 배치 관리 페이지 및 API 개선
- 배치 작업 타입 조회 API 추가 및 오류 처리 개선
- 배치 관리 페이지에서 작업 타입을 객체 형태로 변환하여 설정
- 성공률 계산 로직에서 null 체크 추가
- 누적 실행 횟수, 총 성공 횟수, 총 실패 횟수 계산 시 null 체크 추가

Made-with: Cursor
2026-03-10 03:09:28 +09:00
DDD1542 c120492378 [agent-pipeline] pipe-20260309122600-xzeg round-1 2026-03-09 22:07:11 +09:00
DDD1542 159e7768bb [agent-pipeline] pipe-20260309112447-f5iu round-3 2026-03-09 21:04:33 +09:00
DDD1542 e41df3b922 [agent-pipeline] pipe-20260309112447-f5iu round-2 2026-03-09 20:56:39 +09:00
DDD1542 197ddf47cf [agent-pipeline] pipe-20260309055714-23ry round-1 2026-03-09 15:51:42 +09:00
SeongHyun Kim 712f81f6cb Merge branch 'ksh-function-stabilization' into ksh-v2-work
ksh-function-stabilization의 9개 커밋을 ksh-v2-work에 병합한다.
[병합 내용]
- BLOCK O: pop-search 연결 탭 일관성 통합
- BLOCK P: 날짜 입력 타입 구현 + 셀 반응형 레이아웃
- pop-button 설정 패널 UX/UI 전면 개선
- 일괄 채번 + 모달 distinct + 선택 해제
- pop-scanner 바코드/QR 스캐너 컴포넌트
- pop-button 제어 실행 + 연결 데이터 UX
- BLOCK R: PC <-> POP 네비게이션 + Landing
- pop-profile 컴포넌트 (10번째 POP 컴포넌트)
- BLOCK S: 로그인 POP 모드 토글
[충돌 해결 3건 - 모두 양쪽 통합]
- UserDropdown.tsx: HEAD 결재함 + source POP 모드 메뉴 통합
- AppLayout.tsx: HEAD 결재함 + source POP 모드 메뉴 (모바일+사이드바 2곳)
- MenuFormModal.tsx: HEAD menuIcon 필드 + source 주석 제거 통합
2026-03-09 15:36:53 +09:00
SeongHyun Kim 48e9ece4f7 feat(login): POP 모드 토글 추가 - 로그인 시 POP/PC 진입 선택
로그인 폼에 POP 모드 Switch 토글을 추가하여 현장 작업자가
로그인 시점에서 POP 화면으로 직접 진입할 수 있도록 한다.
토글 상태는 localStorage에 저장되어 다음 로그인 시 유지된다.
[백엔드]
- 로그인 응답에 popLandingPath 추가 (getPopMenuList 재사용)
- AdminService/paramMap 변수 스코프 버그 수정
  (try 블록 내부 선언 -> 외부로 이동)
[프론트엔드]
- useLogin: isPopMode 상태 + localStorage 연동 + POP 분기 라우팅
- LoginForm: POP 모드 Switch 토글 UI (Monitor 아이콘)
- POP 미설정 시 에러 메시지 표시 후 로그인 중단
- LoginResponse 타입에 popLandingPath 필드 추가
2026-03-09 15:15:15 +09:00
DDD1542 4f10b5e42d refactor: 전체 프론트엔드 하드코딩 색상 → CSS 변수 일괄 치환
447+ 파일, 4500+ 줄 변경:
- gray-* → border/bg-muted/text-foreground/text-muted-foreground
- blue-* → primary/ring
- red-* → destructive
- green-* → emerald (일관성)
- indigo-* → primary
- yellow/orange → amber (통일)
- dark mode 변형도 시맨틱 토큰으로 변환

Made-with: Cursor
2026-03-09 14:31:59 +09:00
kjs 2b4b7819c5 feat: Add Numbering Rule APIs and Frontend Integration
- Implemented a new API endpoint to retrieve numbering rules based on table and column names, enhancing the flexibility of numbering rule management.
- Added a new service method to handle the retrieval of numbering columns specific to a company, ensuring proper company code filtering.
- Updated the frontend to load and display numbering columns, allowing users to select and manage numbering rules effectively.
- Refactored existing logic to improve the handling of numbering rules, including fallback mechanisms for legacy data.

These changes enhance the functionality and user experience in managing numbering rules within the application.
2026-03-09 14:10:08 +09:00
DDD1542 707d0c6f43 fix: main/page.tsx도 동일한 리디자인 적용 (로그인 후 리다이렉트 대상)
Made-with: Cursor
2026-03-09 13:51:32 +09:00
DDD1542 dde073720a UI 전면 리디자인: Vivid Blue 모던 SaaS 스타일 전환
- globals.css: primary를 dark navy(11.2%)에서 vivid blue(#3B82F6)로 전환
- button.tsx: default variant를 진짜 CTA(bg-primary)로 변경
- login: AI 패턴 제거 (장식원, backdrop-blur, 무의미한 그라데이션)
- dashboard: 그라데이션 배너 → 간결한 헤더, 카드별 고유 색상
- sidebar: 활성메뉴 좌측 인디케이터바, bg-primary/10 남용 제거

Made-with: Cursor
2026-03-09 13:43:27 +09:00
SeongHyun Kim 3933f1e966 feat(pop): PC <-> POP 모드 전환 네비게이션 + POP 기본 화면(Landing) 기능
PC 모드에서 프로필 드롭다운을 통해 POP 화면으로 진입하고, POP에서 PC로
돌아오는 양방향 네비게이션을 구현한다. 기존 메뉴 시스템(menu_info)을 활용하여
POP 화면의 권한 제어와 회사별 관리가 가능하도록 한다.
[백엔드: POP 메뉴 조회 API]
- AdminService.getPopMenuList: L1 POP 메뉴(menu_desc [POP] 또는
  menu_name_kor POP 포함) 하위의 active L2 메뉴 조회
- company_code 필터링 적용 (L1 + L2 모두)
- landingMenu 반환: menu_desc에 [POP_LANDING] 태그가 있는 메뉴
- GET /admin/pop-menus 라우트 추가
[프론트: PC -> POP 진입]
- AppLayout: handlePopModeClick 함수 추가
  - landingMenu 있으면 해당 URL로 바로 이동
  - 없으면 childMenus 수에 따라 단일 화면/대시보드/안내 분기
- UserDropdown: onPopModeClick prop + "POP 모드" 메뉴 항목 추가
- 사이드바 하단 + 모바일 헤더 프로필 드롭다운 2곳 모두 적용
[프론트: POP -> PC 복귀]
- DashboardHeader: "PC 모드" 버튼 추가 (router.push "/")
- POP 개별 화면 page.tsx: 상단 네비게이션 바 추가
  (POP 대시보드 / PC 모드 버튼)
[프론트: POP 대시보드 동적 메뉴]
- PopDashboard: 하드코딩 MENU_ITEMS -> menuApi.getPopMenus() API 조회
- API 실패 시 하드코딩 fallback 유지
[프론트: POP 기본 화면 설정 (MenuFormModal)]
- L2 POP 화면 수정 시 "POP 기본 화면으로 설정" 체크박스 추가
- 체크 시 menu_desc에 [POP_LANDING] 태그 자동 추가/제거
- 회사당 1개만 설정 가능 (다른 메뉴에 이미 설정 시 비활성화)
[API 타입]
- PopMenuItem, PopMenuResponse(landingMenu 포함) 인터페이스 추가
- menuApi.getPopMenus() 함수 추가
2026-03-09 12:16:26 +09:00