Add to total table.

This commit is contained in:
Dominik Pantůček 2023-03-30 19:37:53 +02:00
parent 606a208237
commit 70e33d21d1
3 changed files with 15 additions and 10 deletions

View file

@ -65,7 +65,7 @@
member-record-add-payment
member-payments
member-balances
member-balance
member-record-tests!
)
@ -347,8 +347,8 @@
(dict-ref mr 'payments '()))
;; Balances totals
(define (member-balances mr)
(dict-ref mr 'balances (make-dict)))
(define (member-balance mr)
(dict-ref mr 'balance (make-dict)))
;; Self-tests
(define (member-record-tests!)

View file

@ -80,19 +80,19 @@
(if apikeys-file
(let* ((accounts (load-accounts
(load-accounts-list apikeys-file))))
(map member-add-balances
(map member-add-balance
(foldl members-payments-process-bank
mb
accounts)))
mb))
;; Adds all balances
(define (member-add-balances mr)
(define (member-add-balance mr)
(dict-set mr
'balances
'balance
(make-dict `((fees . ,(member-fees-total mr))
(credit . ,(member-credit-total mr))
(balance . ,(member-payments-total mr))))))
(payment . ,(member-payments-total mr))))))
;; Total amount paid
(define (member-payments-total mr)

View file

@ -329,10 +329,15 @@
(list "Member" "Fees" "Credit" "Payments" "Balance")
(map
(lambda (mr)
(let ((balances (member-balances mr)))
(let* ((balance (member-balance mr))
(fees (dict-ref balance 'fees))
(credit (dict-ref balance 'credit))
(payment (dict-ref balance 'payment)))
(list (member-nick mr)
(sprintf "\t~A" (member-fees-total mr))
(sprintf "\t~A" (member-credit-total mr))
(sprintf "\t~A" fees)
(sprintf "\t~A" credit)
(sprintf "\t~A" payment)
(sprintf "\t~A" (- (+ credit payment) fees))
)))
(sort (filter-members-by-predicate MB member-active?) member<?)))
#:col-border #t #:row0-border #t)))