|
@@ -368,11 +368,24 @@ def informe_categoria(request):
|
|
|
categoria=categoria,
|
|
categoria=categoria,
|
|
|
usuario=request.user,
|
|
usuario=request.user,
|
|
|
fecha__range=(fecha_inicio_dt, fecha_fin_dt)
|
|
fecha__range=(fecha_inicio_dt, fecha_fin_dt)
|
|
|
- ).order_by('fecha')
|
|
|
|
|
|
|
+ ).order_by('fecha').aggregate(total=Sum('monto'))
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ movimientos_con_saldo = []
|
|
|
|
|
+ saldo_acumulado = Decimal('0.00')
|
|
|
|
|
+ for mov in movimientos:
|
|
|
|
|
+ if mov.tipo == 'Ingreso':
|
|
|
|
|
+ saldo_acumulado += mov.monto
|
|
|
|
|
+ else:
|
|
|
|
|
+ saldo_acumulado -= mov.monto
|
|
|
|
|
+ movimientos_con_saldo.append({
|
|
|
|
|
+ 'movimiento': mov,
|
|
|
|
|
+ 'saldo_acumulado': saldo_acumulado
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
context = {
|
|
context = {
|
|
|
'categoria': categoria,
|
|
'categoria': categoria,
|
|
|
- 'movimientos': movimientos,
|
|
|
|
|
|
|
+ 'movimientos': movimientos_con_saldo,
|
|
|
'fecha_inicio': fecha_inicio_str,
|
|
'fecha_inicio': fecha_inicio_str,
|
|
|
'fecha_fin': fecha_fin_str,
|
|
'fecha_fin': fecha_fin_str,
|
|
|
}
|
|
}
|