feat(tkfb): 공정표 + 생산회의록 시스템 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
24
system1-factory/api/routes/meetingRoutes.js
Normal file
24
system1-factory/api/routes/meetingRoutes.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const ctrl = require('../controllers/meetingController');
|
||||
const { requireMinLevel } = require('../middlewares/auth');
|
||||
|
||||
// 회의록
|
||||
router.get('/', ctrl.getAll);
|
||||
router.get('/action-items', ctrl.getActionItems);
|
||||
router.get('/:id', ctrl.getById);
|
||||
router.post('/', requireMinLevel('support_team'), ctrl.create);
|
||||
router.put('/:id', requireMinLevel('support_team'), ctrl.update);
|
||||
router.put('/:id/publish', requireMinLevel('support_team'), ctrl.publish);
|
||||
router.put('/:id/unpublish', requireMinLevel('admin'), ctrl.unpublish);
|
||||
router.delete('/:id', requireMinLevel('admin'), ctrl.delete);
|
||||
|
||||
// 안건
|
||||
router.post('/:id/items', requireMinLevel('support_team'), ctrl.addItem);
|
||||
router.put('/:id/items/:itemId', requireMinLevel('support_team'), ctrl.updateItem);
|
||||
router.delete('/:id/items/:itemId', requireMinLevel('support_team'), ctrl.deleteItem);
|
||||
|
||||
// 조치상태 업데이트
|
||||
router.put('/items/:itemId/status', requireMinLevel('group_leader'), ctrl.updateItemStatus);
|
||||
|
||||
module.exports = router;
|
||||
36
system1-factory/api/routes/scheduleRoutes.js
Normal file
36
system1-factory/api/routes/scheduleRoutes.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const ctrl = require('../controllers/scheduleController');
|
||||
const { requireMinLevel } = require('../middlewares/auth');
|
||||
|
||||
// 공정 단계
|
||||
router.get('/phases', ctrl.getPhases);
|
||||
router.post('/phases', requireMinLevel('admin'), ctrl.createPhase);
|
||||
router.put('/phases/:id', requireMinLevel('admin'), ctrl.updatePhase);
|
||||
|
||||
// 작업 템플릿
|
||||
router.get('/templates', ctrl.getTemplates);
|
||||
|
||||
// 공정표 항목
|
||||
router.get('/entries', ctrl.getEntries);
|
||||
router.get('/entries/gantt', ctrl.getGanttData);
|
||||
router.post('/entries', requireMinLevel('support_team'), ctrl.createEntry);
|
||||
router.post('/entries/batch', requireMinLevel('support_team'), ctrl.createBatchEntries);
|
||||
router.put('/entries/:id', requireMinLevel('support_team'), ctrl.updateEntry);
|
||||
router.put('/entries/:id/progress', requireMinLevel('group_leader'), ctrl.updateProgress);
|
||||
router.delete('/entries/:id', requireMinLevel('admin'), ctrl.deleteEntry);
|
||||
|
||||
// 의존관계
|
||||
router.post('/entries/:id/dependencies', requireMinLevel('support_team'), ctrl.addDependency);
|
||||
router.delete('/entries/:id/dependencies/:depId', requireMinLevel('support_team'), ctrl.removeDependency);
|
||||
|
||||
// 마일스톤
|
||||
router.get('/milestones', ctrl.getMilestones);
|
||||
router.post('/milestones', requireMinLevel('support_team'), ctrl.createMilestone);
|
||||
router.put('/milestones/:id', requireMinLevel('support_team'), ctrl.updateMilestone);
|
||||
router.delete('/milestones/:id', requireMinLevel('admin'), ctrl.deleteMilestone);
|
||||
|
||||
// 부적합 연동
|
||||
router.get('/nonconformance', ctrl.getNonconformance);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user