Files
tk-factory-services/tkpurchase/api/routes/scheduleRoutes.js
Hyungi Ahn 0211889636 feat(tkpurchase): 협력업체 작업 신청 기능 추가
협력업체 포탈에서 오늘 일정이 없을 때 직접 작업을 신청할 수 있는 기능.
구매팀이 승인하면 일정이 생성되고, 반려 시 재신청 가능.

- DB: status ENUM에 requested/rejected 추가, requested_by 컬럼 추가
- API: POST /schedules/request, PUT /:id/approve, PUT /:id/reject
- 포탈: 신청 폼 + 승인 대기/반려 상태 카드
- 관리자: 신청 배지 + 승인 모달 (프로젝트 배정, 작업장 보정)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:40:20 +09:00

20 lines
909 B
JavaScript

const express = require('express');
const router = express.Router();
const { requireAuth, requirePage } = require('../middleware/auth');
const ctrl = require('../controllers/scheduleController');
router.use(requireAuth);
router.get('/', ctrl.list);
router.get('/my', ctrl.mySchedules); // partner portal
router.get('/:id', ctrl.getById);
router.post('/', requirePage('purchasing_schedule'), ctrl.create);
router.post('/request', ctrl.requestSchedule); // 협력업체 작업 신청
router.put('/:id', requirePage('purchasing_schedule'), ctrl.update);
router.put('/:id/status', requirePage('purchasing_schedule'), ctrl.updateStatus);
router.put('/:id/approve', requirePage('purchasing_schedule'), ctrl.approveRequest);
router.put('/:id/reject', requirePage('purchasing_schedule'), ctrl.rejectRequest);
router.delete('/:id', requirePage('purchasing_schedule'), ctrl.deleteSchedule);
module.exports = router;