mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-26 02:54:20 +00:00
Fix statements
This commit is contained in:
parent
f6d34baf59
commit
b07b408ecf
@ -5,7 +5,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% macro display_tables(dict) %}
|
{% macro display_tables(dict) %}
|
||||||
<h5>{% trans %}Credit{% endtrans %}</h5>
|
<h6>{% trans %}Credit{% endtrans %}</h6>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
</table>
|
</table>
|
||||||
{% trans %}Total: {% endtrans %}{{ dict['CREDIT_sum'] }}
|
{% trans %}Total: {% endtrans %}{{ dict['CREDIT_sum'] }}
|
||||||
|
|
||||||
<h5>{% trans %}Debit{% endtrans %}</h5>
|
<h6>{% trans %}Debit{% endtrans %}</h6>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -48,7 +48,7 @@
|
|||||||
<h3>{% trans %}Statement by nature: {% endtrans %} {{ object.name }}</h3>
|
<h3>{% trans %}Statement by nature: {% endtrans %} {{ object.name }}</h3>
|
||||||
|
|
||||||
{% for k,v in statement.items() %}
|
{% for k,v in statement.items() %}
|
||||||
<h4>{{ k }}</h4>
|
<h4 style="background: lightblue; padding: 4px;">{{ k }} : {{ v['CREDIT_sum'] - v['DEBIT_sum'] }}</h4>
|
||||||
{{ display_tables(v) }}
|
{{ display_tables(v) }}
|
||||||
<hr>
|
<hr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -22,8 +22,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
{% if key.target_type == "OTHER" %}
|
{% if key.target_type == "OTHER" %}
|
||||||
<td>{{ o.target_label }}</td>
|
<td>{{ o.target_label }}</td>
|
||||||
{% else %}
|
{% elif key %}
|
||||||
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
|
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
|
||||||
|
{% else %}
|
||||||
|
<td></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<td>{{ credit_statement[key] }}</td>
|
<td>{{ credit_statement[key] }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -48,8 +50,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
{% if key.target_type == "OTHER" %}
|
{% if key.target_type == "OTHER" %}
|
||||||
<td>{{ o.target_label }}</td>
|
<td>{{ o.target_label }}</td>
|
||||||
{% else %}
|
{% elif key %}
|
||||||
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
|
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
|
||||||
|
{% else %}
|
||||||
|
<td></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<td>{{ debit_statement[key] }}</td>
|
<td>{{ debit_statement[key] }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -483,12 +483,14 @@ class JournalNatureStatementView(JournalTabsMixin, CanViewMixin, DetailView):
|
|||||||
ret = collections.OrderedDict()
|
ret = collections.OrderedDict()
|
||||||
statement = collections.OrderedDict()
|
statement = collections.OrderedDict()
|
||||||
total_sum = 0
|
total_sum = 0
|
||||||
for at in AccountingType.objects.order_by('label').all():
|
for sat in [None] + list(SimplifiedAccountingType.objects.order_by('label').all()):
|
||||||
sum = queryset.filter(accounting_type__movement_type=movement_type,
|
sum = queryset.filter(accounting_type__movement_type=movement_type,
|
||||||
accounting_type__code__startswith=at.code).aggregate(amount_sum=Sum('amount'))['amount_sum']
|
simpleaccounting_type=sat).aggregate(amount_sum=Sum('amount'))['amount_sum']
|
||||||
|
if sat: sat = sat.label
|
||||||
|
else: sat = ""
|
||||||
if sum:
|
if sum:
|
||||||
total_sum += sum
|
total_sum += sum
|
||||||
statement[at.label] = sum
|
statement[sat] = sum
|
||||||
ret[movement_type] = statement
|
ret[movement_type] = statement
|
||||||
ret[movement_type+"_sum"] = total_sum
|
ret[movement_type+"_sum"] = total_sum
|
||||||
return ret
|
return ret
|
||||||
@ -532,8 +534,9 @@ class JournalPersonStatementView(JournalTabsMixin, CanViewMixin, DetailView):
|
|||||||
target_id=target_id, target_type=target_type).aggregate(amount_sum=Sum('amount'))['amount_sum']
|
target_id=target_id, target_type=target_type).aggregate(amount_sum=Sum('amount'))['amount_sum']
|
||||||
|
|
||||||
def statement(self, movement_type):
|
def statement(self, movement_type):
|
||||||
statement = {}
|
statement = collections.OrderedDict()
|
||||||
for op in Operation.objects.filter(accounting_type__movement_type=movement_type):
|
for op in self.object.operations.filter(accounting_type__movement_type=movement_type).order_by('target_type',
|
||||||
|
'target_id').distinct():
|
||||||
statement[op.target] = self.sum_by_target(op.target_id, op.target_type, movement_type)
|
statement[op.target] = self.sum_by_target(op.target_id, op.target_type, movement_type)
|
||||||
return statement
|
return statement
|
||||||
|
|
||||||
@ -563,7 +566,7 @@ class JournalAccountingStatementView(JournalTabsMixin, CanViewMixin, DetailView)
|
|||||||
for at in AccountingType.objects.order_by('code').all():
|
for at in AccountingType.objects.order_by('code').all():
|
||||||
sum_by_type = self.object.operations.filter(
|
sum_by_type = self.object.operations.filter(
|
||||||
accounting_type__code__startswith=at.code).aggregate(amount_sum=Sum('amount'))['amount_sum']
|
accounting_type__code__startswith=at.code).aggregate(amount_sum=Sum('amount'))['amount_sum']
|
||||||
if sum_by_type != 0:
|
if sum_by_type:
|
||||||
statement[at] = sum_by_type
|
statement[at] = sum_by_type
|
||||||
return statement
|
return statement
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user