feat: 배치 관리 시스템 구현

 주요 기능:
- 배치 설정 관리 (생성/수정/삭제/실행)
- 배치 실행 로그 관리 및 모니터링
- 배치 스케줄러 자동 실행 (cron 기반)
- 외부 DB 연결을 통한 데이터 동기화
- Oracle, MSSQL, MariaDB 커넥터 지원

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

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

🛡️ 안전성:
- 기존 시스템과 독립적 구현
- 트랜잭션 기반 안전한 데이터 처리
- 에러 핸들링 및 로깅 강화
This commit is contained in:
2025-09-25 11:04:16 +09:00
parent 4abf5b31c0
commit 949aab0b73
33 changed files with 8549 additions and 961 deletions

View File

@@ -0,0 +1,46 @@
// 배치 실행 로그 라우트
// 작성일: 2024-12-24
import { Router } from "express";
import { BatchExecutionLogController } from "../controllers/batchExecutionLogController";
import { authenticateToken } from "../middleware/authMiddleware";
const router = Router();
/**
* GET /api/batch-execution-logs
* 배치 실행 로그 목록 조회
*/
router.get("/", authenticateToken, BatchExecutionLogController.getExecutionLogs);
/**
* POST /api/batch-execution-logs
* 배치 실행 로그 생성
*/
router.post("/", authenticateToken, BatchExecutionLogController.createExecutionLog);
/**
* PUT /api/batch-execution-logs/:id
* 배치 실행 로그 업데이트
*/
router.put("/:id", authenticateToken, BatchExecutionLogController.updateExecutionLog);
/**
* DELETE /api/batch-execution-logs/:id
* 배치 실행 로그 삭제
*/
router.delete("/:id", authenticateToken, BatchExecutionLogController.deleteExecutionLog);
/**
* GET /api/batch-execution-logs/latest/:batchConfigId
* 특정 배치의 최신 실행 로그 조회
*/
router.get("/latest/:batchConfigId", authenticateToken, BatchExecutionLogController.getLatestExecutionLog);
/**
* GET /api/batch-execution-logs/stats
* 배치 실행 통계 조회
*/
router.get("/stats", authenticateToken, BatchExecutionLogController.getExecutionStats);
export default router;