From 7d8d1f9a7e46ffecc9eafc27aea10c01183255c8 Mon Sep 17 00:00:00 2001 From: Nikolaus Gotsche Date: Sat, 20 Jan 2018 22:55:17 +0100 Subject: Time Sum for Projects mior bugfixes --- sqlite.go | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'sqlite.go') diff --git a/sqlite.go b/sqlite.go index 9739297..ce00df6 100644 --- a/sqlite.go +++ b/sqlite.go @@ -121,13 +121,17 @@ func newTask(proj int) { } func closeTask() { - fmt.Println("...Closing Task",opentask.id) - stmt, err := db.Prepare("UPDATE timetable SET stop = datetime('now') WHERE id = ?") - checkErr(err) - _, err = stmt.Exec(opentask.id) - checkErr(err) - opentask.id=0 - updateProject(opentask.projectid) + if (time.Now().After(opentask.start)) { + fmt.Println("...Closing Task",opentask.id) + stmt, err := db.Prepare("UPDATE timetable SET stop = datetime('now') WHERE id = ?") + checkErr(err) + _, err = stmt.Exec(opentask.id) + checkErr(err) + opentask.id=0 + updateProject(opentask.projectid) + }else{ + fmt.Println("Cannot Stop before the Beginning!") + } } func updateProject(id int) { @@ -163,7 +167,9 @@ func showOpenTask() { fmt.Println("___No Open Tasks____________") } else { fmt.Println("___Open Task________________") - fmt.Println(opentask.id,":", opentask.taskname,"pr:", opentask.projectid,"-", opentask.start.Local().Format("Mon Jan _2 2006 15:04")) + dur := float64(time.Now().Sub(opentask.start))/(1000000000*60*60) + fmt.Printf("%v: %v - (%v) - %.2f h\n",opentask.id, opentask.taskname, opentask.start.Local().Format("Mon Jan _2 2006 15:04"),dur) + //fmt.Println(opentask.id,":", opentask.taskname,"-", opentask.start.Local().Format("Mon Jan _2 2006 15:04"),dur,"h") } } @@ -208,14 +214,20 @@ func getClosedTasks(num int) { var id, proj,check int var sta,sto time.Time var tas string + var sum, dur float64 = 0.0, 0.0 checkErr(err) for rows.Next() { err = rows.Scan(&id, &proj, &sta, &sto, &tas, &check) checkErr(err) - fmt.Println(id,tas,sta.Local().Format("2006 Mon Jan _2 15:04"),sto.Local().Format("15:04")) + dur = float64(sto.Sub(sta))/(1000000000*60*60) + fmt.Printf("%v: %v (%v-%v) - %.2f h\n",id,tas,sta.Local().Format("2006 Mon Jan _2 15:04"),sto.Local().Format("15:04"),dur) + //fmt.Println(id,tas,sta.Local().Format("2006 Mon Jan _2 15:04"),sto.Local().Format("15:04"),dur,"h") + sum += dur } rows.Close() + fmt.Println("____________________________") + fmt.Println("Gesamt:",sum,"h") } func getLastProject() { -- cgit v1.2.3