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

View file

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

View file

@ -329,10 +329,15 @@
(list "Member" "Fees" "Credit" "Payments" "Balance") (list "Member" "Fees" "Credit" "Payments" "Balance")
(map (map
(lambda (mr) (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) (list (member-nick mr)
(sprintf "\t~A" (member-fees-total mr)) (sprintf "\t~A" fees)
(sprintf "\t~A" (member-credit-total mr)) (sprintf "\t~A" credit)
(sprintf "\t~A" payment)
(sprintf "\t~A" (- (+ credit payment) fees))
))) )))
(sort (filter-members-by-predicate MB member-active?) member<?))) (sort (filter-members-by-predicate MB member-active?) member<?)))
#:col-border #t #:row0-border #t))) #:col-border #t #:row0-border #t)))