static function pdfForTicket(PluginPdfSimplePDF $pdf, Ticket $job) { global $CFG_GLPI, $DB; $ID = $job->getField('id'); //////////////followups/////////// $query = "SELECT *\n FROM `glpi_ticketcosts`\n WHERE `tickets_id` = '{$ID}'\n ORDER BY `begin_date`"; $result = $DB->query($query); if (!$DB->numrows($result)) { $pdf->setColumnsSize(100); $pdf->displayLine(__('No ticket cost for this ticket', 'pdf')); } else { $pdf->setColumnsSize(60, 20, 20); $pdf->displayTitle("<b>" . TicketCost::getTypeName($DB->numrows($result)), __('Ticket duration'), CommonITILObject::getActionTime($job->fields['actiontime']) . "</b>"); $pdf->setColumnsSize(20, 10, 10, 10, 10, 10, 10, 10, 10); $pdf->setColumnsAlign('center', 'center', 'center', 'left', 'right', 'right', 'right', 'right', 'right'); $pdf->displayTitle("<b><i>" . __('Name') . "</i></b>", "<b><i>" . __('Begin date') . "</i></b>", "<b><i>" . __('End date') . "</i></b>", "<b><i>" . __('Budget') . "</i></b>", "<b><i>" . __('Duration') . "</i></b>", "<b><i>" . __('Time cost') . "</i></b>", "<b><i>" . __('Fixed cost') . "</i></b>", "<b><i>" . __('Material cost') . "</i></b>", "<b><i>" . __('Total cost') . "</i></b>"); while ($data = $DB->fetch_array($result)) { $cost = TicketCost::computeTotalCost($data['actiontime'], $data['cost_time'], $data['cost_fixed'], $data['cost_material']); $pdf->displayLine($data['name'], Html::convDate($data['begin_date']), Html::convDate($data['end_date']), Dropdown::getDropdownName('glpi_budgets', $data['budgets_id']), CommonITILObject::getActionTime($data['actiontime']), Html::formatNumber($data['cost_time']), Html::formatNumber($data['cost_fixed']), Html::formatNumber($data['cost_material']), Html::formatNumber($cost)); $total_time += $data['actiontime']; $total_costtime += $data['actiontime'] * $data['cost_time'] / HOUR_TIMESTAMP; $total_fixed += $data['cost_fixed']; $total_material += $data['cost_material']; $total += $cost; } $pdf->setColumnsSize(50, 10, 10, 10, 10, 10); $pdf->setColumnsAlign('right', 'right', 'right', 'right', 'right', 'right'); $pdf->displayLine('<b>' . __('Total'), CommonITILObject::getActionTime($total_time), Html::formatNumber($total_costtime), Html::formatNumber($total_fixed), Html::formatNumber($total_material), Html::formatNumber($total)); } $pdf->displaySpace(); }