34 Commits

Author SHA1 Message Date
chpark 6a1b79dc81 feat(file-reader): CSV/TXT/Excel 파일 데이터 소스 — UI 업로드 + 폴더 감시 + 매핑 + 적재
Build and Push Images / build-and-push (push) Has been cancelled
- 신규 테이블 file_reader_configs / file_reader_mappings / file_reader_history (마이그레이션 313)
- 파서: csv-parse + xlsx 라이브러리 추가, CSV/TSV/TXT/XLSX 통합 파서 (parsers.ts)
- 서비스: 파일→매핑→타겟 DB INSERT/UPSERT/REPLACE, 호스트 경로 허용 루트 검증
- 스케줄러: source_mode='watch' 설정마다 node-cron 등록, 1분 주기 reload
- 라우트: /api/file-reader/configs CRUD + preview + run-upload + run-watch + history
- 프론트: 데이터 소스 페이지 "파일 리더" 탭 placeholder → FileReaderConnectionList 컴포넌트
- FileReaderConnectionModal: 기본/파싱/타겟/매핑 통합 폼 + 샘플 업로드 미리보기
- 환경변수 FILE_READER_ALLOWED_ROOTS (콤마 구분, 기본 /home/wace/file-imports,/mnt)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 15:38:10 +09:00
chpark 4c1dc4082e feat: Fleet/Collector/엣지 배포 관련 누적 작업 일괄 커밋
Build and Push Images / build-and-push (push) Has been cancelled
이전 세션들에서 작업된 아래 범위를 모두 포함:

Fleet 서브시스템 (src/fleet/)
- fleetDeviceService / fleetCommandService / fleetDeploymentService / fleetReleaseService
- fleetMetricsService, fleetScriptService, fleetEdgeConfigService
- Edge 디바이스 관리, 커맨드 발행, 배포/릴리스, 스크립트 동기화

Collector 확장
- centralMqttForwarder / centralForwarderConfigService
- equipmentStateService, pythonHookRunner, scriptCache
- Modbus/OPC-UA/S7/XGT 프로토콜 클라이언트
- targetDbIntrospection (저장 DB 조회)

Routes / API
- automationDashboardRoutes, centralForwarderRoutes, equipmentStateRoutes

DB
- importEdgeConfig (Python cached config → Pipeline DB)
- seedDataSources (external_db_connections 초기 시드)

엣지 배포 리소스
- docker/edge/Dockerfile.backend.prod, Dockerfile.frontend.prod
- docker/edge/docker-compose.edge.yml

프론트엔드
- admin/automaticMng (centralForwarder, dashboard, equipmentState)
- admin/fleet (commands, devices, deployments, releases, scripts, alerts)
- admin/pipeline-device 개선 (저장 DB 드롭다운, 태그 매핑 등)
- ExternalDbConnectionModal, ScriptsManagerDialog 등 신규 컴포넌트
- lib/api: automationDashboard, centralForwarder, equipmentState, fleet

docs/
- EDGE_SERVER_STRUCTURE, FLEET_COMPLETE, FLEET_EDGE_INTEGRATION, FLEET_HOOK_INTEGRATION

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 20:00:06 +09:00
SeongHyun Kim b497db9987 chore: Playwright 의존성 제거 + jskim-node에서 inspection 관리 페이지 cherry-pick
- playwright, @playwright/test 제거 (cmux browser만 사용)
- inspection page.tsx: 판단기준(judgment_criteria) Select UI 포함 버전으로 업데이트
2026-04-07 12:10:56 +09:00
syc0123 f558073ef8 [RAPID] feat: 메신저 기능 구현 (Socket.IO 실시간 채팅)
- DB: messenger_rooms/participants/messages/reactions/files 테이블 생성
- Backend: REST API 9개 엔드포인트 + Socket.IO 실시간 핸들러
- Frontend: Gmail 스타일 FAB + 모달, 채팅방 목록, 채팅 패널
- 기능: DM/그룹/채널, 파일 첨부, 이모지 리액션, 멘션, 스레드
- 알림: 토스트 on/off 토글, FAB 읽지 않은 배지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

[RAPID-fix] 메신저 API snake_case→camelCase 변환 및 Socket.IO URL 수정

- useRooms/useMessages/useCompanyUsers 훅에서 DB 응답 camelCase 변환
- Socket.IO 기본 연결 URL 3001 → 8080 수정
- runMigration.ts 마이그레이션 파일 경로 수정 (../../ → ../../../)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

[RAPID-fix] 방 생성 API camelCase/snake_case 호환 처리

- createRoom 컨트롤러에서 participantIds/type/name (camelCase) fallback 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

