diff --git a/app.js b/app.js index 034d265..b38bd4c 100644 --- a/app.js +++ b/app.js @@ -199,6 +199,7 @@ app.use('/fullcalendar',express.static(path.join(__dirname, 'node_modules/@fullc app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'media'))); app.use(express.static(path.join(__dirname, 'docs'))); +app.use(express.static(path.join(__dirname, '/views/Modals'))); app.use(flash()); // Express session middlevare app.use(session({ diff --git a/js/vehicleApi.js b/js/vehicleApi.js index 0a1f8c9..45cbc5a 100644 --- a/js/vehicleApi.js +++ b/js/vehicleApi.js @@ -227,35 +227,63 @@ exports.apiRefuelingById=asyncHandler(async (req,res)=>{ // Tankolás adatainak lekérdezése exports.apiGetFueling=asyncHandler(async (req,res)=>{ - if (isValidObjectId(req.params.id)==false) + const {id, selectedMonth}=req.params; + if (isValidObjectId(id)==false) { req.flash('error','Nem létező jármű'); res.redirect('/'); return; } + var firstDay= moment(selectedMonth,"YYYY.MM").startOf('month').toISOString(); + var lastDay = moment(selectedMonth,"YYYY.MM").endOf('month').toISOString(); + try{ + const vehicle=await Vehicle//.findById(req.params.id).sort({dateTime:-1}); + .aggregate([ + { "$match" : { _id: mongoose.Types.ObjectId(id) } }, + { "$unwind" : "$refueling"} , + {"$match": { + "refueling.dateTime":{ + $gte: new Date(firstDay), + $lte: new Date(lastDay) + } + } + }, + { "$sort" : { "refueling.dateTime" : 1}}, + { "$group" : { "refueling" : { "$push" : { "dateTime" : "$refueling.dateTime", "quantity": "$refueling.quantity","kilometer":"$refueling.kilometer","fueledHUF":"$refueling.fueledHUF"}} , "_id" : "$_id"}}, + ]) - const vehicle=await Vehicle.findById(req.params.id); - - if (vehicle) + if (vehicle.length) { - var fueling=[]; - vehicle.refueling.forEach(element => { - fueling.push({ - id: element._id, - title:"Tankolás
"+element.quantity+" l "+element.kilometer+" km "+element.fueledHUF+" Ft", - start:element.dateTime, - allDay:false - }) - - }); - - res.status(200).send(fueling) + // Átlagfogyasztás számítás + if (vehicle[0].refueling.length>=2) + { + var refueling=vehicle[0].refueling; + var kmStart=refueling[0].kilometer; // Kezdő kilométer + var kmEnd=refueling[refueling.length-1].kilometer; // Utolsó kilométer + var kmRun=kmEnd-kmStart; // Megtett út: + var tankoltMennyiseg=0; + var fogyasztas=0; + // Tankolások összegzése (az utolsót nem számoljuk bele) + refueling.forEach(function(element,idx,array) { + if (idx