Sessions: exclude sessions below 0.1kWh rounded from export and improve column names (#4750)
This commit is contained in:
parent
547f37aef0
commit
8deef47165
2 changed files with 14 additions and 8 deletions
|
|
@ -13,15 +13,15 @@ import (
|
|||
|
||||
// Transaction is a single charging transaction
|
||||
type Transaction struct {
|
||||
ID uint `json:"-" gorm:"primarykey"`
|
||||
ID uint `json:"-" csv:"-" gorm:"primarykey"`
|
||||
Created time.Time `json:"created"`
|
||||
Finished time.Time `json:"finished"`
|
||||
Loadpoint string `json:"loadpoint"`
|
||||
Identifier string `json:"identifier"`
|
||||
Vehicle string `json:"vehicle"`
|
||||
MeterStart float64 `json:"meterStart" gorm:"column:meter_start_kwh"`
|
||||
MeterStop float64 `json:"meterStop" gorm:"column:meter_end_kwh"`
|
||||
ChargedEnergy float64 `json:"chargedEnergy" gorm:"column:charged_kwh"`
|
||||
MeterStart float64 `json:"meterStart" csv:"Meter Start (kWh)" gorm:"column:meter_start_kwh"`
|
||||
MeterStop float64 `json:"meterStop" csv:"Meter Stop (kWh)" gorm:"column:meter_end_kwh"`
|
||||
ChargedEnergy float64 `json:"chargedEnergy" csv:"Charged Energy (kWh)" gorm:"column:charged_kwh"`
|
||||
}
|
||||
|
||||
// Stop stops charging session with end meter reading and due total amount
|
||||
|
|
@ -39,10 +39,15 @@ var _ api.CsvWriter = (*Transactions)(nil)
|
|||
func (t *Transactions) writeHeader(ww *csv.Writer) {
|
||||
var row []string
|
||||
for _, f := range structs.Fields(Transaction{}) {
|
||||
if f.Tag("json") == "-" {
|
||||
caption := f.Tag("csv")
|
||||
switch {
|
||||
case caption == "-":
|
||||
continue
|
||||
case caption == "":
|
||||
caption = f.Name()
|
||||
}
|
||||
row = append(row, f.Name())
|
||||
|
||||
row = append(row, caption)
|
||||
}
|
||||
_ = ww.Write(row)
|
||||
}
|
||||
|
|
@ -50,7 +55,7 @@ func (t *Transactions) writeHeader(ww *csv.Writer) {
|
|||
func (t *Transactions) writeRow(ww *csv.Writer, r Transaction) {
|
||||
var row []string
|
||||
for _, f := range structs.Fields(r) {
|
||||
if f.Tag("json") == "-" {
|
||||
if f.Tag("csv") == "-" {
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
@ -69,6 +74,7 @@ func (t *Transactions) writeRow(ww *csv.Writer, r Transaction) {
|
|||
|
||||
row = append(row, val)
|
||||
}
|
||||
|
||||
_ = ww.Write(row)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ func sessionHandler(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
var res db.Transactions
|
||||
if txn := dbserver.Instance.Where("charged_kwh>0").Order("created desc").Find(&res); txn.Error != nil {
|
||||
if txn := dbserver.Instance.Where("charged_kwh>=0.05").Order("created desc").Find(&res); txn.Error != nil {
|
||||
jsonError(w, http.StatusInternalServerError, txn.Error)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue