<?

include "../classes/db.class.php";

$db = new db();

function generateRandomString($length = 10)
{
    $characters = '0123456789 abcdefghijk lmnopqrstuvwx yz ABCDEFGHIJKL MNOPQRSTUVWXYZ ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[random_int(0, $charactersLength - 1)];
    }
    return $randomString;
}

$pre_inspection_content = 5;
$questions = "QUESTION NO WARNING||QUESTION WITH WARNING ON YES(WARNING)||QUESTION WITH WARNING ON NO(WARNING)||QUESTION WITH WARNING ON TEXT(WARNING)||";
$answers = "NO||YES||NO||TEST||";
$warning_questions = "QUESTION NO WARNING||QUESTION WITH WARNING ON YES(WARNING)||QUESTION WITH WARNING ON NO(WARNING)||QUESTION WITH WARNING ON TEXT(WARNING),NO||YES||NO||TEST||";

function get_random_jobcard_type()
{
    $db = new db();
    $random_id = rand(1, 4);
    $res = $db->exec_query('jobcard_types', ['*'], '', '', '', '', "record_id = $random_id");
    $row = $res->fetch_assoc();
    return $row['name'];
}


function random_date()
{
    $month = rand(1, 12);
    if (strlen($month) == 1) {
        $month = '0' . $month;
    }
    $day = rand(1, 31);
    if (strlen($day) == 1) {
        $day = '0' . $day;
    }

    $hour = rand(5, 17);
    if (strlen($hour) == 1) {
        $hour = '0' . $hour;
    }
    $min = rand(1, 59);
    if (strlen($min) == 1) {
        $min = '0' . $min;
    }
    return "2024-$month-$day $hour:$min";
}

function random_user()
{
    return rand(24, 26);
}


function random_jobcard_status()
{
    $rand = rand(1, 4);
    if ($rand == 1) {
        return "CLOSED";
    }
    if ($rand == 2) {
        return "OPEN";
    }
    if ($rand == 3) {
        return "AWAITING PARTS";
    }
}
$query = '';
$asset_res = $db->exec_query('assets', ['*'],'','','','',"farm_id = 10");
while ($asset = $asset_res->fetch_assoc()) {

    $asset_record_id = $asset['record_id'];
    echo $asset['fleet_no'];

    $index_1 = 1;
    while ($index_1 <= 365) {
        $user = random_user();
        $date = random_date();
        $notes = "NONE";
        // $db->insert("INSERT INTO `inspections`(`inpection_id`, `questions`, `answers`, `asset_record_id`, `user_id`, `date_time`, `notes`, `farm_id`) VALUES ('$pre_inspection_content','$questions','$answers','$asset_record_id','$user','$date','$notes','{$asset['farm_id']}')");

        $status = random_jobcard_status();
        $parts = "NONE";
        $jobcard_type = get_random_jobcard_type();
        if ($status == 'CLOSED') {
            $db->insert("INSERT INTO `job_cards`(`job_card_status`, `asset_id`, `parts`, `notes`, `user`, `date_time_created`, `date_time_opened`, `date_time_closed`, `job_card_type`, `odo`, `warning_questions`, `images`, `user_id_opened`, `user_id_closed`, `farm_id`) VALUES ('CLOSED','$asset_record_id','$parts','$notes','$user','$date','$date','$date','$jobcard_type','','$warning_questions','','$user','$user','{$asset['farm_id']}')");
        }
        if ($status == 'OPEN') {
            $db->insert("INSERT INTO `job_cards`(`job_card_status`, `asset_id`, `parts`, `notes`, `user`, `date_time_created`, `date_time_opened`, `date_time_closed`, `job_card_type`, `odo`, `warning_questions`, `images`, `user_id_opened`, `user_id_closed`, `farm_id`) VALUES ('OPEN','$asset_record_id','$parts','$notes','$user','$date','$date','','$jobcard_type','','$warning_questions','','$user','','{$asset['farm_id']}')");
        }
        if ($status == 'AWAITING PARTS') {
            $db->insert("INSERT INTO `job_cards`(`job_card_status`, `asset_id`, `parts`, `notes`, `user`, `date_time_created`, `date_time_opened`, `date_time_closed`, `job_card_type`, `odo`, `warning_questions`, `images`, `user_id_opened`, `user_id_closed`, `farm_id`) VALUES ('AWAITING PARTS','$asset_record_id','$parts','$notes','$user','$date','$date','','$jobcard_type','','$warning_questions','','$user','','{$asset['farm_id']}')");
        }

        $index_1++;
    }

}
