Skip to content

Commit

Permalink
refactor: adjusted the date format,
Browse files Browse the repository at this point in the history
refactor: adjusted the split logic
  • Loading branch information
Tiago-da-silva23 committed Nov 6, 2023
1 parent 1b69f86 commit e6693a9
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,7 @@ def handle(self, *args, **options) -> str | None:
).isoformat()
product_id = options.get("product_id")
organization_code = options.get("organization_code")
kwargs = {
k: v
for k, v in {"product_id": product_id, "organization_code": organization_code}.items()
if v not in ["", None]
}
kwargs = {k: v for k, v in {"product_id": product_id, "organization_code": organization_code}.items() if v}
SplitExportService().export_split_to_xlsx(
start_date=start_date,
end_date=end_date,
Expand Down
2 changes: 1 addition & 1 deletion apps/shared_revenue/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def check_each_configuration(
configuration,
) -> bool:

id = self.id if self.id is not None else -1
id = self.id
if configuration.id == id:
return True

Expand Down
18 changes: 10 additions & 8 deletions apps/shared_revenue/services/split_execution.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ def _filter_transaction_items(self, **kwargs) -> list[TransactionItem]:
transactions = Transaction.objects.filter(transaction_date__range=[self.start_date, self.end_date])
transaction_items: list[TransactionItem] = []
for transaction in transactions:
kwargs["transaction"] = transaction
transaction_items += TransactionItem.objects.filter(**kwargs)
items = transaction.transaction_items.all()
if items:
transaction_items.append(items[0])

return transaction_items
except Exception as e:
Expand Down Expand Up @@ -95,7 +96,7 @@ def _assembly_each_result(
"transaction_date": item.transaction.transaction_date.isoformat(),
"total_amount_include_vat": item.transaction.total_amount_include_vat,
"total_amount_exclude_vat": item.transaction.total_amount_exclude_vat,
"organization_code": configuration.organization.short_name,
"organization_code": item.organization_code,
"amount_for_nau": item.transaction.total_amount_include_vat * (1 - configuration.partner_percentage),
"amount_for_organization": item.transaction.total_amount_include_vat * configuration.partner_percentage,
"partner_percentage": configuration.partner_percentage,
Expand Down Expand Up @@ -123,10 +124,11 @@ def _calculate_transactions(

for item in transaction_items:
for configuration in configurations:
if (None in [configuration.start_date, configuration.end_date]) or (
configuration.start_date <= item.transaction.transaction_date
and configuration.end_date >= item.transaction.transaction_date
):
if item.organization_code == configuration.organization.short_name:
if None not in [configuration.start_date, configuration.end_date]:
if not configuration.start_date <= item.transaction.transaction_date <= configuration.end_date:
continue

result = self._assembly_each_result(item=item, configuration=configuration)
split_results.append(result)

Expand All @@ -140,8 +142,8 @@ def execute_split_steps(self, **kwargs) -> list[Dict]:
list[Dict]: All the calculated split results
"""
try:
transaction_items: list[TransactionItem] = self._filter_transaction_items(**kwargs)
configurations: list[RevenueConfiguration] = self._filter_revenue_configurations(**kwargs)
transaction_items: list[TransactionItem] = self._filter_transaction_items(**kwargs)
split_results = self._calculate_transactions(
transaction_items=transaction_items,
configurations=configurations,
Expand Down

0 comments on commit e6693a9

Please sign in to comment.