<?php

include "../../root.class.php";
include "../../vendor/autoload.php";

$client_resmpdf = $mpdf = new \Mpdf\Mpdf([
    'margin_top' => 5, // Set your desired top margin in millimeters
    'margin_bottom' => 1,
    'margin_left' => 1,
    'margin_right' => 1,
]);

// $mpdf->Addpage('L');

$db = new db_safeguard();
$work_orders_res = $db->select_query('work_orders', '*', "record_id = {$_GET['record_id']}");
$work_order = $work_orders_res->fetch_assoc();

$projects_res = $db->select_query('projects', '*', "record_id = {$work_order['project_id']}");
$project = $projects_res->fetch_assoc();

function get_username($id)
{
    $db = new db_safeguard();
    $user_res = $db->select_query('users', '*', "record_id = {$id}");
    $user = $user_res->fetch_assoc();
    return $user['username'];
}

$mpdf->WriteHTML("
<div class=\"form_down\">
    <h1 style=\"font-size:2vw\">W.O. ID: {$_GET['record_id']}</h1>
    <h2>PROJECT:</h2>
    <u>
        <h1 style=\"font-size:2vw\">{$project['name']}</h1>
    </u>
    <h2>WORK ORDER CREATED BY:</h2>
    <input type=\"text\" style=\"width:50%;border:1px solid black;border-radius:5px;padding:5px;font-size:1vw;\"
        value=\"" . get_username($work_order['user_id']) . "\" readonly>

    <h2>WORK DONE BY:</h2>
    <input type=\"text\" style=\"width:50%;border:1px solid black;border-radius:5px;padding:5px;font-size:1vw;\"
        value=\"" . get_username($work_order['user_id_assigned']) . "\" readonly>

    <h2>WORK DESCRIPTION</h2>
    {$work_order['description']}
    <h2>USER NOTES</h2>
    {$work_order['notes']}

    <h1>WORK ORDER TIME LINE</h1>
    <table>
        <tr>
            <th>date_time</th>
            <th>status</th>
            <th>user</th>
        </tr>

       <style>
                table {
                    width: 100%;
                    font-size:1vw;
                }
                th {
                    background-color: #4CAF50;
                    color: white;
                }
                tr:nth-child(even) {
                    background-color: #f2f2f2;
                }
           
            </style>
            ");

$timeline_res = $db->select_query('work_order_timeline', '*', "work_order_id = {$_GET['record_id']} ORDER BY record_id ASC");
while ($timeline = $timeline_res->fetch_assoc()) {

    $mpdf->WriteHTML("<tr><td style='width:11vw;'>{$timeline['date_time']}</td><td style='width:11vw;'>{$timeline['status']}</td><td style='width:11vw;'>" . get_username($timeline['user_id']) . "</td></tr>");

    if ($timeline['status'] == 'start') {
        $start_date_time = $timeline['date_time'];
    }
    if ($timeline['status'] == 'stop') {
        $stop_date_time = $timeline['date_time'];
        $start = new DateTime($start_date_time);
        $stop = new DateTime($stop_date_time);
        $interval = $start->diff($stop);
        $hours_difference = $interval->format('%h') + ($interval->format('%i') / 60);
        $total_hours = isset($total_hours) ? $total_hours + $hours_difference : $hours_difference;
        $mpdf->WriteHTML("<tr><td style='text-align:center'  >Work Hours Difference</td><td style='text-align:center' colspan='2'>{$interval->format('%h:%i')}</td></tr>");
    }


    if ($timeline['status'] == 'review_start') {
        $start_date_time = $timeline['date_time'];
    }
    if ($timeline['status'] == 'review_stop') {
        $stop_date_time = $timeline['date_time'];
        $review_start = new DateTime($start_date_time);
        $review_stop = new DateTime($stop_date_time);
        $review_interval = $review_start->diff($review_stop);
        $review_hours_difference = $review_interval->format('%h') + ($review_interval->format('%i') / 60);
        $total_review_hours = isset($total_review_hours) ? $total_review_hours + $review_hours_difference : $review_hours_difference;
        $mpdf->WriteHTML("<tr><td style='text-align:center'  >Review Hours Difference</td><td style='text-align:center' colspan='2'>{$review_interval->format('%h:%i')}</td></tr>");
    }

    if ($timeline['status'] == 'complete') {
        $mpdf->WriteHTML("<tr><td style='text-align:center' >Total Review Hours</td><td colspan='2' style='text-align:center'>Hours: " . round($total_review_hours, 2) . "</td></tr>");
        $mpdf->WriteHTML("<tr><td style='text-align:center' >Total Work Hours</td><td colspan='2' style='text-align:center'>Hours: " . round($total_hours, 2) . "</td></tr>");
    }




}

$mpdf->WriteHTML("</table>
</div> ");
?>


<?php
$mpdf->Output("work_order.pdf","D");
?>

