feat: Implement smart factory schedule management functionality

- Added new API endpoints for managing smart factory schedules, including retrieval, creation, updating, and deletion of schedules.
- Integrated schedule management into the smart factory log controller, enhancing the overall functionality.
- Implemented a scheduler initialization process to automate daily plan generation and scheduled sends.
- Developed a frontend page for monitoring equipment, production, and quality, with real-time data fetching and auto-refresh capabilities.

These changes aim to provide comprehensive scheduling capabilities for smart factory operations, improving efficiency and operational visibility for users.
This commit is contained in:
kjs
2026-04-07 14:16:26 +09:00
parent 9aa8ca136b
commit c3e973bb1a
13 changed files with 3222 additions and 389 deletions

View File

@@ -35,6 +35,17 @@ import {
import {
getSmartFactoryLogs,
getSmartFactoryLogStats,
getSchedules,
upsertSchedule,
deleteSchedule,
runScheduleNowHandler,
getTodayPlanHandler,
getHolidays,
addHoliday,
deleteHoliday,
getApiKeys,
saveApiKey,
deleteApiKey,
} from "../controllers/smartFactoryLogController";
import { authenticateToken } from "../middleware/authMiddleware";
import { requireSuperAdmin } from "../middleware/permissionMiddleware";
@@ -92,4 +103,21 @@ router.get("/tables/:tableName/schema", getTableSchema);
router.get("/smart-factory-log", requireSuperAdmin, getSmartFactoryLogs);
router.get("/smart-factory-log/stats", requireSuperAdmin, getSmartFactoryLogStats);
// 스마트공장 스케줄 관리 (최고관리자 전용)
router.get("/smart-factory-log/schedules", requireSuperAdmin, getSchedules);
router.get("/smart-factory-log/schedules/today-plan", requireSuperAdmin, getTodayPlanHandler);
router.post("/smart-factory-log/schedules", requireSuperAdmin, upsertSchedule);
router.delete("/smart-factory-log/schedules/:companyCode", requireSuperAdmin, deleteSchedule);
router.post("/smart-factory-log/schedules/:companyCode/run-now", requireSuperAdmin, runScheduleNowHandler);
// 스마트공장 공휴일 관리 (최고관리자 전용)
router.get("/smart-factory-log/holidays", requireSuperAdmin, getHolidays);
router.post("/smart-factory-log/holidays", requireSuperAdmin, addHoliday);
router.delete("/smart-factory-log/holidays/:id", requireSuperAdmin, deleteHoliday);
// 스마트공장 API 키 관리 (최고관리자 전용)
router.get("/smart-factory-log/api-keys", requireSuperAdmin, getApiKeys);
router.post("/smart-factory-log/api-keys", requireSuperAdmin, saveApiKey);
router.delete("/smart-factory-log/api-keys/:companyCode", requireSuperAdmin, deleteApiKey);
export default router;