[RAPID-fix] 메시지 전송 API 추가 (sendMessage 라우트/컨트롤러 누락)

- POST /api/messenger/rooms/:roomId/messages 라우트 등록
- MessengerController.sendMessage 메서드 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 12:20:40 +09:00
syc0123 4c42cc7b53 feat: 사용자 메일 관리 IMAP 구현
- IMAP 계정 등록/수정/삭제/연결테스트
- SSE 스트리밍으로 메일 목록 로드 (폴더별 지원)
- 메일 상세 조회, 읽음 처리, 삭제(휴지통 이동), 폴더 이동
- 첨부파일 다운로드 (ReadableStream 진행바)
- SMTP 발송, 답장, 전달
- imapConnectionPool, mailCache 서비스
- encryptionService Node 22+ 호환 수정
- authMiddleware query token 지원 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:17:20 +09:00
kjs 5da134f016 feat: add web crawling management functionality
- Introduced a new crawling management feature allowing users to configure, execute, and log web crawls.
- Added CRUD operations for crawl configurations, including URL analysis and preview capabilities.
- Implemented a new service for handling crawling logic and scheduling tasks.
- Integrated cheerio for HTML parsing and axios for HTTP requests.
- Created a sample HTML page for testing crawling functionality.

This commit enhances the application's data collection capabilities from external websites.
2026-03-26 16:30:53 +09:00
chpark bfd97c9717 바코드 업데이트 및 AI LLm 적용용 2026-03-05 19:08:08 +09:00
DDD1542 4294e6206b feat: Add express-async-errors for improved error handling
- Integrated express-async-errors to automatically handle errors in async route handlers, enhancing the overall error management in the application.
- Updated app.ts to include the express-async-errors import for global error handling.
- Removed redundant logging statements in admin and user menu retrieval functions to streamline the code and improve readability.
- Adjusted logging levels from info to debug for less critical logs, ensuring that important information is logged appropriately without cluttering the logs.
2026-02-12 11:42:52 +09:00
leeheejin 222a00b8a9 그리드랑 노드에서 delete 가 where 입력했는데도 저장이 안되던 오류 해결 2026-01-09 11:51:35 +09:00
dohyeons ea01309158 리포트 디자이너에 바코드/QR코드 컴포넌트 추가 2025-12-19 17:59:54 +09:00
dohyeons 2e122b0703 Word 변환 WYSIWYG 개선 - 위치/크기/줄바꿈/가로배치 지원 2025-12-17 16:11:52 +09:00
leeheejin 479b0ba3ed ui 고치기 전 세이브 2025-10-22 16:06:04 +09:00
dohyeons 593983d6ee rest api 기능 구현 2025-10-15 10:02:32 +09:00
leeheejin 51dea84bc5 Merge branch 'lhj' 2025-10-13 15:19:59 +09:00
dohyeons d1b2e6c010 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-13 15:08:43 +09:00
kjs 1274f58c3c rest api 액션노드 기능변경 2025-10-13 12:00:41 +09:00
leeheejin b4c5be1f17 메일관리 콘솔로그 주석처리 세이브 2025-10-02 18:22:58 +09:00
dohyeons a219878288 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-02 15:41:01 +09:00
leeheejin 4202a5b310 Merge branch 'main' into lhj - 충돌 해결 2025-10-01 18:01:20 +09:00
leeheejin 6d1fe625e4 메일관리 시스템 구현 완료 2025-10-01 17:01:31 +09:00
leeheejin 0209be8fd6 메일 관리 작업 저장용 커밋 2025-10-01 16:15:53 +09:00
dohyeons 771dc8cf56 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-01 15:36:56 +09:00
kjs 808a0244d5 fix: @types/uuid 패키지 추가
문제:
- uuid 모듈의 타입 정의 파일 없음
- TypeScript 컴파일 에러 발생

해결:
- npm install --save-dev @types/uuid
- @types/uuid@10.0.0 설치

결과:
-  TypeScript 컴파일 에러 해결
-  uuid 모듈 타입 안전성 확보
2025-10-01 15:08:37 +09:00
kjs 643f6e0d7d chore: Prisma 관련 파일 완전 제거 🧹
제거된 파일들:

1. 컴파일된 파일:
   - backend-node/dist/config/database.js

2. 테스트 파일 (3개):
   - backend-node/src/tests/database.test.ts
   - backend-node/src/tests/authService.test.ts
   - backend-node/src/tests/integration/auth.integration.test.ts

3. Prisma 관련 스크립트 (10개):
   - test-db.js, check-password.js, check-actual-password.js
   - update-password.js, create-test-user.js, simple-test-user.js
   - clean-screen-tables.js, test-jwt.js, test-token.js
   - test-token.txt

