DeliveryConfirmation: fix tables

This commit is contained in:
2023-10-17 22:56:21 +02:00
parent c4dd56075d
commit 45fc0893b1
2 changed files with 35 additions and 19 deletions

View File

@ -118,32 +118,43 @@
</thead> </thead>
<tbody> <tbody>
@{ @{
string FormatRow(int obligation, int right, int sum, int? payment = null) { string FormatRow(int mode, int obligation, int right, int sum, int? payment = null) {
var isGa = payment == null; var isGa = mode == 0;
payment ??= sum; payment ??= sum;
return $"<td>{obligation:N0}</td>" + return $"<td>{(mode == 1 ? "" : obligation == 0 ? "-" : $"{obligation:N0}")}</td>" +
$"<td>{right:N0}</td>" + $"<td>{(mode == 1 ? "" : right == 0 ? "-" : $"{right:N0}")}</td>" +
$"<td>{(payment < obligation ? $"<b>{obligation - payment:N0}\x3c/b>" : "-")}</td>" + $"<td>{(mode == 1 ? "" : payment < obligation ? $"<b>{obligation - payment:N0}\x3c/b>" : "-")}</td>" +
$"<td>{(sum >= obligation && sum <= right ? $"{right - sum:N0}" : "-")}</td>" + $"<td>{(mode == 1 ? "" : payment >= obligation && sum <= right ? $"{right - sum:N0}" : "-")}</td>" +
$"<td>{(obligation == 0 && right == 0 ? "-" : (sum > right ? ((isGa ? "<b>" : "") + $"{sum - right:N0}" + (isGa ? "</b>" : "")) : "-"))}</td>" + $"<td>{(mode == 1 ? "" : obligation == 0 && right == 0 ? "-" : (sum > right ? ((isGa ? "<b>" : "") + $"{sum - right:N0}" + (isGa ? "</b>" : "")) : "-"))}</td>" +
$"<td>{(obligation == 0 && right == 0 ? "-" : $"{payment:N0}")}</td>" + $"<td>{(mode != 2 ? "" : obligation == 0 && right == 0 ? "-" : $"{payment:N0}")}</td>" +
$"<td>{sum:N0}</td>"; $"<td>{sum:N0}</td>";
} }
var mBins = Model.MemberBins.Where(b => b.Value.Item2 > 0 || b.Value.Item3 > 0 || b.Value.Item4 > 0).ToList();
var fbVars = mBins.Where(b => b.Value.Item2 > 0 || b.Value.Item3 > 0).Select(b => b.Key.Replace("_", "")).Order().ToArray();
var fbs = mBins.Where(b => fbVars.Contains(b.Key)).OrderBy(b => b.Value.Item1);
var rem = mBins.Where(b => !fbVars.Contains(b.Key)).OrderBy(b => b.Value.Item1);
} }
<tr> <tr>
<th>Gesamtlieferung lt. gez. GA</th> <th>Gesamtlieferung lt. gez. GA</th>
@Raw(FormatRow(Model.Member.DeliveryObligation, Model.Member.DeliveryRight, Model.Member.Deliveries.Where(d => d.Year == Model.Year).Sum(d => d.Weight))) @Raw(FormatRow(0, Model.Member.DeliveryObligation, Model.Member.DeliveryRight, Model.Member.Deliveries.Where(d => d.Year == Model.Year).Sum(d => d.Weight)))
</tr> </tr>
<tr class="subheading"> @if (rem.Any()) {
<th>Flächenbindungen:</th> <tr class="subheading"><th colspan="8">Sortenaufteilung:</th></tr>
</tr> }
@foreach (var (id, (name, right, obligation, sum, payment)) in Model.MemberBins.OrderBy(b => b.Key)) { @foreach (var (id, (name, right, obligation, sum, payment)) in rem) {
if (right > 0 || obligation > 0 || sum > 0) { <tr>
<tr> <th>@name</th>
<th>@name</th> @Raw(FormatRow(1, obligation, right, sum, payment))
@Raw(FormatRow(obligation, right, sum, payment)) </tr>
</tr> }
} @if (fbs.Any()){
<tr class="subheading"><th colspan="8">Flächenbindungen:</th></tr>
}
@foreach (var (id, (name, right, obligation, sum, payment)) in fbs) {
<tr>
<th>@name</th>
@Raw(FormatRow(2, obligation, right, sum, payment))
</tr>
} }
</tbody> </tbody>
</table> </table>

View File

@ -106,3 +106,8 @@ table.delivery-confirmation-stats tbody th {
font-style: italic; font-style: italic;
text-align: left; text-align: left;
} }
table.delivery-confirmation-stats tr.subheading th {
font-weight: bold;
border-top: 0.5pt solid black;
}