Compute total fees.
This commit is contained in:
parent
1a35c65f1d
commit
6c2a6ca4d2
2 changed files with 24 additions and 5 deletions
10
bbstool.scm
10
bbstool.scm
|
@ -135,15 +135,19 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
(print "Current month: " (month->string (*current-month*)))
|
||||
(newline)
|
||||
(if mr
|
||||
(let ()
|
||||
(let* ((mc (member-calendar mr))
|
||||
(fees (member-calendar->fees mc)))
|
||||
(print-member-table mr)
|
||||
(print (table->string (cons (list "" 1 2 3 4 5 6 7 8 9 10 11 12)
|
||||
(member-calendar->years-table (member-calendar mr)))
|
||||
(member-calendar->years-table mc))
|
||||
#:table-border #t
|
||||
#:row-border #t
|
||||
#:col-border #t
|
||||
#:ansi #t
|
||||
)))
|
||||
))
|
||||
;; (print fees)
|
||||
(print "Total fees: " (foldl + 0 fees))
|
||||
)
|
||||
(print-members-base-table MB))
|
||||
(newline))
|
||||
((print-stats)
|
||||
|
|
|
@ -88,6 +88,20 @@
|
|||
" ") ; Nonexistent - should not happen
|
||||
" ")) ; Nonexistent
|
||||
|
||||
;; Converts the entry into the fee
|
||||
(define (member-calendar-entry->fee e)
|
||||
(if e
|
||||
(if (member 'existing (cadr e))
|
||||
(if (member 'suspended (cadr e))
|
||||
0 ; Suspended
|
||||
(if (member 'destroyed (cadr e))
|
||||
0 ; Destroyed
|
||||
(if (member 'student (cadr e))
|
||||
250 ; Student
|
||||
500))) ; Normal
|
||||
0) ; Nonexistent - should not happen
|
||||
0)) ; Nonexistent
|
||||
|
||||
;; Converts the calendar into a table where rows represent years and
|
||||
;; contain the year in the first cell and 12 cells for months after
|
||||
;; it.
|
||||
|
@ -111,7 +125,8 @@
|
|||
row))))
|
||||
rows))))))
|
||||
|
||||
(define (member-calendar->fees mr)
|
||||
#f)
|
||||
;; Converts the whole calendar into a list of amounts (fees)
|
||||
(define (member-calendar->fees mc)
|
||||
(map member-calendar-entry->fee mc))
|
||||
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue