feat: tkpurchase 시스템 Phase 1 - 협력업체 마스터 + 당일 방문 관리
신규 독립 시스템 tkpurchase (구매/방문 관리) 구축: - 협력업체 CRUD + 소속 작업자 관리 (마스터 데이터 소유) - 당일 방문 등록/체크인/체크아웃 + 일괄 마감 - 업체 자동완성, CSV 내보내기, 집계 통계 - 자정 자동 체크아웃 (node-cron) - tkuser 협력업체 읽기 전용 탭 + 권한 그리드(tkpurchase-perms) 추가 - docker-compose에 tkpurchase-api/web 서비스 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
18
tkpurchase/api/routes/dailyVisitRoutes.js
Normal file
18
tkpurchase/api/routes/dailyVisitRoutes.js
Normal file
@@ -0,0 +1,18 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { requireAuth, requirePage } = require('../middleware/auth');
|
||||
const ctrl = require('../controllers/dailyVisitController');
|
||||
|
||||
router.use(requireAuth);
|
||||
|
||||
router.get('/today', ctrl.today);
|
||||
router.get('/export', ctrl.exportCsv);
|
||||
router.get('/stats', ctrl.stats);
|
||||
router.get('/', ctrl.list);
|
||||
router.post('/', requirePage('purchasing_visit'), ctrl.create);
|
||||
router.post('/bulk-checkout', requirePage('purchasing_visit'), ctrl.bulkCheckout);
|
||||
router.put('/:id', requirePage('purchasing_visit'), ctrl.update);
|
||||
router.put('/:id/checkout', requirePage('purchasing_visit'), ctrl.checkout);
|
||||
router.delete('/:id', requirePage('purchasing_visit'), ctrl.deleteVisit);
|
||||
|
||||
module.exports = router;
|
||||
20
tkpurchase/api/routes/partnerRoutes.js
Normal file
20
tkpurchase/api/routes/partnerRoutes.js
Normal file
@@ -0,0 +1,20 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { requireAuth, requirePage } = require('../middleware/auth');
|
||||
const ctrl = require('../controllers/partnerController');
|
||||
|
||||
router.use(requireAuth);
|
||||
|
||||
router.get('/search', ctrl.searchCompanies);
|
||||
router.get('/', ctrl.list);
|
||||
router.get('/:id', ctrl.getById);
|
||||
router.post('/', requirePage('purchasing_partner'), ctrl.create);
|
||||
router.put('/:id', requirePage('purchasing_partner'), ctrl.update);
|
||||
router.delete('/:id', requirePage('purchasing_partner'), ctrl.deactivate);
|
||||
|
||||
router.get('/:id/workers', ctrl.listWorkers);
|
||||
router.post('/:id/workers', requirePage('purchasing_partner'), ctrl.createWorker);
|
||||
router.put('/workers/:id', requirePage('purchasing_partner'), ctrl.updateWorker);
|
||||
router.delete('/workers/:id', requirePage('purchasing_partner'), ctrl.deactivateWorker);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user