- // TODO: build query in parts so the work units inclusion is conditional.
-
- // Start with a query for time items.
+ // Prepare parts.
+ $time_part = "sum(time_to_sec(l.duration)) as time";
+ if ($bean->getAttribute('chunits')) {
+ $units_part = $user->unit_totals_only ? ", null as units" : ", sum(if(l.billable = 0 or time_to_sec(l.duration)/60 < $user->first_unit_threshold, 0, ceil(time_to_sec(l.duration)/60/$user->minutes_in_unit))) as units";
+ }
+ if ($bean->getAttribute('chcost')) {
+ if (MODE_TIME == $user->tracking_mode)
+ $cost_part = ", sum(cast(l.billable * coalesce(u.rate, 0) * time_to_sec(l.duration)/3600 as decimal(10,2))) as cost, null as expenses";
+ else
+ $cost_part = ", sum(cast(l.billable * coalesce(upb.rate, 0) * time_to_sec(l.duration)/3600 as decimal(10,2))) as cost, null as expenses";
+ } else {
+ $cost_part = ", null as cost, null as expenses";
+ }