Add date to contract

This commit is contained in:
2023-04-15 18:03:56 +02:00
parent 8cd441f7f8
commit b0b9ac9a4c
2 changed files with 12 additions and 10 deletions

View File

@ -95,7 +95,7 @@ CREATE TABLE AT_plz (
ort TEXT NOT NULL, ort TEXT NOT NULL,
blnr INTEGER NOT NULL, blnr INTEGER NOT NULL,
type TEXT 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)), addressable INTEGER NOT NULL CHECK (addressable IN (TRUE, FALSE)),
po_box INTEGER NOT NULL CHECK (po_box 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, 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, 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, volllieferant INTEGER NOT NULL CHECK (volllieferant IN (TRUE, FALSE)) DEFAULT FALSE,
buchführend INTEGER NOT NULL CHECK (buchführend IN (FALSE, TRUE)) DEFAULT FALSE, buchführend INTEGER NOT NULL CHECK (buchführend IN (TRUE, FALSE)) DEFAULT FALSE,
funktionär INTEGER NOT NULL CHECK (funktionär IN (FALSE, TRUE)) DEFAULT FALSE, funktionär INTEGER NOT NULL CHECK (funktionär IN (TRUE, FALSE)) DEFAULT FALSE,
active INTEGER NOT NULL CHECK (active IN (FALSE, TRUE)) DEFAULT TRUE, 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, 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, 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 ( CREATE TABLE member_billing_address (
mgnr INTEGER NOT NULL, mgnr INTEGER NOT NULL,
name TEXT NOT NULL,
name TEXT NOT NULL,
country TEXT NOT NULL, country TEXT NOT NULL,
postal_dest TEXT NOT NULL, postal_dest TEXT NOT NULL,
address TEXT NOT NULL, address TEXT NOT NULL,
@ -340,8 +340,9 @@ CREATE TABLE contract (
vnr INTEGER NOT NULL, vnr INTEGER NOT NULL,
mgnr INTEGER NOT NULL, mgnr INTEGER NOT NULL,
year_from INTEGER NOT NULL CHECK (year_from >= 1000 AND year_from <= 9999), 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_to INTEGER CHECK (year_to >= 1000 AND year_to <= 9999) DEFAULT NULL, 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, comment TEXT DEFAULT NULL,
CONSTRAINT pk_contract PRIMARY KEY (vnr), CONSTRAINT pk_contract PRIMARY KEY (vnr),
@ -354,6 +355,7 @@ CREATE TABLE area_commitment (
vnr INTEGER NOT NULL, vnr INTEGER NOT NULL,
sortid TEXT NOT NULL, sortid TEXT NOT NULL,
cultid TEXT NOT NULL, cultid TEXT NOT NULL,
area INTEGER NOT NULL, area INTEGER NOT NULL,
CONSTRAINT pk_area_commitment PRIMARY KEY (vnr), CONSTRAINT pk_area_commitment PRIMARY KEY (vnr),

View File

@ -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.csv', 'w+') as f_fb, \
open(f'{out_dir}/area_commitment_parcel.csv', 'w+') as f_parc, \ open(f'{out_dir}/area_commitment_parcel.csv', 'w+') as f_parc, \
open(f'{out_dir}/area_commitment_attribute.csv', 'w+') as f_attr: 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_fb.write('vnr;sortid;cultid;area\n')
f_parc.write('vnr;kgnr;gstnr;rdnr;area\n') f_parc.write('vnr;kgnr;gstnr;rdnr;area\n')
f_attr.write('vnr;attrid\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}' comment = f'KG {kgnr}: {parz}'
to = fb['Bis'] if fb['Bis'] and fb['Bis'] < 3000 else None 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)) f_fb.write(csv.format_row(vnr, fb['SNR'], CULTIVATION_MAP[fb['BANR']], area))
if fb['SANR']: if fb['SANR']: