Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | 1x 1x 1x 1x 1x 1x 1x 1x | import { endOfDay, startOfDay } from 'date-fns'; import ProductionOrderInformation from '../source/productionOrders/information'; async function getAllProductionOrders(req, res) { const { filterStartDate, filterEndDate, page, sorted = [], filtered, pageSize = 10, } = req.body; try { const startDateFormat = startOfDay(filterStartDate); const endDateFormat = endOfDay(filterEndDate); const productionOrders = await ProductionOrderInformation.getAllProductionOrders( startDateFormat, endDateFormat, page, pageSize, sorted, filtered, { userBranches: req.userBranches, } ); const rows = []; for (const order of productionOrders.rows) { const totalSeconds = order.productionOrderTracking.reduce((acc, time) => { if (!time) return acc; const [hours, minutes, seconds] = time.dataValues.totalTime .split(':') .map(Number); return acc + hours * 3600 + minutes * 60 + seconds; }, 0); const hours = Math.floor(totalSeconds / 3600); const minutes = Math.floor((totalSeconds % 3600) / 60); const seconds = totalSeconds % 60; // Formata para garantir dois dÃgitos em cada unidade de tempo const totalTimeTracking = `${String(hours).padStart(2, '0')}:${String( minutes ).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`; rows.push({ totalTimeTracking, ...order.dataValues, }); } const response = { success: true, data: { rows, pages: Math.ceil(productionOrders.count / pageSize), totalDataLength: productionOrders.count, }, }; res.json(response); } catch (err) { // eslint-disable-next-line no-console console.log(err); const response = { success: false, }; res.json(response); } } export default { getAllProductionOrders, }; |