Mercurial > mercurial > hgweb_golang.cgi
diff src/kaigo/Perori/perori.go @ 42:c58172a59534
bug fix.
author | pyon@macmini |
---|---|
date | Tue, 10 Mar 2020 21:12:29 +0900 |
parents | 34a474fb83c3 |
children | 77dd877929f5 |
line wrap: on
line diff
--- a/src/kaigo/Perori/perori.go Wed Mar 04 23:46:59 2020 +0900 +++ b/src/kaigo/Perori/perori.go Tue Mar 10 21:12:29 2020 +0900 @@ -20,7 +20,7 @@ var debug_log bool // Constants -const version = "0.2" +const version = "0.3" const default_dbfile = "ikenshoirai.db" const default_csvfile = "ikenshoirai.csv" @@ -205,7 +205,11 @@ hhscnt := make(map[string]int) for _, ss := range dbdata { ss.Humanize() - if n := hhscnt[ss.Hhsno]; n == 1 { + switch hhscnt[ss.Hhsno] { + case 0: + recentdata = append(recentdata, ss) + hhscnt[ss.Hhsno]++; + case 1: prevhash[ss.Hhsno] = PrevSinsei{ Biko: ss.Biko, DrId: ss.DrId, @@ -214,9 +218,6 @@ Ymd: ss.Ymd, Kubun: ss.Kubun, } - } else { - recentdata = append(recentdata, ss) - hhscnt[ss.Hhsno]++; } } print_debug_log(fmt.Sprintf("recentdata: n=%d", len(recentdata))) // @@ -248,7 +249,13 @@ doctors = append(doctors, dr) } sort.Slice(doctors, func(i, j int) bool { - return doctors[i].Kana < doctors[j].Kana + if doctors[i].Kana != doctors[j].Kana { + return doctors[i].Kana < doctors[j].Kana + } + if doctors[i].Id != doctors[j].Id { + return doctors[i].Id < doctors[j].Id + } + return false }) irai := struct { @@ -319,11 +326,16 @@ for _, record := range records { ss := csv2sinsei(record) - if ss.IraiYmd != date { - continue + if ss.IraiYmd == date { + hhshash[ss.Hhsno] = true } - hhshash[ss.Hhsno] = true - sinsei = append(sinsei, ss) + } + + for _, record := range records { + ss := csv2sinsei(record) + if _, ok := hhshash[ss.Hhsno]; ok { + sinsei = append(sinsei, ss) + } } return sinsei, hhshash, nil