feat(kfet): more values and formatting
This commit is contained in:
parent
4b92716092
commit
429e611daa
3 changed files with 25 additions and 14 deletions
|
@ -61,7 +61,7 @@ ul {
|
||||||
}
|
}
|
||||||
|
|
||||||
.table td.no-padding {
|
.table td.no-padding {
|
||||||
padding:0;
|
padding:0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table thead {
|
.table thead {
|
||||||
|
|
|
@ -48,7 +48,6 @@
|
||||||
<td>Stock avant</td>
|
<td>Stock avant</td>
|
||||||
<td>Stock après</td>
|
<td>Stock après</td>
|
||||||
<td>Erreur</td>
|
<td>Erreur</td>
|
||||||
<td>Valeur</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
{% regroup inventoryarts by article.category.name as category_list %}
|
{% regroup inventoryarts by article.category.name as category_list %}
|
||||||
|
@ -68,16 +67,17 @@
|
||||||
</td>
|
</td>
|
||||||
<td>{{ inventoryart.stock_old }}</td>
|
<td>{{ inventoryart.stock_old }}</td>
|
||||||
<td>{{ inventoryart.stock_new }}</td>
|
<td>{{ inventoryart.stock_new }}</td>
|
||||||
<td>{{ inventoryart.stock_error }}</td>
|
<td>{{ inventoryart.stock_error }} / {{ inventoryart.amount_error|floatformat:"-2" }} €</td>
|
||||||
<td>{{ inventoryart.amount_new }}</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="section">
|
<tr class="section">
|
||||||
<th colspan="4">Total</th>
|
<td>Valeurs totales</td>
|
||||||
<td>{{ total_amount }}</td>
|
<td>{{ total_amount_old|floatformat:"-2" }} €</td>
|
||||||
|
<td>{{ total_amount_new|floatformat:"-2" }} €</td>
|
||||||
|
<td>{{ total_amount_error|floatformat:"-2" }} €</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -2024,23 +2024,34 @@ class InventoryRead(DetailView):
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
|
output_field = DecimalField(max_digits=10, decimal_places=2, default=0)
|
||||||
inventory_articles = (
|
inventory_articles = (
|
||||||
InventoryArticle.objects.select_related("article", "article__category")
|
InventoryArticle.objects.select_related("article", "article__category")
|
||||||
.filter(inventory=self.object)
|
.filter(inventory=self.object)
|
||||||
.annotate(
|
.annotate(
|
||||||
amount_new=ExpressionWrapper(
|
amount_error=ExpressionWrapper(
|
||||||
F("stock_new") * F("article__price"),
|
F("stock_error") * F("article__price"), output_field=output_field
|
||||||
output_field=DecimalField(
|
|
||||||
max_digits=6, decimal_places=2, default=0
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.order_by("article__category__name", "article__name")
|
.order_by("article__category__name", "article__name")
|
||||||
)
|
)
|
||||||
context["inventoryarts"] = inventory_articles
|
context["inventoryarts"] = inventory_articles
|
||||||
context["total_amount"] = inventory_articles.aggregate(total=Sum("amount_new"))[
|
stats = inventory_articles.aggregate(
|
||||||
"total"
|
new=ExpressionWrapper(
|
||||||
]
|
Sum(F("stock_new") * F("article__price")), output_field=output_field
|
||||||
|
),
|
||||||
|
error=Sum("amount_error"),
|
||||||
|
old=ExpressionWrapper(
|
||||||
|
Sum(F("stock_old") * F("article__price")), output_field=output_field
|
||||||
|
),
|
||||||
|
)
|
||||||
|
context.update(
|
||||||
|
{
|
||||||
|
"total_amount_old": stats["old"],
|
||||||
|
"total_amount_new": stats["new"],
|
||||||
|
"total_amount_error": stats["error"],
|
||||||
|
}
|
||||||
|
)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue