From 0f0fa8cc56c7a7745c088125415e5ad1eb1310b6 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Sat, 15 Apr 2023 18:03:56 +0200 Subject: [PATCH] Add date to contract --- sql/v01/10.create.sql | 18 ++++++++++-------- wgmaster/migrate.py | 4 ++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/sql/v01/10.create.sql b/sql/v01/10.create.sql index e27ad8d..ec24d94 100644 --- a/sql/v01/10.create.sql +++ b/sql/v01/10.create.sql @@ -95,7 +95,7 @@ CREATE TABLE AT_plz ( ort TEXT NOT NULL, blnr INTEGER NOT NULL, type TEXT NOT NULL, - internal INTEGER NOT NULL CHECK (internal IN (TRUE, FALSE)), + internal INTEGER NOT NULL CHECK (internal IN (TRUE, FALSE)), addressable INTEGER NOT NULL CHECK (addressable IN (TRUE, FALSE)), po_box INTEGER NOT NULL CHECK (po_box IN (TRUE, FALSE)), @@ -283,10 +283,10 @@ CREATE TABLE member ( lfbis_nr TEXT CHECK (lfbis_nr REGEXP '^[0-9]{7}$') DEFAULT NULL, ustid TEXT CHECK (ustid REGEXP '^[A-Z]{2}[A-Z0-9]{2,12}$') DEFAULT NULL, - volllieferant INTEGER NOT NULL CHECK (volllieferant IN (FALSE, TRUE)) DEFAULT FALSE, - buchführend INTEGER NOT NULL CHECK (buchführend IN (FALSE, TRUE)) DEFAULT FALSE, - funktionär INTEGER NOT NULL CHECK (funktionär IN (FALSE, TRUE)) DEFAULT FALSE, - active INTEGER NOT NULL CHECK (active IN (FALSE, TRUE)) DEFAULT TRUE, + volllieferant INTEGER NOT NULL CHECK (volllieferant IN (TRUE, FALSE)) DEFAULT FALSE, + buchführend INTEGER NOT NULL CHECK (buchführend IN (TRUE, FALSE)) DEFAULT FALSE, + funktionär INTEGER NOT NULL CHECK (funktionär IN (TRUE, FALSE)) DEFAULT FALSE, + active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE, iban TEXT CHECK (iban REGEXP '^[A-Z]{2}[0-9]{2}[A-Z0-9]{8,30}$') DEFAULT NULL, bic TEXT CHECK (bic REGEXP '^[A-Z0-9]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$') DEFAULT NULL, @@ -321,8 +321,8 @@ CREATE TABLE member ( CREATE TABLE member_billing_address ( mgnr INTEGER NOT NULL, - name TEXT NOT NULL, + name TEXT NOT NULL, country TEXT NOT NULL, postal_dest TEXT NOT NULL, address TEXT NOT NULL, @@ -340,8 +340,9 @@ CREATE TABLE contract ( vnr INTEGER NOT NULL, mgnr INTEGER NOT NULL, - year_from INTEGER NOT NULL CHECK (year_from >= 1000 AND year_from <= 9999), - year_to INTEGER CHECK (year_to >= 1000 AND year_to <= 9999) DEFAULT NULL, + date TEXT CHECK (date REGEXP '^[1-9][0-9]{3}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$') DEFAULT CURRENT_DATE, + year_from INTEGER CHECK (year_from >= 1000 AND year_from <= 9999) DEFAULT NULL, + year_to INTEGER CHECK (year_to >= 1000 AND year_to <= 9999) DEFAULT NULL, comment TEXT DEFAULT NULL, CONSTRAINT pk_contract PRIMARY KEY (vnr), @@ -354,6 +355,7 @@ CREATE TABLE area_commitment ( vnr INTEGER NOT NULL, sortid TEXT NOT NULL, cultid TEXT NOT NULL, + area INTEGER NOT NULL, CONSTRAINT pk_area_commitment PRIMARY KEY (vnr), diff --git a/wgmaster/migrate.py b/wgmaster/migrate.py index 54c4e60..956d4db 100755 --- a/wgmaster/migrate.py +++ b/wgmaster/migrate.py @@ -654,7 +654,7 @@ def migrate_contracts(in_dir: str, out_dir: str) -> None: open(f'{out_dir}/area_commitment.csv', 'w+') as f_fb, \ open(f'{out_dir}/area_commitment_parcel.csv', 'w+') as f_parc, \ open(f'{out_dir}/area_commitment_attribute.csv', 'w+') as f_attr: - f_c.write('vnr;mgnr;year_from;year_to;comment\n') + f_c.write('vnr;mgnr;date;year_from;year_to;comment\n') f_fb.write('vnr;sortid;cultid;area\n') f_parc.write('vnr;kgnr;gstnr;rdnr;area\n') f_attr.write('vnr;attrid\n') @@ -682,7 +682,7 @@ def migrate_contracts(in_dir: str, out_dir: str) -> None: comment = f'KG {kgnr}: {parz}' to = fb['Bis'] if fb['Bis'] and fb['Bis'] < 3000 else None - f_c.write(csv.format_row(vnr, mgnr, fb['Von'], to, comment)) + f_c.write(csv.format_row(vnr, mgnr, None, fb['Von'], to, comment)) f_fb.write(csv.format_row(vnr, fb['SNR'], CULTIVATION_MAP[fb['BANR']], area)) if fb['SANR']: