????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/dichvu.js |
var router = require('express').Router(); var readerCtrl = require('../controllers/dichvu/docgia').create(); var requestCtrl = require('../controllers/dichvu/yeucau').create(); var { permit, useLayout } = require('../controllers/middleware'); const fsp = require('fs/promises'); const path = require('path'); const { exportPath } = require('../appconfig'); //yeucau: xem router.get('/', function (req, res) { res.redirect('/main') }); router.get('/duyetyeucau', permit(208), useLayout, function (req, res) { res.render('dichvu/duyetyeucau.eta', { title: 'Duyệt yêu cầu tài liệu' }); }); router.post('/duyetyeucau', permit(208), function (req, res) { requestCtrl.approveReq(req.body.reqId, req.user.UUID, 1) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.delete('/duyetyeucau', permit(208), function (req, res) { requestCtrl.approveReq(req.body.reqId, req.user.UUID, 2) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.get('/yeucau', permit(206), useLayout, function (req, res) { res.render('dichvu/yeucau.eta', { title: 'Yêu cầu tài liệu' }); }); router.get('/yeucau/json', permit(206), async function (req, res) { let reqInfo = {}; if (req.query['type'] == 'submited') reqInfo['account'] = req.user.UUID; if (typeof req.query['approved'] != 'undefined') reqInfo['approved'] = req.query['approved'] == 'true'; requestCtrl.getRequests(reqInfo) .then(function (result) { res.json({ data: result }) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.get('/yeucau/chitiet', permit(206), function (req, res) { requestCtrl.getRequestDetail(req.query['reqId']) .then(function (result) { res.json({ data: result }) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.get('/yeucau/export/:id', async function (req, res) { let pdfPath = path.join(exportPath, req.params.id + '.docx'); try { if (await fsp.access(pdfPath).then(() => false).catch(() => true)) await requestCtrl.exportPDF(req.params.id); res.download(pdfPath); } catch (err) { console.log(err.stack); res.status(400).send(err.message) } }); //docgia router.get('/docgia', permit(202), useLayout, function (req, res) { res.render('dichvu/docgia.eta', { title: 'Danh sách độc giả', }); }); router.get('/docgia/json', permit(202), function (req, res) { readerCtrl.getReaders() .then(function (result) { res.json({ data: result }); }) .catch(function (err) { res.status(400).send(err.message); }); }); router.post('/docgia', permit(202), function (req, res) { readerCtrl.addReader(req.body) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.put('/docgia', permit(202), function (req, res) { readerCtrl.editReader(req.body) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.delete('/docgia', permit(202), function (req, res) { readerCtrl.deleteReader(req.body.id) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); //bieuphi router.get('/bieuphi', permit(210), useLayout, function (req, res) { res.render('dichvu/bieuphi.eta', { title: 'Quản lý phí dịch vụ' }); }); router.get('/bieuphi/json', permit(210), function (req, res) { requestCtrl.getPrices() .then(function (recordset) { res.json({ data: recordset }) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.put('/bieuphi', permit(210), function (req, res) { requestCtrl.updatePrice(req.body) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }); }); module.exports = router;