DeliveryConfirmation: enhance calculation
This commit is contained in:
@ -10,15 +10,21 @@ namespace Elwig.Documents {
|
||||
public int Year;
|
||||
public IEnumerable<DeliveryPart> Deliveries;
|
||||
|
||||
public DeliveryConfirmation(AppDbContext ctx, int year, Member m) : base($"Anlieferungsbestätigung {year} – {m.Name}", m) {
|
||||
public DeliveryConfirmation(AppDbContext ctx, int year, Member m) :
|
||||
base($"Anlieferungsbestätigung {year} – {((IAddress?)m.BillingAddress ?? m).Name}", m) {
|
||||
Year = year;
|
||||
DocumentId = $"Anl.-Best. {Year}/{m.MgNr}";
|
||||
ShowDateAndLocation = true;
|
||||
UseBillingAddress = true;
|
||||
// FIXME footer in merged documents
|
||||
//DocumentId = $"Anl.-Best. {Year}/{m.MgNr}";
|
||||
Deliveries = ctx.DeliveryParts.FromSqlRaw($"""
|
||||
SELECT p.*
|
||||
FROM v_delivery v
|
||||
JOIN delivery_part p ON (p.year, p.did, p.dpnr) = (v.year, v.did, v.dpnr)
|
||||
WHERE (v.year, v.mgnr) = ({Year}, {m.MgNr})
|
||||
ORDER BY v.sortid, v.abgewertet ASC, LENGTH(v.attributes) DESC, COALESCE(v.attributes, '~'), v.kmw DESC, v.lsnr, v.dpnr
|
||||
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
|
||||
""")
|
||||
.ToList();
|
||||
}
|
||||
|
Reference in New Issue
Block a user