SeasonFinishWindow: fix output csv

This commit is contained in:
2023-11-08 16:43:12 +01:00
parent 78d83691df
commit 73b3ddbcff

View File

@ -112,17 +112,15 @@ namespace Elwig.Windows {
await file.WriteLineAsync($";;;;;;;;;;;");
await file.WriteLineAsync($"Unterlieferungen lt. Flächenbindungen;;;;;;;;;;;");
await file.WriteLineAsync($"MgNr;Name;Vorname;Adresse;PLZ;Ort;Vertrag;Fläche;Max. Ertrag;Lieferpflicht;Geliefert;Unterliefert;Prozent");
await file.WriteLineAsync($"MgNr;Name;Vorname;Adresse;PLZ;Ort;Vertrag;Fläche;Lieferpflicht;Geliefert;Unterliefert;Prozent");
using (var cmd = cnx.CreateCommand()) {
cmd.CommandText = $"""
SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name, m.address,
c.bucket, c.area, COALESCE(a.max_kg_per_ha, s.max_kg_per_ha), u.min_kg, u.weight
c.bucket, c.area, u.min_kg, u.weight
FROM member m
LEFT JOIN season s ON s.year = {year}
LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest
LEFT JOIN AT_ort o ON o.okz = p.okz
LEFT JOIN v_area_commitment_bucket_strict c ON (c.mgnr, c.year) = (m.mgnr, s.year)
LEFT JOIN wine_attribute a ON a.attrid = c.attrid
JOIN v_under_delivery u ON (u.mgnr, u.bucket, u.year) = (m.mgnr, c.bucket, c.year)
WHERE m.active = 1
ORDER BY m.mgnr, c.bucket
@ -137,10 +135,9 @@ namespace Elwig.Windows {
var addr = reader.GetString(5);
var id = reader.GetString(6);
var area = reader.GetInt32(7);
var maxKgPerHa = reader.GetInt32(8);
var minKg = reader.GetInt32(9);
var sum = reader.GetInt32(10);
await file.WriteLineAsync($"{mgnr};{familyName};{givenName};{addr};{plz};{ort};{id};{area};{maxKgPerHa};{minKg};{sum};{sum - minKg};{sum * 100.0 / minKg - 100.0:0.0}");
var minKg = reader.GetInt32(8);
var sum = reader.GetInt32(9);
await file.WriteLineAsync($"{mgnr};{familyName};{givenName};{addr};{plz};{ort};{id};{area};{minKg};{sum};{sum - minKg};{sum * 100.0 / minKg - 100.0:0.0}");
}
}