Billing: fix calculation

This commit is contained in:
2023-11-02 11:57:38 +01:00
parent 193b4688d3
commit 9f67448b72
20 changed files with 327 additions and 117 deletions

View File

@ -89,18 +89,16 @@ namespace Elwig.Dialogs {
FROM v_delivery v
JOIN delivery_part p ON (p.year, p.did, p.dpnr) = (v.year, v.did, v.dpnr)
WHERE v.year = {Year}
ORDER BY v.sortid, v.abgewertet ASC,
COALESCE(LENGTH(v.attributes), 0) ASC, attribute_prio DESC, COALESCE(v.attributes, '~'),
v.kmw DESC, v.lsnr, v.dpnr
ORDER BY v.sortid, v.abgewertet ASC, v.attribute_prio DESC, COALESCE(v.attrid, '~'), v.kmw DESC, v.lsnr, v.dpnr
""")
.ToListAsync();
using var doc = Document.Merge(list.Select(m =>
new DeliveryConfirmation(Context, Year, m, deliveries.Where(d => d.Delivery.MgNr == m.MgNr).ToList()) {
DoubleSided = true
//DoubleSided = true
}
));
doc.DoubleSided = true;
//doc.DoubleSided = true;
await doc.Generate(new Progress<double>(v => {
ProgressBar.Value = v;
}));

View File

@ -27,9 +27,9 @@
<Button x:Name="CalculateBinsButton" Content="Aufteilung Berechnen"
Click="CalculateBinsButton_Click"
Margin="50,80,0,0"/>
<CheckBox x:Name="AllowAttrIntoLowerBinsInput" Content="Erlauben Lieferungen auch auf (konfigurierte) &quot;schlechtere&quot; Flächenbindungen aufzuteilen" IsChecked="True"
<CheckBox x:Name="AllowAttrIntoLowerBinsInput" Content="Erlauben Lieferungen auch auf (konfigurierte) &quot;schlechtere&quot; Flächenbindungen aufzuteilen"
VerticalAlignment="Top" HorizontalAlignment="Left" Margin="255,68,0,0"/>
<CheckBox x:Name="AvoidUnderDeliveriesInput" Content="Unterlieferungen durch Abzug bei &quot;besseren&quot; Flächenbindungen vermeiden" IsChecked="True"
<CheckBox x:Name="AvoidUnderDeliveriesInput" Content="Unterlieferungen durch Abzug bei &quot;besseren&quot; Flächenbindungen vermeiden"
VerticalAlignment="Top" HorizontalAlignment="Left" Margin="255,88,0,0"/>
<CheckBox x:Name="HonorGebundenInput" Margin="255,108,0,0" VerticalAlignment="Top">
<TextBlock>Bei Lieferungen das Feld <Italic>Gebunden</Italic> berücksichtigen</TextBlock>

View File

@ -115,14 +115,14 @@ namespace Elwig.Windows {
using (var cmd = cnx.CreateCommand()) {
cmd.CommandText = $"""
SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name, m.address,
c.bin, c.min_kg, c.max_kg, b.weight
c.bucket, c.min_kg, c.max_kg, b.weight
FROM member m
LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest
LEFT JOIN AT_ort o ON o.okz = p.okz
JOIN v_area_commitment_bin c ON c.mgnr = m.mgnr AND c.year = {year}
LEFT JOIN v_payment_bin b ON (b.mgnr, b.bin) = (m.mgnr, c.bin) AND b.year = {year}
JOIN v_area_commitment_bucket c ON c.mgnr = m.mgnr AND c.year = {year}
LEFT JOIN v_payment_bucket b ON (b.mgnr, b.bucket) = (m.mgnr, c.bucket) AND b.year = {year}
WHERE m.active = 1 AND b.weight < c.min_kg
ORDER BY m.mgnr, c.bin
ORDER BY m.mgnr, c.bucket
""";
using var reader = await cmd.ExecuteReaderAsync();
while (await reader.ReadAsync()) {