181 lines
8.7 KiB
Plaintext
181 lines
8.7 KiB
Plaintext
@using Elwig.Helpers
|
||
@using RazorLight
|
||
@inherits TemplatePage<Elwig.Documents.CreditNote>
|
||
@model Elwig.Documents.CreditNote
|
||
@{ Layout = "BusinessDocument"; }
|
||
<link rel="stylesheet" href="file:///@Raw(Model.DataPath)\resources\CreditNote.css"/>
|
||
<main>
|
||
<h1>@Model.Title</h1>
|
||
<table class="credit">
|
||
<colgroup>
|
||
<col style="width: 25mm;"/>
|
||
<col style="width: 5mm;"/>
|
||
<col style="width: 20mm;"/>
|
||
<col style="width: 20mm;"/>
|
||
<col style="width: 10mm;"/>
|
||
<col style="width: 10mm;"/>
|
||
<col style="width: 15mm;"/>
|
||
<col style="width: 12mm;"/>
|
||
<col style="width: 15mm;"/>
|
||
<col style="width: 17mm;"/>
|
||
<col style="width: 16mm;"/>
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th rowspan="2" style="text-align: left;">Lieferschein-Nr.</th>
|
||
<th rowspan="2" class="narrow">Pos.</th>
|
||
<th rowspan="2" style="text-align: left;">Sorte</th>
|
||
<th rowspan="2" style="text-align: left;">Attribut</th>
|
||
<th colspan="2">Gradation</th>
|
||
<th colspan="2">Flächenbindung</th>
|
||
<th>Preis</th>
|
||
<th class="narrow">Zu-/Abschläge</th>
|
||
<th>Betrag</th>
|
||
</tr>
|
||
<tr>
|
||
<th class="unit">[°Oe]</th>
|
||
<th class="unit narrow">[°KMW]</th>
|
||
<th class="unit" colspan="2">[kg]</th>
|
||
<th class="unit">[@Model.CurrencySymbol/kg]</th>
|
||
<th class="unit">[@Model.CurrencySymbol]</th>
|
||
<th class="unit">[@Model.CurrencySymbol]</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@foreach (var p in Model.Data.Rows) {
|
||
var rows = Math.Max(p.Buckets.Length, p.Modifiers.Length + 1);
|
||
@for (int i = 0; i < rows; i++) {
|
||
<tr class="@(i == 0 ? "first" : "") @(rows == i + 1 ? "last" : "")">
|
||
@if (i == 0) {
|
||
<td rowspan="@rows">@p.LsNr</td>
|
||
<td rowspan="@rows">@p.DPNr</td>
|
||
<td class="small">@p.Variant</td>
|
||
<td class="small">@p.Attribute</td>
|
||
<td rowspan="@rows" class="center">@($"{p.Gradation.Oe:N0}")</td>
|
||
<td rowspan="@rows" class="center">@($"{p.Gradation.Kmw:N1}")</td>
|
||
}
|
||
@if (i > 0 && i <= p.Modifiers.Length) {
|
||
<td colspan="2" class="small mod">@p.Modifiers[i - 1]</td>
|
||
} else if (i > 0) {
|
||
<td colspan="2"></td>
|
||
}
|
||
@if (i < p.Buckets.Length) {
|
||
var bucket = p.Buckets[i];
|
||
<td class="small">@bucket.Name:</td>
|
||
<td class="number">@($"{bucket.Value:N0}")</td>
|
||
<td class="number">@($"{bucket.Price:N4}")</td>
|
||
} else {
|
||
<td colspan="3"></td>
|
||
}
|
||
@if (i == p.Buckets.Length - 1) {
|
||
var totalMod = p.TotalModifiers ?? 0;
|
||
<td class="number@(totalMod == 0 ? " center" : "")">@(totalMod == 0 ? "-" : Utils.GetSign(totalMod) + $"{Math.Abs(totalMod):N2}")</td>
|
||
<td class="number">@($"{p.Amount:N2}")</td>
|
||
} else {
|
||
<td colspan="2"></td>
|
||
}
|
||
</tr>
|
||
}
|
||
}
|
||
</tbody>
|
||
<tbody style="break-inside: avoid; break-before: avoid;">
|
||
@if (Model.Payment == null) {
|
||
<tr class="sum">
|
||
<td colspan="4"></td>
|
||
<td colspan="4">Gesamt:</td>
|
||
<td></td>
|
||
<td colspan="2" class="number">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Data.Rows.Sum(p => p.Amount):N2}")
|
||
</td>
|
||
</tr>
|
||
} else {
|
||
var totalLine = false;
|
||
if (Model.Payment.NetAmount != Model.Payment.Amount) {
|
||
<tr class="sum">
|
||
<td colspan="4"></td>
|
||
<td colspan="4">Zwischensumme:</td>
|
||
<td></td>
|
||
<td colspan="2" class="number">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Payment.NetAmount:N2}")
|
||
</td>
|
||
</tr>
|
||
totalLine = true;
|
||
<tr>
|
||
<td colspan="4"></td>
|
||
<td colspan="4">@Model.MemberModifier:</td>
|
||
<td class="number large">@(Model.Payment.NetAmount > Model.Payment.Amount ? "–" : "+")</td>
|
||
<td colspan="2" class="number large">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Math.Abs(Model.Payment.Amount - Model.Payment.NetAmount):N2}")
|
||
</td>
|
||
</tr>
|
||
}
|
||
if (Model.Credit == null) {
|
||
<tr class="bold large @(!totalLine ? "sum" : "")">
|
||
<td colspan="4"></td>
|
||
<td colspan="4" class="@(totalLine ? "sum" : "")">Gesamtbetrag:</td>
|
||
<td class="@(totalLine ? "sum" : "")"></td>
|
||
<td colspan="2" class="number @(totalLine ? "sum" : "")">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Payment.Amount:N2}")
|
||
</td>
|
||
</tr>
|
||
totalLine = true;
|
||
} else {
|
||
var hasPrev = Model.Credit.PrevNetAmount != null;
|
||
<tr class="bold @(!hasPrev ? "large" : "") @(!totalLine ? "sum" : "")">
|
||
<td colspan="4"></td>
|
||
<td colspan="4" class="@(totalLine ? "sum" : "")">@(hasPrev ? "Gesamtbetrag" : "Nettobetrag"):</td>
|
||
<td class="@(totalLine ? "sum" : "")"></td>
|
||
<td colspan="2" class="number @(totalLine ? "sum" : "")">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Credit.NetAmount:N2}")
|
||
</td>
|
||
</tr>
|
||
totalLine = true;
|
||
if (hasPrev) {
|
||
<tr>
|
||
<td colspan="4"></td>
|
||
<td colspan="4">Bisher ausgezahlt:</td>
|
||
<td class="number large">–</td>
|
||
<td colspan="2" class="number large">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Credit.PrevNetAmount:N2}")
|
||
</td>
|
||
</tr>
|
||
<tr class="large">
|
||
<td colspan="4"></td>
|
||
<td colspan="4" class="sum">Nettobetrag:</td>
|
||
<td class="sum"></td>
|
||
<td colspan="2" class="number sum">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Credit.NetAmount - (Model.Credit.PrevNetAmount ?? 0):N2}")
|
||
</td>
|
||
</tr>
|
||
}
|
||
<tr>
|
||
<td colspan="4"></td>
|
||
<td colspan="4">Mehrwertsteuer (@($"{Model.Credit.Vat * 100} %")):</td>
|
||
<td class="number large">+</td>
|
||
<td colspan="2" class="number large">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Credit.VatAmount:N2}")
|
||
</td>
|
||
</tr>
|
||
<tr class="large bold">
|
||
<td colspan="4"></td>
|
||
<td colspan="4" class="sum">Bruttobetrag:</td>
|
||
<td class="sum"></td>
|
||
<td colspan="2" class="number sum">
|
||
<span class="fleft">@Model.CurrencySymbol</span>
|
||
@($"{Model.Credit.Amount:N2}")
|
||
</td>
|
||
</tr>
|
||
}
|
||
}
|
||
</tbody>
|
||
</table>
|
||
</main>
|