/**
 * 생산계획 라우트
 */

import { Router } from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import * as productionController from "../controllers/productionController";

const router = Router();

router.use(authenticateToken);

// 수주 데이터 조회 (품목별 그룹핑)
router.get("/order-summary", productionController.getOrderSummary);

// 안전재고 부족분 조회
router.get("/stock-shortage", productionController.getStockShortage);

// 생산계획 CRUD
router.get("/plan/:id", productionController.getPlanById);
router.put("/plan/:id", productionController.updatePlan);
router.delete("/plan/:id", productionController.deletePlan);

// 자동 스케줄 미리보기 (실제 변경 없이 예상 결과)
router.post("/generate-schedule/preview", productionController.previewSchedule);

// 자동 스케줄 생성
router.post("/generate-schedule", productionController.generateSchedule);

// 스케줄 병합
router.post("/merge-schedules", productionController.mergeSchedules);

// 반제품 계획 미리보기
router.post("/generate-semi-schedule/preview", productionController.previewSemiSchedule);

// 반제품 계획 자동 생성
router.post("/generate-semi-schedule", productionController.generateSemiSchedule);

// 스케줄 분할
router.post("/plan/:id/split", productionController.splitSchedule);

export default router;
