From fd4a4409ee8e6b772db30611e968778b68eca0d6 Mon Sep 17 00:00:00 2001 From: Nikolaus Gotsche Date: Mon, 10 Sep 2018 04:59:43 +0200 Subject: Beautify output --- sqlite.go | 65 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 19 deletions(-) (limited to 'sqlite.go') diff --git a/sqlite.go b/sqlite.go index 3335f11..2ad3850 100644 --- a/sqlite.go +++ b/sqlite.go @@ -111,6 +111,10 @@ func initDB(filename string) { checkErr(err) _, err = stmt.Exec(0,"None","Annonymus") checkErr(err) + stmt, err = db.Prepare("INSERT INTO projects(id,name,customer) values(?, ?, ?)") + checkErr(err) + _, err = stmt.Exec(0,"None",0) + checkErr(err) }else{ db, err = sql.Open("sqlite3", filename) checkErr(err) @@ -613,14 +617,11 @@ func showOpenTask() { } func showLastProject() { - if (currproject.id==0) { - fmt.Println("Empty DB") - } else { - fmt.Println("___Last Project_____________") - fmt.Println(currproject.id,":", currproject.name,"- Started:",currproject.first.Local().Format("Mon _2 Jan 2006")) - fmt.Println(" Last Changes",currproject.last.Local().Format("2006 Mon Jan _2 15:04")) - } + fmt.Println("___Last Project_____________") + fmt.Println(currproject.id,":", currproject.name,"- Started:",currproject.first.Local().Format("Mon _2 Jan 2006")) + fmt.Println(" Last Changes",currproject.last.Local().Format("2006 Mon Jan _2 15:04")) } + func addCustomer() { com := getInput("Enter Customer Company: ") nam := getInput("Enter Customer Name: ") @@ -664,7 +665,6 @@ func newProject() { } func getClosedTasks(num int) { - fmt.Println("___Billed Tasks_______________") rows,err := db.Query("SELECT * FROM timetable WHERE stop != '1791-09-30 19:07' ORDER BY datetime(start)",currproject.id) checkErr(err) if num > 0 { @@ -679,8 +679,15 @@ func getClosedTasks(num int) { var tas string var sum, dur float64 = 0.0, 0.0 checkErr(err) - + first := true + //if err != nil && err != sql.ErrNoRows { + // fmt.Println("___Billed Tasks_______________") + //} for rows.Next() { + if first { + fmt.Println("___Billed Tasks_______________") + first = false + } err = rows.Scan(&id, &proj, &sta, &sto, &tas, &check) checkErr(err) dur = float64(sto.Sub(sta))/(1000000000*60*60) @@ -688,9 +695,11 @@ func getClosedTasks(num int) { //fmt.Println(id,tas,sta.Local().Format("2006 Mon Jan _2 15:04"),sto.Local().Format("15:04"),dur,"h") sum += dur } + if !first{ + fmt.Println("____________________________") + fmt.Printf("Billed: %.2f h\n",sum) + } rows.Close() - fmt.Printf("Billed: %.2f h\n",sum) - fmt.Println("___Past Tasks_______________") if num > 0 { rows,err = db.Query("SELECT * FROM timetable WHERE project = $1 AND checkout = 0 AND stop != '1791-09-30 19:07'ORDER BY datetime(start) DESC LIMIT $2",currproject.id,num) @@ -700,7 +709,15 @@ func getClosedTasks(num int) { checkErr(err) } sum2 := 0.0 + first = true + //if err != nil && err != sql.ErrNoRows{ + // fmt.Println("___Past Tasks_______________") + //} for rows.Next() { + if first { + fmt.Println("___Past Tasks_______________") + first = false + } err = rows.Scan(&id, &proj, &sta, &sto, &tas, &check) checkErr(err) dur = float64(sto.Sub(sta))/(1000000000*60*60) @@ -708,9 +725,12 @@ func getClosedTasks(num int) { //fmt.Println(id,tas,sta.Local().Format("2006 Mon Jan _2 15:04"),sto.Local().Format("15:04"),dur,"h") sum2 += dur } + //if err != nil && err != sql.ErrNoRows{ + if !first{ + fmt.Println("____________________________") + fmt.Printf("Unbilled: %.2f[h] Total: %.2f[h]\n",sum2,sum+sum2) + } rows.Close() - fmt.Println("____________________________") - fmt.Printf("Unbilled: %.2f[h] Total: %.2f[h]\n",sum2,sum+sum2) } func getLastProject() { @@ -828,23 +848,30 @@ func allProjects() { var first time.Time var last time.Time var finish int - var customer int + var customer,check int var start,stop time.Time fmt.Println("____For",com,nam) for rows.Next() { err = rows.Scan(&uid, &prname, &first, &last, &finish, &customer) checkErr(err) - rows2,err := db.Query("SELECT start, stop FROM timetable WHERE project = $1 AND stop != '1791-09-30 19:07'",uid) + rows2,err := db.Query("SELECT start, stop, checkout FROM timetable WHERE project = $1 AND stop != '1791-09-30 19:07'",uid) checkErr(err) - sum := 0.0 + sumb,sumo := 0.0,0.0 for rows2.Next() { - err = rows2.Scan(&start,&stop) + err = rows2.Scan(&start,&stop,&check) checkErr(err) - sum += float64(stop.Sub(start))/(1000000000*60*60) + if check == 0 { + sumo += float64(stop.Sub(start))/(1000000000*60*60) + }else{ + sumb += float64(stop.Sub(start))/(1000000000*60*60) + } } - fmt.Printf(" %v:%s \n First: %s, Last:%s, Total:%.2f(h) ,Fin:%v, For:%v\n",uid,prname,first.Local().Format("2006-01-02 15:04 MST"),last.Local().Format("2006-01-02 15:04 MST"),sum,finish,customer) + //fmt.Printf(" %v:%s \n First: %s, Last:%s, Total:%.2f(h) ,Fin:%v, For:%v\n",uid,prname,first.Local().Format("2006-01-02 15:04 MST"),last.Local().Format("2006-01-02 15:04 MST"),sum,finish,customer) + fmt.Printf(" %v:%s \n",uid,prname) + fmt.Printf(" Unbilled: %.2f[h] Billed: %.2f[h] | Total: %.2f[h]\n",sumo,sumb,sumo+sumb) + fmt.Printf(" First: %s, Last:%s, Fin:%v, For:%v\n",first.Local().Format("2006-01-02 15:04 MST"),last.Local().Format("2006-01-02 15:04 MST"),finish,customer) rows2.Close() //good habit to close } rows.Close() //good habit to close -- cgit v1.2.3