From 227787597d5b48985913a7df995f0bca8d973992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Thu, 2 Jan 2025 16:22:37 +0100 Subject: [PATCH] Finish stats for debts. --- src/mbase-query.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/mbase-query.scm b/src/mbase-query.scm index d801a2f..af7ed30 100644 --- a/src/mbase-query.scm +++ b/src/mbase-query.scm @@ -71,11 +71,20 @@ (mbals (map member-total-balance active-members)) (di10 (ldict-set di9 'balance (foldl + 0 mbals))) - ;; advance payments + (di11 (ldict-set di10 'advance + (foldl + 0 + (map (lambda (v) + (max 0 v)) + mbals)))) + (di12 (ldict-set di11 'debt + (foldl + 0 + (map (lambda (v) + (min 0 v)) + mbals)))) ;; debts of fees ;; add average age of active members ) - di10)) + di12)) ;; Returns a list two lists: keys, data. ;; Each data record contains values for all keys. @@ -83,7 +92,7 @@ (let ((keys '(month total active suspended students destroyed invalid - expected balance + expected balance advance debt ))) (let mloop ((data '()) (month (members-base-oldest-month mb)))