- if ($options['show_cost']) {
- if (MODE_TIME == $user->getTrackingMode()) {
- if (!ttReportHelper::groupingBy('user', $options))
- $left_join = 'left join tt_users u on (l.user_id = u.id)';
- $sql = "select $concat_part, sum(time_to_sec(l.duration)) as time".$work_unit_part;
- $sql .= ", sum(cast(l.billable * coalesce(u.rate, 0) * time_to_sec(l.duration)/3600 as decimal(10, 2))) as cost,
- null as expenses from tt_log l
- $join_part $left_join $where $group_by_part";
- } else {
- // If we are including cost and tracking projects, our query (the same as above) needs to join the tt_user_project_binds table.
- $sql = "select $concat_part, sum(time_to_sec(l.duration)) as time".$work_unit_part;
- $sql .= ", sum(cast(l.billable * coalesce(upb.rate, 0) * time_to_sec(l.duration)/3600 as decimal(10,2))) as cost,
- null as expenses from tt_log l
- $join_part
- left join tt_user_project_binds upb on (l.user_id = upb.user_id and l.project_id = upb.project_id) $where $group_by_part";
- }
- } else {
- $sql = "select $concat_part, sum(time_to_sec(l.duration)) as time".$work_unit_part;
- $sql .= ", null as expenses from tt_log l
- $join_part $where $group_by_part";
- }
+
+ $parts = "$concat_part, sum(time_to_sec(l.duration)) as time, null as expenses".$work_unit_part.$cost_part;
+ $sql = "select $parts from tt_log l $join_part $where $group_by_part";