Compare commits

..

2 Commits

Author SHA1 Message Date
e9627e69fd
Mark entries with high utilization in workload overview report
That makes spotting over-utilization easier.
2024-10-03 10:32:42 +02:00
ca1b3613f9
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:32:29 +02:00

View File

@ -809,19 +809,25 @@ 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 | %.2f%% |\n" interval-end-date total-time utilization))))))
(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 "|--|")
(org-table-align)))