<?
include "classes/html.class.php";

$html = new html("Upcomming Services");

function addDays($date, $days, $format = "Y-m-d")
{
    $date = new DateTime($date);
    $date->modify("$days days");
    return $date->format($format);
}

$data = [];
$html = "";
$db = new db();

$farm_res = $db->exec_query('farms', ['*'], '', '', '', '', 'record_id = 5', "ORDER BY record_id ASC");

while ($farm = $farm_res->fetch_assoc()) {

    // $html = $html . "<h1> FARM : {$farm['farm_name']} </h1> <br>";

    $asset_type_res = $db->exec_query('asset_types', ['*'], '', '', '', '', "record_id = 9 OR record_id = 10 OR record_id = 11 OR record_id = 12 OR record_id = 17 OR record_id = 18 OR record_id = 19");

    while ($asset_type = $asset_type_res->fetch_assoc()) {

        // $html = $html . "<br><br> <h1>{$asset_type['asset_type_name']} </h1>";

        $assets_res = $db->exec_query('assets', ['*'], '', '', '', '', " asset_type_id = {$asset_type['record_id']} AND farm_id = {$farm['record_id']}");

        while ($asset = $assets_res->fetch_assoc()) {

            // $html = $html . "<br><br><b>{$asset['fleet_no']}</b> {$asset['description']} ";
            $odo_res2 = $db->exec_query('asset_odo', ['*'], '', '', '', '', "asset_record_id = {$asset['record_id']}", 'ORDER BY record_id DESC');
            $odo2 = $odo_res2->fetch_assoc();


            $last_known_service_res = $db->exec_query('job_cards', ['*'], '', '', '', '', "asset_id = {$asset['record_id']} AND job_card_type = 'SERVICE'", "ORDER BY record_id DESC");
            if ($last_known_service_res->num_rows > 0) {

                $last_known_service = $last_known_service_res->fetch_assoc();
                $odo_res = $db->exec_query('asset_odo', ['*'], '', '', '', '', "asset_record_id = {$asset['record_id']} AND `date`  BETWEEN '" . addDays(substr($last_known_service['date_time_opened'], 0, 10), "-5") . " 00:00' AND '" . addDays(substr($last_known_service['date_time_opened'], 0, 10), "+5") . " 23:59'", 'ORDER BY record_id DESC');

                if ($odo_res->num_rows < 1) {
                    $odo_res = $db->exec_query('asset_odo', ['*'], '', '', '', '', "asset_record_id = {$asset['record_id']} AND `date` < '" . addDays(substr($last_known_service['date_time_opened'], 0, 10), "+0") . " 23:59'", 'ORDER BY record_id DESC');
                }
                $odo = $odo_res->fetch_assoc();

                // $html = $html . "<br> <u>LAST KNOWN SERVICE</u> : <br> JC. No. : <b>{$last_known_service['record_id']}</b><br> DATE OPENED : <b>{$last_known_service['date_time_opened']}</b><br> JC. STATUS : <b>{$last_known_service['job_card_status']}</b> <br> ODO for that day : <b>{$odo['odo']}</b>";


                // $html = $html . "<br> CURRENT ODO: {$odo2['odo']} {$odo2['date']} ";

                $service_type_res = $db->exec_query('service_types', ['*'], '', '', '', '', "record_id = '{$asset_type['service_type_id']}'");
                $service_type = $service_type_res->fetch_assoc();
                // $html = $html . "<br> SERVICE INTERVAL : <b>{$service_type['service_interval']}</b>";
                // $html = $html . "<br> NEXT SERVICE : <b>" . ($odo['odo'] + $service_type['service_interval']) . '</b>';

                if($odo2['odo'] > ($odo['odo'] + $service_type['service_interval'])/1.05){

                    if((($odo['odo'] + $service_type['service_interval']) - $odo2['odo']) < 0){
                        $data[] = "<tr><td><input type='text' style='background-color:orange;' class='table_input' value='{$asset['description']}' readonly /></td><td><input style='background-color:orange;' type='text' class='table_input' value='{$asset['fleet_no']}' readonly /></td><td><input style='background-color:orange;' type='text' class='table_input' value='".(($odo['odo'] + $service_type['service_interval']))."' readonly /></td><td><input style='background-color:orange;' type='text' class='table_input' value='{$odo2['odo']}' readonly /></td><td><input type='text' style='background-color:orange;'class='table_input' value='".(($odo['odo'] + $service_type['service_interval']) - $odo2['odo'])."' readonly /></td></tr>";

                    }else{
                        $data[] = "<tr><td><input type='text' class='table_input' value='{$asset['description']}' readonly /></td><td><input type='text' class='table_input' value='{$asset['fleet_no']}' readonly /></td><td><input type='text' class='table_input' value='".(($odo['odo'] + $service_type['service_interval']))."' readonly /></td><td><input type='text' class='table_input' value='{$odo2['odo']}' readonly /></td><td><input type='text' class='table_input' value='".(($odo['odo'] + $service_type['service_interval']) - $odo2['odo'])."' readonly /></td></tr>";

                    }
                }
                // $amlost_due[] = "{$asset['fleet_no']} {$asset['description']} DUE IN <b>" . (($odo['odo'] + $service_type['service_interval']) - $odo2['odo']) . "</b> {$service_type['odo_type']}";
            } else {
                $data[] = "<tr><td><input type='text' class='table_input' value='{$asset['description']}' readonly /></td><td><input type='text' class='table_input' value='{$asset['fleet_no']}' readonly /></td><td colspan='3'><input type='text' style='width:92% ;'class='table_input' value='NO SERVICE HISTORY FOUND ON THE SYSTEM' readonly /></td></tr>";
                // $html = $html . "<br> CURRENT ODO: {$odo2['odo']} {$odo2['date']} ";
                // $html = $html . "<br>NO SERIVICE HISTORY FOUND ON THE SYSTEM<br><br>";
            }
        }
    }
    // var_dump($amlost_due);

    // echo $html;

}
// var_dump($data);
?>
<br><br>
<table style='width:100%; text-align:left;'>
    <tr>
        <td style='font-size:1.5vw;'>
            Desription
        </td>
        <td style='font-size:1.5vw;'>
           Fleet No
        </td>
        <td style='font-size:1.5vw;'>
            Next Service
        </td>
        <td style='font-size:1.5vw;'>
            Current ODO
        </td>
        <td style='font-size:1.5vw;'>
            Net ODO
        </td>
    </tr>
    <?php echo implode(" ", $data ); ?>
</table>


</body>
