Compare commits

..

1 Commits

Author SHA1 Message Date
2ee8bde397
Add simple computation of utilization to workload overview report
This way, it should be easier to spot days where utilzation is too high
to take any more work.
2024-10-03 10:14:30 +02:00

View File

@ -809,25 +809,19 @@ PARAMS is a property list of the following parameters:
;; Compute workload report for each date and record the total time;
;; XXX: this might be slow, try to reduce the calls to `db/org-planned-tasks-in-range'.
(let ((days 0))
(dolist (interval-end-date date-range)
(let ((total-time (car (db/org-planned-tasks-in-range
;; Set start date to nil to also include tasks scheduled or deadlined
;; before `start-date', as those are also still open and need to be
;; done somewhen.
nil
interval-end-date
org-ql-match))))
(dolist (interval-end-date date-range)
(let ((total-time (car (db/org-planned-tasks-in-range
;; Set start date to nil to also include tasks scheduled or deadlined
;; before `start-date', as those are also still open and need to be
;; done somewhen.
nil
interval-end-date
org-ql-match))))
(let ((utilization (* (/ (org-duration-to-minutes total-time)
(* (cl-incf days)
(org-duration-to-minutes work-hours)))
100)))
(insert (format "| [%s] | %s | %s |\n"
interval-end-date
total-time
(if (<= 80 utilization)
;; When utilization is above 80%, mark entry in bold
(format "*%.2f%%*" utilization)
(format "%.2f%%" utilization))))))))
(insert (format "| [%s] | %s | %.2f%% |\n" interval-end-date total-time utilization))))))
(insert "|--|")
(org-table-align)))