From a265e17d09869ac168fd20d7afa0a09b609522fb Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Mon, 17 May 2021 23:31:44 +0200
Subject: [PATCH] Fixed #225 Add Issue Matrix to Gitlab

---
 data                                          |  2 +-
 .../who/uml/who_domain_model_import.puml      |  2 +-
 .../blueprints/ecdc/ecdc_model_import.py      | 54 ++++++++----
 .../blueprints/owid/owid_model_import.py      | 82 +++++++++++++++++--
 .../blueprints/rki_cases/rki_model_import.py  | 42 ++++++++--
 .../rki_vaccination_model_import.py           | 47 +++++++++--
 .../blueprints/who/who_model_import.py        | 24 ++++++
 7 files changed, 211 insertions(+), 42 deletions(-)

diff --git a/data b/data
index 104a2b52..40c60a0a 160000
--- a/data
+++ b/data
@@ -1 +1 @@
-Subproject commit 104a2b522e4c9a82e232ae9de492c69d57c4f66a
+Subproject commit 40c60a0accfbafe6825ff542afcb5a54d6206b54
diff --git a/docs/blueprints/who/uml/who_domain_model_import.puml b/docs/blueprints/who/uml/who_domain_model_import.puml
index 6a72918b..599aa478 100644
--- a/docs/blueprints/who/uml/who_domain_model_import.puml
+++ b/docs/blueprints/who/uml/who_domain_model_import.puml
@@ -89,7 +89,7 @@ package covid19.blueprints.who.model_import {
 		day_of_year: Integer
 	    day_of_week: Integer
 	    week_of_year: Integer
-	    year_week:  String
+	    year_week: String
 	    day_of_week_str: String
 		month_str: String
 		location: String
diff --git a/src/covid19/blueprints/ecdc/ecdc_model_import.py b/src/covid19/blueprints/ecdc/ecdc_model_import.py
index fba66476..da403e80 100644
--- a/src/covid19/blueprints/ecdc/ecdc_model_import.py
+++ b/src/covid19/blueprints/ecdc/ecdc_model_import.py
@@ -6,9 +6,9 @@ class EcdcImport(db.Model):
 
     id = db.Column(db.Integer, primary_key=True)
     date_rep = db.Column(db.String(255), nullable=False)
-    date_rep_day = db.Column(db.String(255), nullable=False)
-    date_rep_month = db.Column(db.String(255), nullable=False)
-    date_rep_year = db.Column(db.String(255), nullable=False)
+    day = db.Column(db.String(255), nullable=False)
+    month = db.Column(db.String(255), nullable=False)
+    year = db.Column(db.String(255), nullable=False)
     cases = db.Column(db.String(255), nullable=False)
     deaths = db.Column(db.String(255), nullable=False)
     pop_data_2019 = db.Column(db.String(255), nullable=False)
@@ -17,13 +17,6 @@ class EcdcImport(db.Model):
     country_territory_code = db.Column(db.String(255), nullable=False)
     continent_exp = db.Column(db.String(255), nullable=False)
     cumulative_number_for_14_days_of_covid19_cases_per_100000 = db.Column(db.String(255), nullable=False)
-    datum = db.Column(db.Date, nullable=False)
-    year = db.Column(db.Integer, nullable=False)
-    month = db.Column(db.Integer, nullable=False)
-    day_of_month = db.Column(db.Integer, nullable=False)
-    day_of_week = db.Column(db.Integer, nullable=False)
-    week_of_year = db.Column(db.Integer, nullable=False)
-    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
@@ -38,18 +31,18 @@ class EcdcImport(db.Model):
     @classmethod
     def get_all_as_page(cls, page: int):
         return db.session.query(cls).order_by(
-            cls.date_rep_year,
-            cls.date_rep_month,
-            cls.date_rep_day,
+            cls.year,
+            cls.month,
+            cls.day,
             cls.countries_and_territories
         ).paginate(page, per_page=ITEMS_PER_PAGE)
 
     @classmethod
     def get_all(cls):
         return db.session.query(cls).order_by(
-            cls.date_rep_year,
-            cls.date_rep_month,
-            cls.date_rep_day,
+            cls.year,
+            cls.month,
+            cls.day,
             cls.countries_and_territories
         ).all()
 
@@ -125,3 +118,32 @@ class EcdcImport(db.Model):
         return db.session.query(cls)\
             .filter(cls.date_rep == p_edcd_date_reported_str) \
             .all()
+
+
+class EcdcFlat(db.Model):
+    __tablename__ = 'application__import__ecdc_flat'
+
+    id = db.Column(db.Integer, primary_key=True)
+    date_reported_import_str = db.Column(db.String(255), nullable=False, unique=True)
+    year_week = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False, unique=True)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    location = db.Column(db.String(255), nullable=False)
+    location_group = db.Column(db.String(255), nullable=False)
+    date_rep = db.Column(db.String(255), nullable=False)
+    day = db.Column(db.String(255), nullable=False)
+    # month = db.Column(db.String(255), nullable=False)
+    # year = db.Column(db.String(255), nullable=False)
+    cases = db.Column(db.String(255), nullable=False)
+    deaths = db.Column(db.String(255), nullable=False)
+    pop_data_2019 = db.Column(db.String(255), nullable=False)
+    countries_and_territories = db.Column(db.String(255), nullable=False)
+    geo_id = db.Column(db.String(255), nullable=False)
+    country_territory_code = db.Column(db.String(255), nullable=False)
+    continent_exp = db.Column(db.String(255), nullable=False)
+    cumulative_number_for_14_days_of_covid19_cases_per_100000 = db.Column(db.String(255), nullable=False)
+
diff --git a/src/covid19/blueprints/owid/owid_model_import.py b/src/covid19/blueprints/owid/owid_model_import.py
index a187a3d1..3c78bb28 100644
--- a/src/covid19/blueprints/owid/owid_model_import.py
+++ b/src/covid19/blueprints/owid/owid_model_import.py
@@ -66,13 +66,6 @@ class OwidImport(db.Model):
     hospital_beds_per_thousand = db.Column(db.String(255), nullable=False)
     life_expectancy = db.Column(db.String(255), nullable=False)
     human_development_index = db.Column(db.String(255), nullable=False)
