/** * @param $work_packages * @param $p_version_id * @param $no_workpackage_bug_ids */ public function print_expenses_overview_body($work_packages, $p_version_id, $no_workpackage_bug_ids) { $specmanagement_database_api = new specmanagement_database_api(); $document_duration = 0; echo '<tbody>'; if ($work_packages != null) { $document_duration = 0; foreach ($work_packages as $work_package) { /** go to next record, if work package is empty */ if (strlen($work_package) == 0) { continue; } $duration = $specmanagement_database_api->get_workpackage_duration($p_version_id, $work_package); if (is_null($duration)) { $duration = 0; } $document_duration += $duration; echo '<tr>'; echo '<td>' . $work_package . '</td>'; echo '<td class="duration">' . $duration . '</td>'; echo '</tr>'; } } if (count($no_workpackage_bug_ids) > 0) { $sum_no_work_package_bug_duration = 0; foreach ($no_workpackage_bug_ids as $no_workpackage_bug_id) { $no_work_package_bug_duration = $specmanagement_database_api->get_bug_duration($no_workpackage_bug_id); if (!is_null($no_work_package_bug_duration)) { $sum_no_work_package_bug_duration += $no_work_package_bug_duration; } } $document_duration += $sum_no_work_package_bug_duration; echo '<tr>'; echo '<td>' . plugin_lang_get('editor_no_workpackage') . '</td>'; echo '<td class="duration">' . $sum_no_work_package_bug_duration . '</td>'; echo '</tr>'; } echo '<tr>'; echo '<td colspan="2"><hr width="100%" align="center" /></td>'; echo '</tr>'; echo '<tr>'; echo '<td>'; echo plugin_lang_get('editor_expenses_overview_sum') . ':'; echo '</td>'; echo '<td class="duration">' . $document_duration . '</td>'; echo '</tr>'; echo '</tbody>'; }
/** * @param $unsolveld_bug_ids * @return array */ function get_uncertainty_issues($unsolveld_bug_ids) { $specmanagement_database_api = new specmanagement_database_api(); $uncertainty_bug_ids = array(); foreach ($unsolveld_bug_ids as $unsolveld_bug_id) { if ($specmanagement_database_api->get_bug_duration($unsolveld_bug_id) == 0) { array_push($uncertainty_bug_ids, $unsolveld_bug_id); } } return $uncertainty_bug_ids; }
/** * @param $pdf * @param $p_version_id * @param $work_packages * @param $no_work_package_bug_ids * @return mixed */ function generate_expenses_overview(PDF $pdf, $p_version_id, $work_packages, $no_work_package_bug_ids) { $specmanagement_database_api = new specmanagement_database_api(); $document_duration = 0; $table_column_widths = array(95, 95); $header = array(plugin_lang_get('bug_view_specification_wpg'), plugin_lang_get('bug_view_planned_time') . ' ( ' . plugin_lang_get('editor_duration_unit') . ')'); /** Head */ $pdf->SetFont('Arial', 'B', 12); for ($head_column_index = 0; $head_column_index < count($header); $head_column_index++) { $pdf->Cell($table_column_widths[$head_column_index], 7, $header[$head_column_index], 1, 0, 'C'); } $pdf->SetFont('Arial', '', 12); $pdf->Ln(); /** Body */ if ($work_packages != null) { $document_duration = 0; foreach ($work_packages as $work_package) { /** go to next record, if work package is empty */ if (strlen($work_package) == 0) { continue; } $duration = $specmanagement_database_api->get_workpackage_duration($p_version_id, $work_package); if (is_null($duration)) { $duration = 0; } $document_duration += $duration; $pdf->Cell($table_column_widths[0], 6, $work_package, 'LR'); $pdf->Cell($table_column_widths[1], 6, $duration, 'LR', 0, 0); $pdf->Ln(); $pdf->Cell(array_sum($table_column_widths), 0, '', 'T'); $pdf->Ln(); } } if (count($no_work_package_bug_ids) > 0) { $sum_no_work_package_bug_duration = 0; foreach ($no_work_package_bug_ids as $no_work_package_bug_id) { $no_work_package_bug_duration = $specmanagement_database_api->get_bug_duration($no_work_package_bug_id); if (!is_null($no_work_package_bug_duration)) { $sum_no_work_package_bug_duration += $no_work_package_bug_duration; } } $document_duration += $sum_no_work_package_bug_duration; $pdf->Cell($table_column_widths[0], 6, utf8_decode(plugin_lang_get('editor_no_workpackage')), 'LR'); $pdf->Cell($table_column_widths[1], 6, $sum_no_work_package_bug_duration, 'LR', 0, 0); $pdf->Ln(); $pdf->Cell(array_sum($table_column_widths), 0, '', 'T'); $pdf->Ln(); } $pdf->SetFont('Arial', 'B', 12); $pdf->Cell($table_column_widths[0], 6, plugin_lang_get('editor_expenses_overview_sum') . ':', 'LR'); $pdf->Cell($table_column_widths[1], 6, $document_duration, 'LR', 0, 0); $pdf->Ln(); $pdf->SetFont('Arial', '', 12); $pdf->Cell(array_sum($table_column_widths), 0, '', 'T'); return $pdf; }