feat: price of services over one product in deal document
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from io import BytesIO
|
||||
from typing import Dict
|
||||
|
||||
import lexorank
|
||||
from fastapi import HTTPException
|
||||
@@ -997,12 +998,13 @@ class DealService(BaseService):
|
||||
# region Deal documents
|
||||
|
||||
@staticmethod
|
||||
async def _get_product_services_totals(deal: Deal) -> List[int]:
|
||||
totals: List[int] = []
|
||||
async def _get_product_services_totals(deal: Deal) -> List[Dict[str, int]]:
|
||||
totals: List[Dict[str, int]] = []
|
||||
|
||||
for product in deal.products:
|
||||
total = sum((service.price * product.quantity for service in product.services))
|
||||
totals.append(total)
|
||||
total_one_product = sum((service.price for service in product.services))
|
||||
total = total_one_product * product.quantity
|
||||
totals.append({ "total_one_product": total_one_product, "total": total })
|
||||
|
||||
return totals
|
||||
|
||||
@@ -1025,7 +1027,7 @@ class DealService(BaseService):
|
||||
|
||||
last_status: DealStatusHistory = max(deal.status_history, key=lambda status: status.changed_at)
|
||||
general_services_total = sum((service.price * service.quantity for service in deal.services))
|
||||
product_services_totals = await self._get_product_services_totals(deal)
|
||||
product_services_totals: List[Dict[str, int]] = await self._get_product_services_totals(deal)
|
||||
template = ENV.get_template("deal.html")
|
||||
|
||||
product_urls: List[Optional[str]] = []
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="medium-text total align-right bold">
|
||||
Итого: {{ product_services_totals[loop.index0] }} Р
|
||||
Итого: {{ product_services_totals[loop.index0].total }} Р, за единицу: {{ product_services_totals[loop.index0].total_one_product }} Р
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="medium-text total align-right bold"></div>
|
||||
|
||||
Reference in New Issue
Block a user