-    datum = db.Column(db.Date, nullable=False)
-    year = db.Column(db.Integer, nullable=False)
-    month = db.Column(db.Integer, nullable=False)
-    day_of_month = db.Column(db.Integer, nullable=False)
-    day_of_week = db.Column(db.Integer, nullable=False)
-    week_of_year = db.Column(db.Integer, nullable=False)
-    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
@@ -285,3 +278,78 @@ class OwidImport(db.Model):
                 cls.life_expectancy,
                 cls.human_development_index
             ).distinct().one()
+
+
+class OwidFlat(db.Model):
+    __tablename__ = 'application__import__owid_flat'
+
+    id = db.Column(db.Integer, primary_key=True)
+    date_reported_import_str = db.Column(db.String(255), nullable=False, unique=True)
+    year_week = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False, unique=True)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    location = db.Column(db.String(255), nullable=False)
+    location_group = db.Column(db.String(255), nullable=False)
+    iso_code = db.Column(db.String(255), nullable=False)
+    continent = db.Column(db.String(255), nullable=False)
+    location_import = db.Column(db.String(255), nullable=False)
+    date = db.Column(db.String(255), nullable=False)
+    total_cases = db.Column(db.String(255), nullable=False)
+    new_cases = db.Column(db.String(255), nullable=False)
+    new_cases_smoothed = db.Column(db.String(255), nullable=False)
+    total_deaths = db.Column(db.String(255), nullable=False)
+    new_deaths = db.Column(db.String(255), nullable=False)
+    new_deaths_smoothed = db.Column(db.String(255), nullable=False)
+    total_cases_per_million = db.Column(db.String(255), nullable=False)
+    new_cases_per_million = db.Column(db.String(255), nullable=False)
+    new_cases_smoothed_per_million = db.Column(db.String(255), nullable=False)
+    total_deaths_per_million = db.Column(db.String(255), nullable=False)
+    new_deaths_per_million = db.Column(db.String(255), nullable=False)
+    new_deaths_smoothed_per_million = db.Column(db.String(255), nullable=False)
+    reproduction_rate = db.Column(db.String(255), nullable=False)
+    icu_patients = db.Column(db.String(255), nullable=False)
+    icu_patients_per_million = db.Column(db.String(255), nullable=False)
+    hosp_patients = db.Column(db.String(255), nullable=False)
+    hosp_patients_per_million = db.Column(db.String(255), nullable=False)
+    weekly_icu_admissions = db.Column(db.String(255), nullable=False)
+    weekly_icu_admissions_per_million = db.Column(db.String(255), nullable=False)
+    weekly_hosp_admissions = db.Column(db.String(255), nullable=False)
+    weekly_hosp_admissions_per_million = db.Column(db.String(255), nullable=False)
+    new_tests = db.Column(db.String(255), nullable=False)
+    total_tests = db.Column(db.String(255), nullable=False)
+    total_tests_per_thousand = db.Column(db.String(255), nullable=False)
+    new_tests_per_thousand = db.Column(db.String(255), nullable=False)
+    new_tests_smoothed = db.Column(db.String(255), nullable=False)
+    new_tests_smoothed_per_thousand = db.Column(db.String(255), nullable=False)
+    positive_rate = db.Column(db.String(255), nullable=False)
+    tests_per_case = db.Column(db.String(255), nullable=False)
+    tests_units = db.Column(db.String(255), nullable=False)
+    total_vaccinations = db.Column(db.String(255), nullable=False)
+    people_vaccinated = db.Column(db.String(255), nullable=False)
+    people_fully_vaccinated = db.Column(db.String(255), nullable=False)
+    new_vaccinations = db.Column(db.String(255), nullable=False)
+    new_vaccinations_smoothed = db.Column(db.String(255), nullable=False)
+    total_vaccinations_per_hundred = db.Column(db.String(255), nullable=False)
+    people_vaccinated_per_hundred = db.Column(db.String(255), nullable=False)
+    people_fully_vaccinated_per_hundred = db.Column(db.String(255), nullable=False)
+    new_vaccinations_smoothed_per_million = db.Column(db.String(255), nullable=False)
+    stringency_index = db.Column(db.String(255), nullable=False)
+    population = db.Column(db.String(255), nullable=False)
+    population_density = db.Column(db.String(255), nullable=False)
+    median_age = db.Column(db.String(255), nullable=False)
+    aged_65_older = db.Column(db.String(255), nullable=False)
+    aged_70_older = db.Column(db.String(255), nullable=False)
+    gdp_per_capita = db.Column(db.String(255), nullable=False)
+    extreme_poverty = db.Column(db.String(255), nullable=False)
+    cardiovasc_death_rate = db.Column(db.String(255), nullable=False)
+    diabetes_prevalence = db.Column(db.String(255), nullable=False)
+    female_smokers = db.Column(db.String(255), nullable=False)
+    male_smokers = db.Column(db.String(255), nullable=False)
+    handwashing_facilities = db.Column(db.String(255), nullable=False)
+    hospital_beds_per_thousand = db.Column(db.String(255), nullable=False)
+    life_expectancy = db.Column(db.String(255), nullable=False)
+    human_development_index = db.Column(db.String(255), nullable=False)
diff --git a/src/covid19/blueprints/rki_cases/rki_model_import.py b/src/covid19/blueprints/rki_cases/rki_model_import.py
index 13a324de..d36f6933 100644
--- a/src/covid19/blueprints/rki_cases/rki_model_import.py
+++ b/src/covid19/blueprints/rki_cases/rki_model_import.py
@@ -23,14 +23,6 @@ class RkiImport(db.Model):
     anzahl_genesen = db.Column(db.String(255), nullable=False)
     ist_erkrankungsbeginn = db.Column(db.String(255), nullable=False)
     altersgruppe2 = db.Column(db.String(255), nullable=False)
