????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/danhmuc.js |
var router = require('express').Router(); const { permit, useLayout } = require('../controllers/middleware'); var danhmucCtrl = require('../controllers/danhmuc').create(); var path = require('path'); var fs = require('fs'); var { savePath } = require('../appconfig'); // Khai báo router router.get('/', function (req, res) { res.redirect('/main') }); router.get('/nhomtailieu', permit(313), function (req, res) { danhmucCtrl.getFileGroups(req.query.fond) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/loaivanban', permit(315), function (req, res) { danhmucCtrl.getDocTypes() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/coquan', permit(317), function (req, res) { danhmucCtrl.getOrgans() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/ngonngu', permit(319), function (req, res) { danhmucCtrl.getLanguages() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/dotincay', permit(), function (req, res) { danhmucCtrl.getConfidenceLevels() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/quyentailieu', permit(321), function (req, res) { danhmucCtrl.getDocModes() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/congcu', permit(323), function (req, res) { danhmucCtrl.getLookupTools() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/bieuphi', function (req, res) { danhmucCtrl.getReqPrices() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); //Danh mục phông router.get('/phong', permit(301), useLayout, function (req, res) { res.render('danhmuc/phong.eta', { title: 'Danh mục phông' }); }); router.get('/phong/json', permit(301), function (req, res) { danhmucCtrl.getFonds() .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message || err) }) }); router.get('/phong/chitiet', permit(301), useLayout, async function (req, res) { var fond = null; try { fond = (await danhmucCtrl.select('SELECT * FROM Fond WHERE FondCode = @code', { code: req.query.code }))[0]; if (fond) { res.render('danhmuc/chitietphong.eta', { title: 'Chi tiết phông', fondCode: fond.FondCode, fondName: fond.FondName }) } else res.redirect('/danhmuc/phong'); } catch (err) { res.status(400).send(err.message); } }); router.get('/phong/chitiet/json', permit(301), async function (req, res) { var files = await danhmucCtrl.getFondDetail(req.query); res.json(files); }); //Danh mục hồ sơ router.get('/hoso', permit(305), useLayout, function (req, res) { res.render('danhmuc/hoso.eta', { title: 'Danh mục hồ sơ' }); }); router.get('/hoso/json', permit(305), function (req, res) { danhmucCtrl.getFiles(req.query) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); //Danh mục văn bản router.get('/vanban', permit(308), useLayout, function (req, res) { res.render('danhmuc/vanban.eta', { title: 'Danh mục văn bản', search: req.query['content'] }); }); router.get('/vanban/json', permit(308), function (req, res) { danhmucCtrl.getDocuments(req.query) .then(function (result) { res.json(result) }) .catch(function (err) { res.status(400).send(err.message) }) }); router.get('/vanban/:docId', permit(), async function (req, res) { try { let query = 'SELECT [File].FileCode,Document.DocCode,Document.Signed FROM Document INNER JOIN [File] ON [File].UUID = Document.FileId WHERE Document.UUID = @id'; let doc = (await danhmucCtrl.select(query, { id: req.params.docId }))[0]; if (doc) { let docPath = path.join(savePath, doc.FileCode, doc.DocCode + (doc['Signed'] ? '.signed' : '') + '.PDF'); if (fs.existsSync(docPath)) { res.setHeader('Content-Type', 'application/pdf'); if (req.query['download'] == 'true') res.download(docPath); else res.sendFile(docPath); } else throw new Error('Văn bản chưa được số hóa'); } else throw new Error('Không tồn tại văn bản trên hệ thống') } catch (err) { res.status(400).send(err.message || err) } }); module.exports = router;