statistics.js 561 B

12345678910111213141516171819202122
  1. const sequelize = require('../database/sequelize')
  2. const get = async (req, res) => {
  3. const [results, metadata] = await sequelize.query(`
  4. SELECT
  5. loc.key,
  6. wd.date,
  7. SUM(svc.delivered) as delivered,
  8. SUM(svc.scanned) as scanned,
  9. SUM(svc.delivered) / (wd.regularHours + (wd.overtimeHours * 1.5)) as efficiency
  10. FROM workdays wd
  11. JOIN locations loc on wd.locationId = loc.id
  12. JOIN services svc on svc.workdayId = wd.id
  13. GROUP BY loc.key, wd.date
  14. `)
  15. res.status(200).send(results)
  16. }
  17. module.exports = {
  18. get
  19. }