????

Your IP : 3.144.100.3


Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/sohoa/
Upload File :
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/sohoa/index.js

var { permit, useLayout } = require('../../controllers/middleware');
var router = require('express').Router();
var taovanbanRouter = require('./taovanban')();
var hosoRouter = require('./hoso')();
var vanbanRouter = require('./vanban')();
var hosoCtrl = require('../../controllers/tailieu/hoso').create();

router.get('/', function (req, res, _next) {
  res.redirect('/sohoa/taohoso');
});
//Tạo hồ sơ
router.get('/taohoso', permit(101), useLayout, function (req, res, _next) {
  if (req.query['list'] == 'true') {
    hosoCtrl.selectFile(req.query, `[File].CreatedBy = '${req.user.UUID}' AND [File].EditedBy is NULL`)
      .then(function (result) {
        res.json(result);
      })
      .catch(function (err) { res.status(400).send(err.message || err) })
  }
  else res.render('sohoa/taohoso.eta', {title: 'Tạo hồ sơ'});
});
//Nộp hồ sơ
router.get('/nophoso', permit(103), useLayout, function (req, res, _next) {
  if (req.query['list'] == 'true') {
    hosoCtrl.selectFile(req.query, `[File].EditedBy = '${req.user.UUID}' AND JobState = 0`)
      .then(function (result) {
        res.json(result);
      })
      .catch(function (err) { res.status(400).send(err.message || err) })
  }
  else res.render('sohoa/nophoso.eta', {title: 'Nộp hồ sơ'})
});
router.post('/nophoso', permit(103), async function (req, res) {
  let data = req.body.arr.split('; ');
  let accId = req.user.UUID;
  let success = 0;
  let error = 0;
  for (let i = 0; i < data.length; i++) {
    try {
      await hosoCtrl.performFile(accId, data[i], 1, null);
      success++;
    } catch (e) {
      error++;
    }
  }
  res.json('Nộp thành công: ' + success + ' hồ sơ, thất bại: ' + error + ' hồ sơ');
});
//Duyệt hồ sơ
router.get('/duyethoso', permit(104), useLayout, function (req, res, _next) {
  if (req.query['list'] == 'true') {
    hosoCtrl.selectFile(req.query, 'JobState = 1')
      .then(function (result) { res.json(result) })
      .catch(function (err) { res.status(400).send(err.message || err) })
  } else res.render('sohoa/duyethoso.eta', {title: 'Duyệt hồ sơ'})
});
router.post('/duyethoso', permit(104), async function (req, res, _next) {
  let UUID = req.body.UUID;
  let kind = req.body.kind;
  let accId = req.user.UUID;
  let note = req.body.note || null;
  if (kind == 2) {
    hosoCtrl.performFile(accId, UUID, 2, note)
      .then(() => { res.json('Duyệt hồ sơ thành công') })
      .catch(() => { res.status(400).send('Không thể duyệt hồ sơ') });
  }
  if (kind == 0) {
    hosoCtrl.performFile(accId, UUID, 0, note)
      .then(() => { res.json('Đã trả hồ sơ') })
      .catch(() => { res.status(400).send('Không thể trả về hồ sơ') });
  } else { res.end() }
});
router.get('/thongke', permit(105), useLayout, function (req, res, _next) {
  res.render('sohoa/thongke.eta', { title: 'Thống kê tài liệu' });
});
//Tạo văn bản
router.use('/taovanban', permit(102), taovanbanRouter);
router.use('/hoso', hosoRouter);
router.use('/vanban', vanbanRouter);
module.exports = router;