Documents: Add DeliveryConfirmation

This commit is contained in:
2023-10-15 00:34:40 +02:00
parent e71d9516ec
commit 56578a0a9d
6 changed files with 198 additions and 3 deletions

View File

@ -0,0 +1,26 @@
using Elwig.Helpers;
using Elwig.Models;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
namespace Elwig.Documents {
public class DeliveryConfirmation : BusinessDocument {
public int Year;
public IEnumerable<DeliveryPart> Deliveries;
public DeliveryConfirmation(AppDbContext ctx, int year, Member m) : base($"Anlieferungsbestätigung {year} {m.Name}", m) {
Year = year;
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
""")
.ToList();
}
}
}