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)))