-    # date_reported = db.Column(db.String(255), nullable=False)
-    # datum = db.Column(db.Date, nullable=False)
-    # year = db.Column(db.Integer, nullable=False)
-    # month = db.Column(db.Integer, nullable=False)
-    # day_of_month = db.Column(db.Integer, nullable=False)
-    # day_of_week = db.Column(db.Integer, nullable=False)
-    # week_of_year = db.Column(db.Integer, nullable=False)
-    # year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
@@ -62,3 +54,37 @@ class RkiImport(db.Model):
     @classmethod
     def get_new_aktualisierungen_as_array(cls):
         return []
+
+
+class RkiFlat(db.Model):
+    __tablename__ = 'application__import__rki_cases_flat'
+
+    id = db.Column(db.Integer, primary_key=True)
+    date_reported_import_str = db.Column(db.String(255), nullable=False, unique=True)
+    year_week = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False, unique=True)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    location = db.Column(db.String(255), nullable=False)
+    location_group = db.Column(db.String(255), nullable=False)
+    fid = db.Column(db.String(255), nullable=False)
+    id_bundesland = db.Column(db.String(255), nullable=False)
+    bundesland = db.Column(db.String(255), nullable=False)
+    landkreis = db.Column(db.String(255), nullable=False)
+    altersgruppe = db.Column(db.String(255), nullable=False)
+    geschlecht = db.Column(db.String(255), nullable=False)
+    anzahl_fall = db.Column(db.String(255), nullable=False)
+    anzahl_todesfall = db.Column(db.String(255), nullable=False)
+    meldedatum = db.Column(db.String(255), nullable=False)
+    id_landkreis = db.Column(db.String(255), nullable=False)
+    datenstand = db.Column(db.String(255), nullable=False)
+    neuer_fall = db.Column(db.String(255), nullable=False)
+    neuer_todesfall = db.Column(db.String(255), nullable=False)
+    ref_datum = db.Column(db.String(255), nullable=False)
+    neu_genesen = db.Column(db.String(255), nullable=False)
+    anzahl_genesen = db.Column(db.String(255), nullable=False)
+    ist_erkrankungsbeginn = db.Column(db.String(255), nullable=False)
+    altersgruppe2 = db.Column(db.String(255), nullable=False)
diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py
index 5b7de89a..10486c44 100644
--- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py
+++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py
@@ -5,6 +5,7 @@ class RkiVaccinationImport(db.Model):
     __tablename__ = 'application__import__rki_vaccination'
 
     id = db.Column(db.Integer, primary_key=True)
