database: Organic update
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ WHERE hkid = 'WLNS' AND k.name NOT IN
|
|||||||
('Nickelsdorf', 'Zurndorf', 'Parndorf', 'Bruckneudorf', 'Kaisersteinbruch', 'Gattendorf', 'Neudorf bei Parndorf',
|
('Nickelsdorf', 'Zurndorf', 'Parndorf', 'Bruckneudorf', 'Kaisersteinbruch', 'Gattendorf', 'Neudorf bei Parndorf',
|
||||||
'Potzneusiedl', 'Pama', 'Deutsch Jahrndorf', 'Kittsee', 'Edelstal');
|
'Potzneusiedl', 'Pama', 'Deutsch Jahrndorf', 'Kittsee', 'Edelstal');
|
||||||
|
|
||||||
INSERT INTO member (mgnr, name, given_name, juridical_pers, zwstid, birthday, entry_date, shares, volllieferant, buchführend, country, postal_dest, address, default_kgnr, iban, lfbis_nr, ustid_nr) VALUES
|
INSERT INTO member (mgnr, name, given_name, juridical_pers, zwstid, birthday, entry_date, shares, full_delivery, accounting, country, postal_dest, address, default_kgnr, iban, lfbis_nr, ustid_nr) VALUES
|
||||||
(101, 'Mustermann', 'Max', FALSE, 'X', '1991', '2012-06-04', 5, FALSE, FALSE, 40, 715200162, 'Winzerstraße 1', 32019, 'AT811234567890123457', '0123463', NULL ),
|
(101, 'Mustermann', 'Max', FALSE, 'X', '1991', '2012-06-04', 5, FALSE, FALSE, 40, 715200162, 'Winzerstraße 1', 32019, 'AT811234567890123457', '0123463', NULL ),
|
||||||
(102, 'Weinbauer', 'Wernhardt', FALSE, 'X', '1975', '1994-05-20', 3, FALSE, FALSE, 40, 714300143, 'Winzerstraße 2', 32002, 'AT541234567890123458', '0123471', 'ATU12345684'),
|
(102, 'Weinbauer', 'Wernhardt', FALSE, 'X', '1975', '1994-05-20', 3, FALSE, FALSE, 40, 714300143, 'Winzerstraße 2', 32002, 'AT541234567890123458', '0123471', 'ATU12345684'),
|
||||||
(103, 'Musterbauer', 'Matthäus', FALSE, 'X', '2000', '2021-07-03', 4, FALSE, FALSE, 40, 714200154, 'Ödenburger Straße 10', 32010, 'AT271234567890123459', '0123480', NULL ),
|
(103, 'Musterbauer', 'Matthäus', FALSE, 'X', '2000', '2021-07-03', 4, FALSE, FALSE, 40, 714200154, 'Ödenburger Straße 10', 32010, 'AT271234567890123459', '0123480', NULL ),
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ FROM wb_gem wg
|
|||||||
WHERE hkid = 'WLWV' AND g.gkz / 100 IN (308, 316) AND k.name IN
|
WHERE hkid = 'WLWV' AND g.gkz / 100 IN (308, 316) AND k.name IN
|
||||||
('Erdpreß', 'Martinsdorf', 'Niedersulz', 'Obersulz', 'Großinzersdorf', 'Palterndorf', 'Gaweinstal', 'Zistersdorf');
|
('Erdpreß', 'Martinsdorf', 'Niedersulz', 'Obersulz', 'Großinzersdorf', 'Palterndorf', 'Gaweinstal', 'Zistersdorf');
|
||||||
|
|
||||||
INSERT INTO member (mgnr, name, given_name, juridical_pers, zwstid, birthday, entry_date, shares, volllieferant, buchführend, country, postal_dest, address, default_kgnr, iban, lfbis_nr, ustid_nr) VALUES
|
INSERT INTO member (mgnr, name, given_name, juridical_pers, zwstid, birthday, entry_date, shares, full_delivery, accounting, country, postal_dest, address, default_kgnr, iban, lfbis_nr, ustid_nr) VALUES
|
||||||
(101, 'Mustermann', 'Max', FALSE, 'X', '1991', '2012-06-04', 5, FALSE, FALSE, 40, 212005138, 'Winzerstraße 1', 15224, 'AT811234567890123457', '0123463', NULL ),
|
(101, 'Mustermann', 'Max', FALSE, 'X', '1991', '2012-06-04', 5, FALSE, FALSE, 40, 212005138, 'Winzerstraße 1', 15224, 'AT811234567890123457', '0123463', NULL ),
|
||||||
(102, 'Weinbauer', 'Wernhardt', FALSE, 'X', '1975', '1994-05-20', 3, FALSE, FALSE, 40, 221105097, 'Winzerstraße 2', 15213, 'AT541234567890123458', '0123471', 'ATU12345684'),
|
(102, 'Weinbauer', 'Wernhardt', FALSE, 'X', '1975', '1994-05-20', 3, FALSE, FALSE, 40, 221105097, 'Winzerstraße 2', 15213, 'AT541234567890123458', '0123471', 'ATU12345684'),
|
||||||
(103, 'Musterbauer', 'Matthäus', FALSE, 'X', '2000', '2021-07-03', 4, FALSE, FALSE, 40, 222303524, 'Brünner Straße 10', 06019, 'AT271234567890123459', '0123480', NULL ),
|
(103, 'Musterbauer', 'Matthäus', FALSE, 'X', '2000', '2021-07-03', 4, FALSE, FALSE, 40, 222303524, 'Brünner Straße 10', 06019, 'AT271234567890123459', '0123480', NULL ),
|
||||||
|
|||||||
+3
-3
@@ -16,9 +16,9 @@ INSERT INTO client_parameter (param, value) VALUES
|
|||||||
INSERT INTO branch (zwstid, name, country, postal_dest, address) VALUES
|
INSERT INTO branch (zwstid, name, country, postal_dest, address) VALUES
|
||||||
('X', 'Test', 40, 111017233, 'Winzerstraße 1');
|
('X', 'Test', 40, 111017233, 'Winzerstraße 1');
|
||||||
|
|
||||||
INSERT INTO wine_cultivation (cultid, name, description) VALUES
|
INSERT INTO wine_cultivation (cultid, name, description, organic) VALUES
|
||||||
('K', 'KIP', 'Kontrollierte Integrierte Produktion'),
|
('K', 'KIP', 'Kontrollierte Integrierte Produktion', FALSE),
|
||||||
('B', 'Bio', NULL);
|
('B', 'Bio', 'Biologische Produktion', TRUE);
|
||||||
|
|
||||||
INSERT INTO wine_attribute (attrid, name, active, max_kg_per_ha, strict, fill_lower) VALUES
|
INSERT INTO wine_attribute (attrid, name, active, max_kg_per_ha, strict, fill_lower) VALUES
|
||||||
('D', 'DAC', TRUE, 7500, FALSE, 0),
|
('D', 'DAC', TRUE, 7500, FALSE, 0),
|
||||||
|
|||||||
@@ -61,8 +61,10 @@ CREATE TABLE area_commitment_type (
|
|||||||
) STRICT;
|
) STRICT;
|
||||||
|
|
||||||
CREATE TABLE wine_cultivation (
|
CREATE TABLE wine_cultivation (
|
||||||
cultid TEXT NOT NULL CHECK (cultid REGEXP '^[A-Z][A-Z0-9]*$'),
|
cultid TEXT NOT NULL CHECK (cultid REGEXP '^[A-Z][A-Z0-9]*$'),
|
||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
|
organic INTEGER NOT NULL CHECK (organic IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
|
|
||||||
description TEXT DEFAULT NULL,
|
description TEXT DEFAULT NULL,
|
||||||
|
|
||||||
CONSTRAINT pk_wine_cultivation PRIMARY KEY (cultid),
|
CONSTRAINT pk_wine_cultivation PRIMARY KEY (cultid),
|
||||||
@@ -93,11 +95,13 @@ 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_nr TEXT CHECK (ustid_nr REGEXP '^[A-Z]{2}[A-Z0-9]{2,12}$') DEFAULT NULL,
|
ustid_nr TEXT CHECK (ustid_nr REGEXP '^[A-Z]{2}[A-Z0-9]{2,12}$') DEFAULT NULL,
|
||||||
|
ooc_id TEXT CHECK (ooc_id REGEXP '^[0-9]{3}-[0-9]{7}$') DEFAULT NULL,
|
||||||
|
org_auth_code TEXT CHECK (org_auth_code REGEXP '^[A-Z]{2}-[A-ZÖØ]{3}-[0-9]{2,3}(-[A-Z]{2})?$') DEFAULT NULL,
|
||||||
juridical_pers INTEGER NOT NULL CHECK (juridical_pers IN (TRUE, FALSE)) DEFAULT FALSE,
|
juridical_pers INTEGER NOT NULL CHECK (juridical_pers IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
volllieferant INTEGER NOT NULL CHECK (volllieferant IN (TRUE, FALSE)) DEFAULT FALSE,
|
full_delivery INTEGER NOT NULL CHECK (full_delivery IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
buchführend INTEGER NOT NULL CHECK (buchführend IN (TRUE, FALSE)) DEFAULT FALSE,
|
accounting INTEGER NOT NULL CHECK (accounting IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
organic INTEGER NOT NULL CHECK (organic IN (TRUE, FALSE)) DEFAULT FALSE,
|
organic INTEGER NOT NULL CHECK (organic IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
funktionär INTEGER NOT NULL CHECK (funktionär IN (TRUE, FALSE)) DEFAULT FALSE,
|
officer INTEGER NOT NULL CHECK (officer IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE,
|
active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE,
|
||||||
deceased INTEGER NOT NULL CHECK (deceased IN (TRUE, FALSE)) DEFAULT FALSE,
|
deceased INTEGER NOT NULL CHECK (deceased IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
|
|
||||||
@@ -243,7 +247,8 @@ CREATE TABLE member_history (
|
|||||||
source TEXT NOT NULL CHECK (source REGEXP '^[a-z_]+$'),
|
source TEXT NOT NULL CHECK (source REGEXP '^[a-z_]+$'),
|
||||||
|
|
||||||
shares INTEGER NOT NULL CHECK (shares > 0),
|
shares INTEGER NOT NULL CHECK (shares > 0),
|
||||||
signed INTEGER NOT NULL CHECK (signed IN (TRUE, FALSE)) DEFAULT FALSE,
|
signed_company INTEGER NOT NULL CHECK (signed_company IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
|
signed_member INTEGER NOT NULL CHECK (signed_member IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
value_per_share INTEGER DEFAULT NULL,
|
value_per_share INTEGER DEFAULT NULL,
|
||||||
currency TEXT DEFAULT NULL,
|
currency TEXT DEFAULT NULL,
|
||||||
deduct_year INTEGER DEFAULT NULL,
|
deduct_year INTEGER DEFAULT NULL,
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ CREATE TABLE delivery_part (
|
|||||||
spl_check INTEGER NOT NULL CHECK (spl_check IN (TRUE, FALSE)) DEFAULT FALSE,
|
spl_check INTEGER NOT NULL CHECK (spl_check IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||||
|
|
||||||
hand_picked INTEGER CHECK (hand_picked IN (TRUE, FALSE)) DEFAULT NULL,
|
hand_picked INTEGER CHECK (hand_picked IN (TRUE, FALSE)) DEFAULT NULL,
|
||||||
gebunden INTEGER CHECK (gebunden IN (TRUE, FALSE)) DEFAULT NULL,
|
contracted INTEGER CHECK (contracted IN (TRUE, FALSE)) DEFAULT NULL,
|
||||||
unloading TEXT DEFAULT NULL,
|
unloading TEXT DEFAULT NULL,
|
||||||
|
|
||||||
temperature REAL DEFAULT NULL,
|
temperature REAL DEFAULT NULL,
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ SELECT p.year, p.did, p.dpnr,
|
|||||||
v.sortid, v.type, a.attrid, p.cultid,
|
v.sortid, v.type, a.attrid, p.cultid,
|
||||||
p.weight, p.kmw, ROUND(p.kmw * (4.54 + 0.022 * p.kmw), 0) AS oe, p.qualid,
|
p.weight, p.kmw, ROUND(p.kmw * (4.54 + 0.022 * p.kmw), 0) AS oe, p.qualid,
|
||||||
p.hkid, p.kgnr, p.rdnr,
|
p.hkid, p.kgnr, p.rdnr,
|
||||||
p.net_weight, p.gebunden,
|
p.net_weight, p.contracted,
|
||||||
p.qualid IN (SELECT l.qualid FROM wine_quality_level l WHERE NOT l.predicate AND (p.kmw >= l.min_kmw OR l.min_kmw IS NULL) ORDER BY l.min_kmw DESC LIMIT 1,100) AS abgewertet,
|
p.qualid IN (SELECT l.qualid FROM wine_quality_level l WHERE NOT l.predicate AND (p.kmw >= l.min_kmw OR l.min_kmw IS NULL) ORDER BY l.min_kmw DESC LIMIT 1,100) AS abgewertet,
|
||||||
p.qualid NOT IN ('WEI', 'RSW', 'LDW') AS min_quw,
|
p.qualid NOT IN ('WEI', 'RSW', 'LDW') AS min_quw,
|
||||||
IIF(a.strict, COALESCE(a.fill_lower, 0), 0) AS attribute_prio,
|
IIF(a.strict, COALESCE(a.fill_lower, 0), 0) AS attribute_prio,
|
||||||
@@ -127,7 +127,7 @@ SELECT s.year, m.mgnr, m.lfbis_nr, m.name,
|
|||||||
(COALESCE(m.prefix || ' ', '') || m.given_name || COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '')) AS other_names,
|
(COALESCE(m.prefix || ' ', '') || m.given_name || COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '')) AS other_names,
|
||||||
a.name AS billing_name, COALESCE(a.address, m.address) AS address,
|
a.name AS billing_name, COALESCE(a.address, m.address) AS address,
|
||||||
COALESCE(a.country, m.country) AS country, COALESCE(a.postal_dest, m.postal_dest) AS postal_dest,
|
COALESCE(a.country, m.country) AS country, COALESCE(a.postal_dest, m.postal_dest) AS postal_dest,
|
||||||
m.volllieferant AS vollablieferer,
|
m.full_delivery AS vollablieferer,
|
||||||
SUM(COALESCE(IIF((c.year_from IS NULL OR c.year_from <= s.year) AND (c.year_to IS NULL OR c.year_to >= s.year), c.area, NULL), 0)) AS area
|
SUM(COALESCE(IIF((c.year_from IS NULL OR c.year_from <= s.year) AND (c.year_to IS NULL OR c.year_to >= s.year), c.area, NULL), 0)) AS area
|
||||||
FROM season s, member m
|
FROM season s, member m
|
||||||
LEFT JOIN member_billing_address a ON a.mgnr = m.mgnr
|
LEFT JOIN member_billing_address a ON a.mgnr = m.mgnr
|
||||||
@@ -198,7 +198,7 @@ CREATE VIEW v_stat_total AS
|
|||||||
SELECT d.year, d.zwstid, v.type, v.sortid,
|
SELECT d.year, d.zwstid, v.type, v.sortid,
|
||||||
IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL) AS attrid,
|
IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL) AS attrid,
|
||||||
p.cultid, q.qualid,
|
p.cultid, q.qualid,
|
||||||
IIF(b.discr = '_', 'ungeb', 'geb') AS geb,
|
IIF(b.discr = '_', 'ungeb', 'geb') AS contracted,
|
||||||
SUM(value) AS weight
|
SUM(value) AS weight
|
||||||
FROM delivery_part p
|
FROM delivery_part p
|
||||||
LEFT JOIN delivery d ON (d.year, d.did) = (p.year, p.did)
|
LEFT JOIN delivery d ON (d.year, d.did) = (p.year, p.did)
|
||||||
@@ -206,9 +206,9 @@ FROM delivery_part p
|
|||||||
LEFT JOIN wine_quality_level q ON q.qualid = p.qualid
|
LEFT JOIN wine_quality_level q ON q.qualid = p.qualid
|
||||||
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr) = (p.year, p.did, p.dpnr)
|
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr) = (p.year, p.did, p.dpnr)
|
||||||
LEFT JOIN v_wine_attribute a ON a.attrid = p.attrid
|
LEFT JOIN v_wine_attribute a ON a.attrid = p.attrid
|
||||||
GROUP BY d.year, d.zwstid, v.type, v.sortid, IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL), p.cultid, q.qualid, geb
|
GROUP BY d.year, d.zwstid, v.type, v.sortid, IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL), p.cultid, q.qualid, contracted
|
||||||
HAVING SUM(value) > 0
|
HAVING SUM(value) > 0
|
||||||
ORDER BY d.year, d.zwstid, v.type DESC, v.sortid, IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL), p.cultid, q.min_kmw, geb;
|
ORDER BY d.year, d.zwstid, v.type DESC, v.sortid, IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL), p.cultid, q.min_kmw, contracted;
|
||||||
|
|
||||||
CREATE VIEW v_stat_modifier AS
|
CREATE VIEW v_stat_modifier AS
|
||||||
SELECT v.year, v.avnr, m.modid, m.name, m.abs, m.rel,
|
SELECT v.year, v.avnr, m.modid, m.name, m.abs, m.rel,
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ SELECT d.year, d.mgnr,
|
|||||||
d.sortid || b.discr AS bucket,
|
d.sortid || b.discr AS bucket,
|
||||||
d.sortid, IIF(b.discr IN ('', '_'), NULL, b.discr) AS attrid,
|
d.sortid, IIF(b.discr IN ('', '_'), NULL, b.discr) AS attrid,
|
||||||
SUM(b.value) AS weight,
|
SUM(b.value) AS weight,
|
||||||
b.discr != '_' AS gebunden
|
b.discr != '_' AS contracted
|
||||||
FROM v_delivery d
|
FROM v_delivery d
|
||||||
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr) = (d.year, d.did, d.dpnr)
|
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr) = (d.year, d.did, d.dpnr)
|
||||||
GROUP BY d.year, d.mgnr, bucket
|
GROUP BY d.year, d.mgnr, bucket
|
||||||
@@ -71,13 +71,13 @@ ORDER BY d.year, d.mgnr, bucket;
|
|||||||
CREATE VIEW v_payment_bucket AS
|
CREATE VIEW v_payment_bucket AS
|
||||||
SELECT year, mgnr, bucket, weight
|
SELECT year, mgnr, bucket, weight
|
||||||
FROM v_payment_bucket_strict
|
FROM v_payment_bucket_strict
|
||||||
WHERE attrid IS NOT NULL OR NOT gebunden
|
WHERE attrid IS NOT NULL OR NOT contracted
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT b.year, b.mgnr, b.sortid,
|
SELECT b.year, b.mgnr, b.sortid,
|
||||||
SUM(b.weight) AS weight
|
SUM(b.weight) AS weight
|
||||||
FROM v_payment_bucket_strict b
|
FROM v_payment_bucket_strict b
|
||||||
LEFT JOIN wine_attribute a ON a.attrid = b.attrid
|
LEFT JOIN wine_attribute a ON a.attrid = b.attrid
|
||||||
WHERE gebunden AND (a.strict IS NULL OR a.strict = FALSE)
|
WHERE contracted AND (a.strict IS NULL OR a.strict = FALSE)
|
||||||
GROUP BY b.year, b.mgnr, b.sortid
|
GROUP BY b.year, b.mgnr, b.sortid
|
||||||
ORDER BY year, mgnr, bucket;
|
ORDER BY year, mgnr, bucket;
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ FROM v_under_delivery_bucket_strict u
|
|||||||
LEFT JOIN v_payment_bucket_strict p ON (p.year, p.mgnr, p.sortid) = (u.year, u.mgnr, u.bucket) AND p.attrid IS NOT NULL
|
LEFT JOIN v_payment_bucket_strict p ON (p.year, p.mgnr, p.sortid) = (u.year, u.mgnr, u.bucket) AND p.attrid IS NOT NULL
|
||||||
LEFT JOIN wine_attribute a ON a.attrid = p.attrid
|
LEFT JOIN wine_attribute a ON a.attrid = p.attrid
|
||||||
LEFT JOIN v_area_commitment_bucket_strict s ON (s.year, s.mgnr, s.bucket) = (p.year, p.mgnr, p.bucket)
|
LEFT JOIN v_area_commitment_bucket_strict s ON (s.year, s.mgnr, s.bucket) = (p.year, p.mgnr, p.bucket)
|
||||||
WHERE (p.gebunden IS NULL OR p.gebunden) AND (a.strict IS NULL OR a.strict = FALSE)
|
WHERE (p.contracted IS NULL OR p.contracted) AND (a.strict IS NULL OR a.strict = FALSE)
|
||||||
GROUP BY u.year, u.mgnr, u.bucket
|
GROUP BY u.year, u.mgnr, u.bucket
|
||||||
ORDER BY u.year, u.mgnr, u.bucket;
|
ORDER BY u.year, u.mgnr, u.bucket;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
|
|
||||||
-- This value MUST NOT be changed while other connections are open!
|
-- This value MUST NOT be changed while other connections are open!
|
||||||
PRAGMA schema_version = 4100;
|
PRAGMA schema_version = 4200;
|
||||||
|
|||||||
Reference in New Issue
Block a user