1
1

improve current average monthly values

This commit is contained in:
2020-02-26 18:45:29 +01:00
parent 9f7778fc42
commit 89b95621b2
2 changed files with 18 additions and 7 deletions

View File

@@ -50,13 +50,22 @@
<table>
<tbody>
<tr>
<td>avg outgoing transactions / month</td>
<td>current average monthly income</td>
<td>{{ analysis.avg_monthly_in|euro }}</td>
</tr>
<tr>
<td>current average monthly expenses</td>
<td>{{ analysis.avg_monthly_out|euro }}</td>
</tr>
<tr>
<td>avg incoming transactions / month</td>
<td>{{ analysis.avg_monthly_in|euro }}</td>
<td>current average monthly result</td>
<td>{{ analysis.avg_monthly_res|euro }}</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>irregular expenses / month</td>
<td>0</td>

View File

@@ -182,18 +182,20 @@ def _calculate_analysis(user):
today = current_date()
booked = Q(booking_date__lte=today)
outgoing = Q(amount__gt=0)
incoming = Q(amount__lt=0)
outgoing = Q(amount__gt=0)
recurring = Q(recurring_months__isnull=False) & (
Q(not_recurring_after__isnull=True) | Q(not_recurring_after__gte=today))
in_trans = user.transactions.filter(booked & incoming & recurring)
in_trans_per_month = [t.amount / t.recurring_months for t in in_trans]
result["avg_monthly_in"] = -sum(in_trans_per_month)
out_trans = user.transactions.filter(booked & outgoing & recurring)
out_trans_per_month = [t.amount / t.recurring_months for t in out_trans]
result["avg_monthly_out"] = sum(out_trans_per_month)
in_trans = user.transactions.filter(booked & incoming & recurring)
in_trans_per_month = [t.amount / t.recurring_months for t in in_trans]
result["avg_monthly_in"] = -sum(in_trans_per_month)
result["avg_monthly_res"] = result["avg_monthly_in"] - result["avg_monthly_out"]
return result