Database: Change bins once again...

This commit is contained in:
2023-10-15 22:46:19 +02:00
parent 4db147e582
commit 3b4340b5e8
10 changed files with 115 additions and 231 deletions

View File

@ -70,12 +70,14 @@
<td rowspan="@binNum" class="kmw">@($"{part.Kmw:N1}")</td>
<td rowspan="@binNum" class="abs">@abs</td>
<td rowspan="@binNum" class="rel">@rel</td>
@Raw(FormatRow(pmt?.DeliveryPart.Bins?.ElementAtOrDefault(0), pmt?.Prices?.ElementAtOrDefault(0)))
<!--FIXME price-->
@Raw(FormatRow(pmt?.DeliveryPart.Bins?.ElementAtOrDefault(0)?.Value, 0))
<td rowspan="@binNum" class="amount sum">@($"{pmt?.Amount:N2}")</td>
</tr>
@for (int i = 1; i < binNum; i++) {
<tr class="@(i == binNum - 1 ? "last" : "")">
@Raw(FormatRow(pmt?.DeliveryPart.Bins?.ElementAtOrDefault(i), pmt?.Prices?.ElementAtOrDefault(i)))
<!--FIXME price-->
@Raw(FormatRow(pmt?.DeliveryPart.Bins?.ElementAtOrDefault(i)?.Value, 0))
</tr>
}
last = part.SortId;

View File

@ -27,7 +27,7 @@ namespace Elwig.Documents {
Text = App.Client.TextDeliveryNote;
DocumentId = $"Tr.-Gutschr. {c.TgId}";
CurrencySymbol = c.Payment.Variant.Season.Currency.Symbol ?? c.Payment.Variant.Season.Currency.Code;
BinNames = c.Payment.Variant.Season.BinNames;
BinNames = new string[0]; // FIXME
Precision = c.Payment.Variant.Season.Precision;
Parts = ctx.DeliveryParts.FromSql($"""
SELECT p.*

View File

@ -44,7 +44,7 @@
var lastSortId = "";
}
@foreach (var p in Model.Deliveries) {
var bins = p.Bins.Select((b, n) => (b, n + 1)).Where(b => b.Item1 > 0).ToArray();
var bins = p.Bins.Where(b => b.Value > 0).OrderByDescending(b => b.BinNr).ToArray();
var rowsBins = bins.Length;
var mods = p.Modifiers.Select(m => m.Name).ToArray();
var rowsMod = mods.Length + 1;
@ -67,17 +67,9 @@
<td colspan="3"></td>
}
@if (i < bins.Length) {
var (b, n) = bins[i];
string name = "";
switch (n) {
case 1: name = $"geb. {p.SortId}{string.Join("", p.Attributes.Order().Select(a => a.AttrId).Take(2))}"; break;
case 2: name = $"geb. {p.SortId}{p.Attributes.Select(a => a.AttrId).Order().FirstOrDefault()}"; break;
case 3: name = $"geb. {p.SortId}{p.Attributes.Select(a => a.AttrId).Order().Skip(1).FirstOrDefault()}"; break;
case 4: name = $"geb. {p.SortId}"; break;
case 5: name = "ungeb."; break;
}
<td class="geb">@name:</td>
<td class="weight">@($"{b:N0}")</td>
var bin = bins[i];
<td class="geb">@(bin.Discr == "_" ? "ungeb." : $"geb. {p.SortId}{bin.Discr}"):</td>
<td class="weight">@($"{bin.Value:N0}")</td>
} else {
<td colspan="2"></td>
}
@ -97,4 +89,6 @@
</tr>
</tbody>
</table>
<!-- TODO add Gesamtlieferung tabelle -->
<!-- TODO add Freitext -->
</main>