4. Prisma 디렉토리:
   - backend-node/prisma/schema.prisma
   - backend-node/prisma/migrations/

수정된 파일들:

1. backend-node/package.json:
    Prisma 스크립트 제거 (prisma:generate, migrate, studio, seed)
    @prisma/client 의존성 제거
    prisma 개발 의존성 제거
    keywords: prisma → postgresql

2. .gitignore:
    Prisma 관련 항목 제거

3. src/services/dataflowDiagramService.ts:
    포맷팅 수정

최종 상태:
-  Prisma 호출: 0개
-  Prisma 관련 파일: 0개
-  Raw Query 기반 시스템으로 완전 전환
2025-10-01 14:54:44 +09:00
dohyeons 213f482a6f uuid install 2025-10-01 11:33:55 +09:00
kjs 824e5f4827 feat: Complete Phase 1.5 - AuthService Raw Query migration
Phase 1.5 완료: 인증 서비스 Raw Query 전환 및 테스트 완료

 AuthService 전환 완료 (5개 Prisma 호출 제거):
- loginPwdCheck(): Raw Query로 사용자 비밀번호 조회
- insertLoginAccessLog(): Raw Query로 로그인 로그 기록
- getUserInfo(): Raw Query로 사용자/권한/회사 정보 조회
  - authority_sub_user ↔ authority_master JOIN (master_objid ↔ objid)
  - 3개 쿼리로 분리 (사용자, 권한, 회사)
- processLogin(): 전체 로그인 플로우 통합
- processLogout(): 로그아웃 로그 기록

🧪 테스트 완료:
- 단위 테스트: 30개 테스트 모두 통과 
  - 로그인 검증 (6개)
  - 사용자 정보 조회 (5개)
  - 로그인 로그 기록 (4개)
  - 전체 로그인 프로세스 (5개)
  - 로그아웃 (2개)
  - 토큰 검증 (3개)
  - Raw Query 전환 검증 (3개)
  - 성능 테스트 (2개)
- 통합 테스트: 작성 완료 (auth.integration.test.ts)
  - 로그인 → 토큰 발급 → 인증 → 로그아웃 플로우

🔧 주요 변경사항:
- Prisma import 제거 → Raw Query (query from db.ts)
- authority 테이블 JOIN 수정 (auth_code → master_objid/objid)
- 파라미터 바인딩으로 SQL Injection 방지
- 타입 안전성 유지 (TypeScript Generic 사용)

📊 성능:
- 로그인 프로세스: < 1초
- 사용자 정보 조회: < 500ms
- 모든 테스트 실행 시간: 2.016초

🎯 다음 단계:
- Phase 2: 핵심 서비스 전환 (ScreenManagement, TableManagement 등)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 15:59:32 +09:00
hjjeong 949aab0b73 feat: 배치 관리 시스템 구현
 주요 기능:
- 배치 설정 관리 (생성/수정/삭제/실행)
- 배치 실행 로그 관리 및 모니터링
- 배치 스케줄러 자동 실행 (cron 기반)
- 외부 DB 연결을 통한 데이터 동기화
- Oracle, MSSQL, MariaDB 커넥터 지원

🔧 백엔드 구현:
- BatchManagementController: 배치 설정 CRUD
- BatchExecutionLogController: 실행 로그 관리
- BatchSchedulerService: 자동 스케줄링
- BatchExternalDbService: 외부 DB 연동
- 배치 관련 테이블 스키마 추가

🎨 프론트엔드 구현:
- 배치 관리 대시보드 UI
- 배치 생성/수정 폼
- 실행 로그 모니터링 화면
- 수동 실행 및 상태 관리

🛡️ 안전성:
- 기존 시스템과 독립적 구현
- 트랜잭션 기반 안전한 데이터 처리
- 에러 핸들링 및 로깅 강화
2025-09-25 11:04:16 +09:00
hjjeong 4abf5b31c0 배치관리 중간커밋 2025-09-24 10:46:55 +09:00
leeheejin f160a33b94 스크롤 기능 포함 2025-09-23 10:45:53 +09:00
leeheejin 1ae16bb690 feature connection 2025-09-22 17:28:31 +09:00
kjs 2d07041110 라벨명 표시기능 2025-09-08 14:20:01 +09:00
kjs 53a44b901d 파일 업로드,다운로드 기능 2025-09-05 12:04:13 +09:00
kjs 8667cb4780 회사관리, 메뉴관리 수정,삭제 기능 2025-08-25 11:07:39 +09:00
kjs a0e5b57a24 최초커밋 2025-08-21 09:41:46 +09:00