Mercurial > gemma
comparison pkg/controllers/gauges.go @ 3190:54a3e40cfbed
controllers: moved filter builder to a separate file.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 08 May 2019 10:50:14 +0200 |
parents | 41ed69dbf9bb |
children | eeff2cc4ff9d |
comparison
equal
deleted
inserted
replaced
3189:6f8fb2053881 | 3190:54a3e40cfbed |
---|---|
629 } | 629 } |
630 | 630 |
631 var fb filterBuilder | 631 var fb filterBuilder |
632 fb.stmt.WriteString(selectWaterlevelsSQL) | 632 fb.stmt.WriteString(selectWaterlevelsSQL) |
633 | 633 |
634 fb.cond( | 634 fb.and( |
635 " fk_gauge_id = ($%d::char(2), $%d::char(3), $%d::char(5), $%d::char(5), $%d::int) ", | 635 " fk_gauge_id = ($%d::char(2), $%d::char(3), $%d::char(5), $%d::char(5), $%d::int) ", |
636 isrs.CountryCode, | 636 isrs.CountryCode, |
637 isrs.LoCode, | 637 isrs.LoCode, |
638 isrs.FairwaySection, | 638 isrs.FairwaySection, |
639 isrs.Orc, | 639 isrs.Orc, |
640 isrs.Hectometre, | 640 isrs.Hectometre, |
641 ) | 641 ) |
642 | 642 |
643 fb.cond( | 643 fb.and( |
644 `(NOT predicted | 644 `(NOT predicted |
645 OR ( | 645 OR ( |
646 date_issue = ( | 646 date_issue = ( |
647 SELECT max(date_issue) FROM waterway.gauge_measurements | 647 SELECT max(date_issue) FROM waterway.gauge_measurements |
648 WHERE fk_gauge_id = ($%d::char(2), $%d::char(3), $%d::char(5), $%d::char(5), $%d::int) | 648 WHERE fk_gauge_id = ($%d::char(2), $%d::char(3), $%d::char(5), $%d::char(5), $%d::int) |
661 http.Error( | 661 http.Error( |
662 rw, fmt.Sprintf("error: Invalid from time: %v", err), | 662 rw, fmt.Sprintf("error: Invalid from time: %v", err), |
663 http.StatusBadRequest) | 663 http.StatusBadRequest) |
664 return | 664 return |
665 } | 665 } |
666 fb.cond("measure_date >= $%d", fromTime) | 666 fb.and("measure_date >= $%d", fromTime) |
667 } | 667 } |
668 | 668 |
669 if to := req.FormValue("to"); to != "" { | 669 if to := req.FormValue("to"); to != "" { |
670 toTime, err := time.Parse(models.ImportTimeFormat, to) | 670 toTime, err := time.Parse(models.ImportTimeFormat, to) |
671 if err != nil { | 671 if err != nil { |
672 http.Error( | 672 http.Error( |
673 rw, fmt.Sprintf("error: Invalid from time: %v", err), | 673 rw, fmt.Sprintf("error: Invalid from time: %v", err), |
674 http.StatusBadRequest) | 674 http.StatusBadRequest) |
675 return | 675 return |
676 } | 676 } |
677 fb.cond("measure_date <= $%d", toTime) | 677 fb.and("measure_date <= $%d", toTime) |
678 } | 678 } |
679 | 679 |
680 conn := middleware.GetDBConn(req) | 680 conn := middleware.GetDBConn(req) |
681 | 681 |
682 ctx := req.Context() | 682 ctx := req.Context() |