+    datum = db.Column(db.String(255), nullable=False)
     dosen_kumulativ = db.Column(db.Integer, nullable=False)
     dosen_differenz_zum_vortag = db.Column(db.Integer, nullable=False)
     dosen_biontech_kumulativ = db.Column(db.Integer, nullable=False)
@@ -25,14 +26,6 @@ class RkiVaccinationImport(db.Model):
     indikation_beruf_voll = db.Column(db.Integer, nullable=False)
     indikation_medizinisch_voll = db.Column(db.Integer, nullable=False)
     indikation_pflegeheim_voll = db.Column(db.Integer, nullable=False)
-    date_reported = db.Column(db.String(255), nullable=False)
-    datum = db.Column(db.Date, nullable=False)
-    year = db.Column(db.Integer, nullable=False)
-    month = db.Column(db.Integer, nullable=False)
-    day_of_month = db.Column(db.Integer, nullable=False)
-    day_of_week = db.Column(db.Integer, nullable=False)
-    week_of_year = db.Column(db.Integer, nullable=False)
-    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
@@ -125,4 +118,40 @@ class RkiVaccinationImport(db.Model):
         new_dates = []
         for item, in db.session.execute(sql_query):
             new_dates.append(item)
-        return new_dates
\ No newline at end of file
+        return new_dates
+
+
+class RkiVaccinationFlat(db.Model):
+    __tablename__ = 'application__import__rki_vaccination_flat'
+
+    id = db.Column(db.Integer, primary_key=True)
+    date_reported_import_str = db.Column(db.String(255), nullable=False, unique=True)
+    year_week = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False, unique=True)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    location = db.Column(db.String(255), nullable=False)
+    location_group = db.Column(db.String(255), nullable=False)
+    dosen_kumulativ = db.Column(db.Integer, nullable=False)
+    dosen_differenz_zum_vortag = db.Column(db.Integer, nullable=False)
+    dosen_biontech_kumulativ = db.Column(db.Integer, nullable=False)
+    dosen_moderna_kumulativ = db.Column(db.Integer, nullable=False)
+    personen_erst_kumulativ = db.Column(db.Integer, nullable=False)
+    personen_voll_kumulativ = db.Column(db.Integer, nullable=False)
+    impf_quote_erst = db.Column(db.Float, nullable=False)
+    impf_quote_voll = db.Column(db.Float, nullable=False)
+    indikation_alter_dosen = db.Column(db.Integer, nullable=False)
+    indikation_beruf_dosen = db.Column(db.Integer, nullable=False)
+    indikation_medizinisch_dosen = db.Column(db.Integer, nullable=False)
+    indikation_pflegeheim_dosen = db.Column(db.Integer, nullable=False)
+    indikation_alter_erst = db.Column(db.Integer, nullable=False)
+    indikation_beruf_erst = db.Column(db.Integer, nullable=False)
+    indikation_medizinisch_erst = db.Column(db.Integer, nullable=False)
+    indikation_pflegeheim_erst = db.Column(db.Integer, nullable=False)
+    indikation_alter_voll = db.Column(db.Integer, nullable=False)
+    indikation_beruf_voll = db.Column(db.Integer, nullable=False)
+    indikation_medizinisch_voll = db.Column(db.Integer, nullable=False)
+    indikation_pflegeheim_voll = db.Column(db.Integer, nullable=False)
diff --git a/src/covid19/blueprints/who/who_model_import.py b/src/covid19/blueprints/who/who_model_import.py
index ac099e8d..da8c5806 100644
--- a/src/covid19/blueprints/who/who_model_import.py
+++ b/src/covid19/blueprints/who/who_model_import.py
@@ -170,3 +170,27 @@ class WhoImport(db.Model):
             if not item in dates_reported:
                 dates_reported.append(item)
         return dates_reported
+
+
+class WhoFlat(db.Model):
+    __tablename__ = 'application__import__who_flat'
+
+    id = db.Column(db.Integer, primary_key=True)
+    date_reported_import_str = db.Column(db.String(255), nullable=False, unique=True)
+    year_week = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False, unique=True)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    location = db.Column(db.String(255), nullable=False)
+    location_group = db.Column(db.String(255), nullable=False)
+    new_cases = db.Column(db.String(255), nullable=False)
+    cumulative_cases = db.Column(db.String(255), nullable=False)
+    new_deaths = db.Column(db.String(255), nullable=False)
+    cumulative_deaths = db.Column(db.String(255), nullable=False)
+    country_code = db.Column(db.String(255), nullable=False)
+    country = db.Column(db.String(255), nullable=False)
+    who_region = db.Column(db.String(255), nullable=False)
+    date_reported = db.Column(db.String(255), nullable=False)
-- 
GitLab