delete quick entry and some stats
This commit is contained in:
@@ -58,6 +58,9 @@ func GetQuickEntriesForUser(userId, sorting string) (*[]db.QuickEntry, error) {
|
||||
func GetQuickEntryById(id string) (*db.QuickEntry, error) {
|
||||
return db.GetQuickEntryById(id)
|
||||
}
|
||||
func DeleteQuickEntryById(id string) error {
|
||||
return db.DeleteQuickEntryById(id)
|
||||
}
|
||||
func SetQuickEntryAsProcessed(id string) error {
|
||||
return db.SetQuickEntryAsProcessed(id, time.Now())
|
||||
|
||||
|
||||
@@ -97,22 +97,23 @@ func FuellyImport(content []byte, userId string) []string {
|
||||
)
|
||||
|
||||
isTankFull := record[6] == "Full"
|
||||
|
||||
fal := false
|
||||
fillups = append(fillups, db.Fillup{
|
||||
VehicleID: vehicle.ID,
|
||||
FuelUnit: vehicle.FuelUnit,
|
||||
FuelQuantity: quantity,
|
||||
PerUnitPrice: rate,
|
||||
TotalAmount: totalCost,
|
||||
OdoReading: odoreading,
|
||||
IsTankFull: &isTankFull,
|
||||
Comments: notes,
|
||||
FillingStation: location,
|
||||
UserID: userId,
|
||||
Date: date,
|
||||
Currency: user.Currency,
|
||||
DistanceUnit: user.DistanceUnit,
|
||||
Source: "Fuelly",
|
||||
VehicleID: vehicle.ID,
|
||||
FuelUnit: vehicle.FuelUnit,
|
||||
FuelQuantity: quantity,
|
||||
PerUnitPrice: rate,
|
||||
TotalAmount: totalCost,
|
||||
OdoReading: odoreading,
|
||||
IsTankFull: &isTankFull,
|
||||
Comments: notes,
|
||||
FillingStation: location,
|
||||
HasMissedFillup: &fal,
|
||||
UserID: userId,
|
||||
Date: date,
|
||||
Currency: user.Currency,
|
||||
DistanceUnit: user.DistanceUnit,
|
||||
Source: "Fuelly",
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
52
server/service/reportService.go
Normal file
52
server/service/reportService.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/akhilrex/hammond/db"
|
||||
"github.com/akhilrex/hammond/models"
|
||||
)
|
||||
|
||||
func GetMileageByVehicleId(vehicleId string, since time.Time) (mileage []models.MileageModel, err error) {
|
||||
data, err := db.GetFillupsByVehicleIdSince(vehicleId, since)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
fillups := make([]db.Fillup, len(*data))
|
||||
copy(fillups, *data)
|
||||
|
||||
var mileages []models.MileageModel
|
||||
|
||||
for i := 0; i < len(fillups)-1; i++ {
|
||||
last := i + 1
|
||||
|
||||
currentFillup := fillups[i]
|
||||
lastFillup := fillups[last]
|
||||
|
||||
mileage := models.MileageModel{
|
||||
Date: currentFillup.Date,
|
||||
VehicleID: currentFillup.VehicleID,
|
||||
FuelUnit: currentFillup.FuelUnit,
|
||||
FuelQuantity: currentFillup.FuelQuantity,
|
||||
PerUnitPrice: currentFillup.PerUnitPrice,
|
||||
OdoReading: currentFillup.OdoReading,
|
||||
Currency: currentFillup.Currency,
|
||||
Mileage: 0,
|
||||
CostPerMile: 0,
|
||||
}
|
||||
|
||||
if currentFillup.IsTankFull != nil && *currentFillup.IsTankFull && (currentFillup.HasMissedFillup == nil || !(*currentFillup.HasMissedFillup)) {
|
||||
distance := float32(currentFillup.OdoReading - lastFillup.OdoReading)
|
||||
mileage.Mileage = distance / currentFillup.FuelQuantity
|
||||
mileage.CostPerMile = distance / currentFillup.TotalAmount
|
||||
|
||||
}
|
||||
|
||||
mileages = append(mileages, mileage)
|
||||
}
|
||||
if mileages == nil {
|
||||
mileages = make([]models.MileageModel, 0)
|
||||
}
|
||||
return mileages, nil
|
||||
}
|
||||
Reference in New Issue
Block a user