const db = require('vn-print/core/database'); const closure = require('./closure'); module.exports = async function(request, response, next) { try { const reqArgs = request.query; if (!reqArgs.agencyModeId) throw new Error('The argument agencyModeId is required'); if (!reqArgs.warehouseId) throw new Error('The argument warehouseId is required'); if (!reqArgs.to) throw new Error('The argument to is required'); response.status(200).json({ message: 'Success' }); const agencyIds = reqArgs.agencyModeId.split(','); const tickets = await db.rawSql(` SELECT t.id FROM expedition e JOIN ticket t ON t.id = e.ticketFk JOIN ticketState ts ON ts.ticketFk = t.id JOIN alertLevel al ON al.id = ts.alertLevel WHERE al.code = 'PACKED' AND t.agencyModeFk IN(?) AND t.warehouseFk = ? AND DATE(t.shipped) BETWEEN DATE_ADD(?, INTERVAL -2 DAY) AND util.dayEnd(?) AND t.refFk IS NULL GROUP BY e.ticketFk`, [ agencyIds, reqArgs.warehouseId, reqArgs.to, reqArgs.to ]); await closure.start(tickets, response.locals); } catch (error) { next(error); } };