Created
December 5, 2021 02:40
-
-
Save Llewellynvdm/3b0a1aa29ec82671ecd156618b5c7a1e to your computer and use it in GitHub Desktop.
Generate Transportation SQL data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function randomLetter($size) | |
{ | |
$bag = "A BC DEF G HIJKLL MNOP QRS TUV W XUZ "; | |
$key = array(); | |
$bagsize = strlen($bag) - 1; | |
for ($i = 0; $i < $size; $i++) | |
{ | |
$get = rand(0, $bagsize); | |
$key[] = $bag[$get]; | |
} | |
return implode($key); | |
} | |
function randomNumber($size) | |
{ | |
$bag = "0987654321877"; | |
$key = array(); | |
$bagsize = strlen($bag) - 1; | |
for ($i = 0; $i < $size; $i++) | |
{ | |
$get = rand(0, $bagsize); | |
$key[] = $bag[$get]; | |
} | |
return implode($key); | |
} | |
function randomL($size) | |
{ | |
$bag = "111110111111000"; | |
$key = array(); | |
$bagsize = strlen($bag) - 1; | |
for ($i = 0; $i < $size; $i++) | |
{ | |
$get = rand(0, $bagsize); | |
$key[] = $bag[$get]; | |
} | |
return implode($key); | |
} | |
function randomOne($size) | |
{ | |
$bag = "221111111"; | |
$key = array(); | |
$bagsize = strlen($bag) - 1; | |
for ($i = 0; $i < $size; $i++) | |
{ | |
$get = rand(0, $bagsize); | |
$key[] = $bag[$get]; | |
} | |
return implode($key); | |
} | |
function randomTwo($size) | |
{ | |
$bag = "222222211"; | |
$key = array(); | |
$bagsize = strlen($bag) - 1; | |
for ($i = 0; $i < $size; $i++) | |
{ | |
$get = rand(0, $bagsize); | |
$key[] = $bag[$get]; | |
} | |
return implode($key); | |
} | |
$truck_driver = array(); | |
$Surnames = array( | |
"SMITH", | |
"JOHNSON", | |
"WILLIAMS", | |
"BROWN", | |
"JONES", | |
"GARCIA", | |
"MILLER", | |
"DAVIS", | |
"RODRIGUEZ", | |
"MARTINEZ", | |
"HERNANDEZ", | |
"LOPEZ", | |
"GONZALEZ", | |
"WILSON", | |
"ANDERSON", | |
"THOMAS", | |
"TAYLOR", | |
"MOORE", | |
"JACKSON", | |
"MARTIN", | |
"LEE", | |
"PEREZ", | |
"THOMPSON", | |
"WHITE", | |
"HARRIS", | |
"SANCHEZ", | |
"CLARK", | |
"RAMIREZ", | |
"LEWIS", | |
"ROBINSON", | |
"WALKER", | |
"YOUNG", | |
"ALLEN", | |
"KING", | |
"WRIGHT", | |
"SCOTT", | |
"TORRES", | |
"NGUYEN", | |
"HILL", | |
"FLORES", | |
"GREEN", | |
"ADAMS", | |
"NELSON", | |
"BAKER", | |
"HALL", | |
"RIVERA", | |
"CAMPBELL", | |
"MITCHELL", | |
"CARTER", | |
"ROBERTS", | |
"GOMEZ", | |
"PHILLIPS", | |
"EVANS", | |
"TURNER", | |
"DIAZ", | |
"PARKER", | |
"CRUZ", | |
"EDWARDS", | |
"COLLINS", | |
"REYES", | |
"STEWART", | |
"MORRIS", | |
"MORALES", | |
"MURPHY", | |
"COOK", | |
"ROGERS", | |
"GUTIERREZ", | |
"ORTIZ", | |
"MORGAN", | |
"COOPER", | |
"PETERSON", | |
"BAILEY", | |
"REED", | |
"KELLY", | |
"HOWARD", | |
"RAMOS", | |
"KIM", | |
"COX", | |
"WARD", | |
"RICHARDSON", | |
"WATSON", | |
"BROOKS", | |
"CHAVEZ", | |
"WOOD", | |
"JAMES", | |
"BENNETT", | |
"GRAY", | |
"MENDOZA", | |
"RUIZ", | |
"HUGHES", | |
"PRICE", | |
"ALVAREZ", | |
"CASTILLO", | |
"SANDERS", | |
"PATEL", | |
"MYERS", | |
"LONG", | |
"ROSS", | |
"FOSTER", | |
"JIMENEZ", | |
"POWELL", | |
"JENKINS", | |
"PERRY", | |
"RUSSELL", | |
"SULLIVAN", | |
"BELL", | |
"COLEMAN", | |
"BUTLER", | |
"HENDERSON", | |
"BARNES", | |
"GONZALES", | |
"FISHER", | |
"VASQUEZ", | |
"SIMMONS", | |
"ROMERO", | |
"JORDAN", | |
"PATTERSON", | |
"ALEXANDER", | |
"HAMILTON", | |
"GRAHAM", | |
"REYNOLDS", | |
"GRIFFIN", | |
"WALLACE", | |
"MORENO", | |
"WEST", | |
"COLE", | |
"HAYES", | |
"BRYANT", | |
"HERRERA", | |
"GIBSON", | |
"ELLIS", | |
"TRAN", | |
"MEDINA", | |
"AGUILAR", | |
"STEVENS", | |
"MURRAY", | |
"FORD", | |
"CASTRO", | |
"MARSHALL", | |
"OWENS", | |
"HARRISON", | |
"FERNANDEZ", | |
"MCDONALD", | |
"WOODS", | |
"WASHINGTON", | |
"KENNEDY", | |
"WELLS", | |
"VARGAS", | |
"HENRY", | |
"CHEN", | |
"FREEMAN", | |
"WEBB", | |
"TUCKER", | |
"GUZMAN", | |
"BURNS", | |
"CRAWFORD", | |
"OLSON", | |
"SIMPSON", | |
"PORTER", | |
"HUNTER", | |
"GORDON", | |
"MENDEZ", | |
"SILVA", | |
"SHAW", | |
"SNYDER", | |
"MASON", | |
"DIXON", | |
"MUNOZ", | |
"HUNT", | |
"HICKS", | |
"HOLMES", | |
"PALMER", | |
"WAGNER", | |
"BLACK", | |
"ROBERTSON", | |
"BOYD", | |
"ROSE", | |
"STONE", | |
"SALAZAR", | |
"FOX", | |
"WARREN", | |
"MILLS", | |
"MEYER", | |
"RICE", | |
"SCHMIDT", | |
"GARZA", | |
"DANIELS", | |
"FERGUSON", | |
"NICHOLS", | |
"STEPHENS", | |
"SOTO", | |
"WEAVER", | |
"RYAN" | |
); | |
$Names = array( | |
"JAMES", | |
"JOHN", | |
"ROBERT", | |
"MICHAEL", | |
"WILLIAM", | |
"DAVID", | |
"RICHARD", | |
"CHARLES", | |
"JOSEPH", | |
"THOMAS", | |
"CHRISTOPHER", | |
"DANIEL", | |
"PAUL", | |
"MARK", | |
"DONALD", | |
"GEORGE", | |
"KENNETH", | |
"STEVEN", | |
"EDWARD", | |
"BRIAN", | |
"RONALD", | |
"ANTHONY", | |
"KEVIN", | |
"JASON", | |
"MATTHEW", | |
"GARY", | |
"TIMOTHY", | |
"JOSE", | |
"LARRY", | |
"JEFFREY", | |
"FRANK", | |
"SCOTT", | |
"ERIC", | |
"STEPHEN", | |
"ANDREW", | |
"RAYMOND", | |
"GREGORY", | |
"JOSHUA", | |
"JERRY", | |
"DENNIS", | |
"WALTER", | |
"PATRICK", | |
"PETER", | |
"HAROLD", | |
"DOUGLAS", | |
"HENRY", | |
"CARL", | |
"ARTHUR", | |
"RYAN", | |
"ROGER", | |
"JOE", | |
"JUAN", | |
"JACK", | |
"ALBERT", | |
"JONATHAN", | |
"JUSTIN", | |
"TERRY", | |
"GERALD", | |
"KEITH", | |
"SAMUEL", | |
"WILLIE", | |
"RALPH", | |
"LAWRENCE", | |
"NICHOLAS", | |
"MARY", | |
"PATRICIA", | |
"LINDA", | |
"BARBARA", | |
"ELIZABETH", | |
"JENNIFER", | |
"MARIA", | |
"SUSAN", | |
"MARGARET", | |
"DOROTHY", | |
"LISA", | |
"NANCY", | |
"KAREN", | |
"BETTY", | |
"HELEN", | |
"SANDRA", | |
"DONNA", | |
"CAROL", | |
"RUTH", | |
"SHARON", | |
"MICHELLE", | |
"LAURA", | |
"SARAH", | |
"KIMBERLY", | |
"DEBORAH", | |
"JESSICA", | |
"SHIRLEY", | |
"CYNTHIA", | |
"ANGELA", | |
"MELISSA", | |
"BRENDA", | |
"AMY", | |
"ANNA", | |
"REBECCA", | |
"VIRGINIA", | |
"KATHLEEN", | |
"PAMELA", | |
"MARTHA", | |
"DEBRA", | |
"AMANDA", | |
"STEPHANIE", | |
"CAROLYN", | |
"CHRISTINE", | |
"MARIE", | |
"JANET", | |
"CATHERINE", | |
"FRANCES", | |
"ANN" | |
); | |
// open the file | |
$Employee_file = fopen('CHAMPLAIN/Employee.sql', "w"); | |
if (!is_resource($Employee_file)) | |
{ | |
echo 'CHAMPLAIN/Employee.sql could not open'; | |
exit; | |
} | |
$ns = count($Names); | |
$ss = count($Surnames); | |
$ns--; | |
$ss--; | |
$keys = array(); | |
for ($i = 0; $i < 1000; $i++) | |
{ | |
$n = rand(0, $ns); | |
$s = rand(0, $ss); | |
$l = trim(randomLetter(1)); | |
if (strlen($l)) | |
{ | |
$l = " " . $l . ". "; | |
} | |
else | |
{ | |
$l = " "; | |
} | |
$randomNumber = randomNumber(6); | |
while (isset($keys[$randomNumber])) | |
{ | |
$randomNumber = randomNumber(6); | |
} | |
$license = randomL(1); | |
$keys[$randomNumber] = $randomNumber; | |
fwrite( | |
$Employee_file, | |
"INSERT INTO [Employee] ([Number],[Name],[DateOfHire],[DateOfBirth],[CommercialDriverLicense])" | |
. PHP_EOL | |
); | |
fwrite( | |
$Employee_file, "VALUES (" . $randomNumber . ", '" . | |
ucfirst(strtolower($Names[$n])) . $l . ucfirst( | |
strtolower($Surnames[$s]) | |
) . | |
"', '20" . rand(0, 1) . rand(0, 9) . "-" . rand(1, 12) . "-" . rand( | |
1, 26 | |
) . | |
"', '19" . rand(74, 95) . "-" . rand(1, 12) . "-" . rand(1, 26) . | |
"', " . $license . ")" . PHP_EOL | |
); | |
$employee_id = $i + 1; | |
if ($license == 1) | |
{ | |
$truck_driver[] = $employee_id; | |
} | |
} | |
// close file. | |
fclose($Employee_file); | |
$trailer_tracker = array(); | |
$desc1 = array( | |
'Purchased in', | |
'Part of buy out from', | |
'From deal made in', | |
'A William Trailer' | |
); | |
$desc2 = array( | |
'2010', | |
'2000', | |
'2011', | |
'2013', | |
'2014', | |
'2002' | |
); | |
$cap = array( | |
1 => array(12000, 22000, 34000, 46400), | |
2 => array(21000, 20000, 17000, 14000, 9000, 60000), | |
3 => array(14000, 9000, 8160, 7300, 7000, 6500), | |
4 => array(7300, 7000, 6500), | |
5 => array(21000, 20000, 17000, 14000, 9000, 8160, 7300, 7000, 6500, 60000) | |
); | |
// open the file | |
$Trailer_file = fopen('CHAMPLAIN/Trailer.sql', "w"); | |
if (!is_resource($Trailer_file)) | |
{ | |
echo 'CHAMPLAIN/Trailer.sql could not open'; | |
exit; | |
} | |
for ($i = 0; $i < 1000; $i++) | |
{ | |
$type = rand(1, 4); | |
$max = count($cap[$type]) - 1; | |
$capacity = $cap[$type][rand(0, $max)]; | |
$d = rand(0, 10); | |
if (isset($desc1[$d])) | |
{ | |
$description = array(); | |
$description[] = $desc1[$d]; | |
if ($d != 3) | |
{ | |
$description[] = $desc2[rand(0, 5)]; | |
} | |
$description = trim(implode(' ', $description)); | |
} | |
else | |
{ | |
$description = ''; | |
} | |
$trailer_id = $i + 1; | |
$trailer_tracker[$trailer_id] = array('trailer' => $trailer_id, | |
'trailer_type' => $type, | |
'capacity' => $capacity); | |
fwrite( | |
$Trailer_file, | |
"INSERT INTO [Trailer] ([Type],[Mileage],[Capacity],[Description])" | |
. PHP_EOL | |
); | |
fwrite( | |
$Trailer_file, "VALUES (" . $type . ", " . rand(12412, 21212452) . | |
", " . $capacity . ", '" . $description . "')" . PHP_EOL | |
); | |
} | |
// close file. | |
fclose($Trailer_file); | |
$desc1 = array( | |
'Best', | |
'Worse', | |
'Average', | |
'Normal', | |
'', | |
'', | |
'Normal' | |
); | |
$desc2 = array( | |
'seating', | |
'steering', | |
'breaking', | |
'lighting', | |
'cooling', | |
'heating', | |
'tyre changing' | |
); | |
$desc3 = array( | |
'experience', | |
'report', | |
'turtle', | |
'', | |
'feedback', | |
'monkey', | |
'rates' | |
); | |
$desc4 = array( | |
'yearly', | |
'monthly', | |
'daily', | |
'', | |
'', | |
'weekly', | |
'' | |
); | |
$keys = array('number' => array(), 'trailer' => array()); | |
$truck_tracker = array(); | |
// open the file | |
$Truck_file = fopen('CHAMPLAIN/Truck.sql', "w"); | |
if (!is_resource($Truck_file)) | |
{ | |
echo 'CHAMPLAIN/Truck.sql could not open'; | |
exit; | |
} | |
for ($tt = 0; $tt < 800; $tt++) | |
{ | |
$number = randomNumber(5); | |
while (isset($keys['number'][$number])) | |
{ | |
$number = randomNumber(5); | |
} | |
$keys['number'][$number] = true; | |
$d = rand(0, 100); | |
if (isset($desc1[$d]) && strlen($desc1[$d])) | |
{ | |
$description = array(); | |
$description[] = $desc1[$d]; | |
$description[] = $desc2[rand(0, 6)]; | |
$description[] = $desc3[rand(0, 6)]; | |
$description[] = $desc4[rand(0, 6)]; | |
$description = trim(implode(' ', $description)); | |
} | |
else | |
{ | |
$description = ''; | |
} | |
$body_type = randomTwo(1); | |
$fuel_type = randomOne(1); | |
$engine_type = rand(1, 4); | |
$trailer = 1; // no trailer | |
// if body type two | |
if ($body_type == 2) | |
{ | |
$trailer = rand(1, 1000); | |
while (isset($keys['trailer'][$trailer])) | |
{ | |
$trailer = rand(1, 1000); | |
} | |
$keys['trailer'][$trailer] = true; | |
} | |
$licenseNumber = array(); | |
$licenseNumber[] = randomLetter(3); | |
$licenseNumber[] = randomNumber(5); | |
$licenseNumber[] = randomLetter(2); | |
$licenseNumber = implode(' ', $licenseNumber); | |
$haul_type = rand(1, 2); | |
fwrite( | |
$Truck_file, | |
"INSERT INTO [Truck] ([Type],[Number],[Mileage],[BodyType],[Description],[EngineType],[FuelType], [LicenseNumber], [Trailer])" | |
. PHP_EOL | |
); | |
fwrite( | |
$Truck_file, | |
"VALUES (" . $haul_type . ", " . $number . ", " . rand(12412, 21212452) | |
. ", " . $body_type . ", '" . $description . "', " . $engine_type . ", " | |
. | |
$fuel_type . ", '" . trim($licenseNumber) . "', " . $trailer . ")" | |
. PHP_EOL | |
); | |
$truck_id = $tt + 1; | |
// truck maintenance | |
$do = randomTwo(1); | |
if ($do == 1) | |
{ | |
$maintenance = rand(1, 2); | |
} | |
else | |
{ | |
$maintenance = 0; | |
} | |
if (!isset($trailer_tracker[$trailer])) | |
{ | |
$max = count($cap[5]) - 1; | |
$capacity = $cap[5][rand(0, $max)]; | |
$truck_tracker[] = array( | |
'trailer_type' => 5, | |
'capacity' => $capacity, | |
'trailer' => $trailer, | |
'id' => $truck_id, | |
'haul' => $haul_type, | |
'maintenance' => $maintenance); | |
} | |
else | |
{ | |
// update the trailer array to have the truck ID | |
$trailer_tracker[$trailer]['id'] = $truck_id; | |
$trailer_tracker[$trailer]['haul'] = $haul_type; | |
$trailer_tracker[$trailer]['maintenance'] = $maintenance; | |
// now link the trailer to the truck | |
$truck_tracker[] = $trailer_tracker[$trailer]; | |
} | |
} | |
// close file. | |
fclose($Truck_file); | |
unset($trailer_tracker); | |
$items = array( | |
1 => array("name" => "TNT", "wpu" => array(6, 9)), | |
2 => array("name" => "dynamite", "wpu" => array(6, 9)), | |
3 => array("name" => "rocket propellant", "wpu" => array(25, 26)), | |
4 => array("name" => "display fireworks", "wpu" => array(6, 9)), | |
5 => array("name" => "consumer fireworks", "wpu" => array(2, 3, 4)), | |
6 => array("name" => "ammunition", "wpu" => array(3, 6, 9, 10)), | |
7 => array("name" => "acetylene", "wpu" => array(24)), | |
8 => array("name" => "hydrogen", "wpu" => array(24)), | |
9 => array("name" => "propane", "wpu" => array(24)), | |
10 => array("name" => "gasoline", "wpu" => array(25)), | |
11 => array("name" => "acetone", "wpu" => array(25)), | |
12 => array("name" => "diesel", "wpu" => array(25)), | |
13 => array("name" => "kerosene", "wpu" => array(25)), | |
14 => array("name" => "Oils", "wpu" => array(23, 24)), | |
15 => array("name" => "Fragrances", "wpu" => array(6)), | |
16 => array("name" => "Cleaning Compounds", "wpu" => array(25, 26)), | |
17 => array("name" => "Industrial Chemicals", "wpu" => array(25, 26)), | |
18 => array("name" => "Juice", "wpu" => array(2, 7, 9)), | |
19 => array("name" => "Milk", "wpu" => array(23)), | |
20 => array("name" => "Apricot", "wpu" => array(1, 2, 3)), | |
21 => array("name" => "Asparagus", "wpu" => array(1, 2, 3)), | |
22 => array("name" => "Avocado", "wpu" => array(1, 2, 3)), | |
23 => array("name" => "Banana", "wpu" => array(1, 2, 3)), | |
24 => array("name" => "Bean Sprouts", "wpu" => array(1, 2, 3)), | |
25 => array("name" => "Bell Peppers", "wpu" => array(1, 2, 3)), | |
26 => array("name" => "Melon", "wpu" => array(1, 2, 3)), | |
27 => array("name" => "Blackberries", "wpu" => array(1, 2, 3)), | |
28 => array("name" => "Blueberries", "wpu" => array(1, 2, 3)), | |
29 => array("name" => "Bok Choy", "wpu" => array(1, 2, 3)), | |
30 => array("name" => "Broccoli", "wpu" => array(1, 2, 3)), | |
31 => array("name" => "Brussels Sprouts", "wpu" => array(1, 2, 3)), | |
32 => array("name" => "Cauliflower", "wpu" => array(1, 2, 3)), | |
33 => array("name" => "Celery", "wpu" => array(1, 2, 3)), | |
34 => array("name" => "Cherries", "wpu" => array(1, 2, 3)), | |
35 => array("name" => "Collard Greens", "wpu" => array(1, 2, 3)), | |
36 => array("name" => "Cranberries", "wpu" => array(1, 2, 3)), | |
37 => array("name" => "Cucumber", "wpu" => array(1, 2, 3)), | |
38 => array("name" => "Eggplant", "wpu" => array(1, 2, 3)), | |
39 => array("name" => "Endive", "wpu" => array(1, 2, 3)), | |
40 => array("name" => "Fennel", "wpu" => array(1, 2, 3)), | |
41 => array("name" => "Figs", "wpu" => array(1, 2, 3)), | |
42 => array("name" => "Gooseberries", "wpu" => array(1, 2, 3)), | |
43 => array("name" => "Grapes", "wpu" => array(1, 2, 3)), | |
44 => array("name" => "Green Beans", "wpu" => array(1, 2, 3)), | |
45 => array("name" => "Green Onions", "wpu" => array(1, 2, 3)), | |
46 => array("name" => "Greens", "wpu" => array(1, 2, 3)), | |
47 => array("name" => "Guava", "wpu" => array(1, 2, 3)), | |
48 => array("name" => "Honeydew Melon", "wpu" => array(1, 2, 3)), | |
49 => array("name" => "Iceberg Lettuce", "wpu" => array(1, 2, 3)), | |
50 => array("name" => "Kale", "wpu" => array(1, 2, 3)), | |
51 => array("name" => "Kiwifruit", "wpu" => array(1, 2, 3)), | |
52 => array("name" => "Lettuce", "wpu" => array(1, 2, 3)), | |
53 => array("name" => "Limes", "wpu" => array(1, 2, 3)), | |
54 => array("name" => "Lychee", "wpu" => array(1, 2, 3)), | |
55 => array("name" => "Mandarins", "wpu" => array(1, 2, 3)), | |
56 => array("name" => "Mangoes", "wpu" => array(1, 2, 3)), | |
57 => array("name" => "Mulberries", "wpu" => array(1, 2, 3)), | |
58 => array("name" => "Mushrooms", "wpu" => array(1, 2, 3)), | |
59 => array("name" => "Nectarines", "wpu" => array(1, 2, 3)), | |
60 => array("name" => "Okra", "wpu" => array(1, 2, 3)), | |
61 => array("name" => "Passion Fruit", "wpu" => array(1, 2, 3)), | |
62 => array("name" => "Peaches", "wpu" => array(1, 2, 3)), | |
63 => array("name" => "Pears", "wpu" => array(1, 2, 3)), | |
64 => array("name" => "Peas", "wpu" => array(1, 2, 3)), | |
65 => array("name" => "Peppers", "wpu" => array(1, 2, 3)), | |
66 => array("name" => "Persimmons", "wpu" => array(1, 2, 3)), | |
67 => array("name" => "Plums", "wpu" => array(1, 2, 3)), | |
68 => array("name" => "Pomegranate", "wpu" => array(1, 2, 3)), | |
69 => array("name" => "Prickly Pear", "wpu" => array(1, 2, 3)), | |
70 => array("name" => "Prunes", "wpu" => array(1, 2, 3)), | |
71 => array("name" => "Quince", "wpu" => array(1, 2, 3)), | |
72 => array("name" => "Raspberries", "wpu" => array(1, 2, 3)), | |
73 => array("name" => "Rhubarb", "wpu" => array(1, 2, 3)), | |
74 => array("name" => "Romaine Lettuce", "wpu" => array(1, 2, 3)), | |
75 => array("name" => "Shallots", "wpu" => array(1, 2, 3)), | |
76 => array("name" => "Snow Peas", "wpu" => array(1, 2, 3)), | |
77 => array("name" => "Spinach", "wpu" => array(1, 2, 3)), | |
78 => array("name" => "Sprouts", "wpu" => array(1, 2, 3)), | |
79 => array("name" => "Strawberries", "wpu" => array(1, 2, 3)), | |
80 => array("name" => "String Beans", "wpu" => array(1, 2, 3)), | |
81 => array("name" => "Sweet Potato", "wpu" => array(1, 2, 3)), | |
82 => array("name" => "Tangerines", "wpu" => array(1, 2, 3)), | |
83 => array("name" => "Tomato", "wpu" => array(1, 2, 3)), | |
84 => array("name" => "Turnip", "wpu" => array(1, 2, 3)), | |
85 => array("name" => "Water Chestnuts", "wpu" => array(1, 2, 3)), | |
86 => array("name" => "Watercress", "wpu" => array(1, 2, 3)), | |
87 => array("name" => "Zucchini Squash", "wpu" => array(1, 2, 3)), | |
88 => array("name" => "Tissue Paper", "wpu" => array(1, 2, 3)), | |
89 => array("name" => "Toilet Paper", "wpu" => array(1, 2, 3)), | |
90 => array("name" => "Clothes", "wpu" => array(2, 3, 4, 5)), | |
91 => array("name" => "Foot ware", "wpu" => array(2, 3, 4, 5)), | |
92 => array("name" => "Air conditioning ", "wpu" => array(4, 6, 9)), | |
93 => array("name" => "Air fryer ", "wpu" => array(3, 6, 9)), | |
94 => array("name" => "Air ioniser ", "wpu" => array(3, 6, 9)), | |
95 => array("name" => "Blower ", "wpu" => array(3, 6, 9)), | |
96 => array("name" => "Blender ", "wpu" => array(3, 6, 9)), | |
97 => array("name" => "Immersion blender ", "wpu" => array(3, 6, 9)), | |
98 => array("name" => "Clothes dryer combo ", "wpu" => array(6, 7)), | |
99 => array("name" => "Clothes iron ", "wpu" => array(3, 6, 9)), | |
100 => array("name" => "Coffee maker ", "wpu" => array(3, 6, 9)), | |
101 => array("name" => "Dehumidifier ", "wpu" => array(3, 6, 9)), | |
102 => array("name" => "Dishwasher", "wpu" => array(6, 7)), | |
103 => array("name" => "Domestic robot", "wpu" => array(3, 6, 9)), | |
104 => array("name" => "Electric blanket ", "wpu" => array(2, 3, 4, 5)), | |
105 => array("name" => "Electric drill ", "wpu" => array(3, 6, 9)), | |
106 => array("name" => "Electric knife ", "wpu" => array(1, 2, 3)), | |
107 => array("name" => "Electric heater", "wpu" => array(3, 6, 9)), | |
108 => array("name" => "Evaporative cooler", "wpu" => array(6, 7)), | |
109 => array("name" => "Food processor", "wpu" => array(3, 6, 9)), | |
110 => array("name" => "Kitchen hood ", "wpu" => array(3, 6, 9)), | |
111 => array("name" => "Garbage disposer ", "wpu" => array(3, 6, 9)), | |
112 => array("name" => "Fan", "wpu" => array(3, 6, 9)), | |
113 => array("name" => "Hair dryer", "wpu" => array(3, 6, 9)), | |
114 => array("name" => "Hair iron ", "wpu" => array(3, 6, 9)), | |
115 => array("name" => "Mixer ", "wpu" => array(3, 6, 9)), | |
116 => array("name" => "Humidifier ", "wpu" => array(3, 6, 9)), | |
117 => array("name" => "Icemaker ", "wpu" => array(3, 6, 9)), | |
118 => array("name" => "Ice cream maker ", "wpu" => array(3, 6, 9)), | |
119 => array("name" => "Juicer ", "wpu" => array(3, 6, 9)), | |
120 => array("name" => "Lawn mower", "wpu" => array(3, 6, 9)), | |
121 => array("name" => "Convection oven", "wpu" => array(6, 7)), | |
122 => array("name" => "Microwave oven ", "wpu" => array(3, 6, 9)), | |
123 => array("name" => "Pie iron ", "wpu" => array(3, 6, 9)), | |
124 => array("name" => "Refrigerator", "wpu" => array(6, 7)), | |
125 => array("name" => "Sewing machine", "wpu" => array(3, 6, 9)), | |
126 => array("name" => "Television ", "wpu" => array(3, 6, 9)), | |
127 => array("name" => "Toaster ", "wpu" => array(1, 2, 3)), | |
128 => array("name" => "Vacuum cleaner", "wpu" => array(3, 6, 9)), | |
129 => array("name" => "Waffle iron ", "wpu" => array(3, 6, 9)), | |
130 => array("name" => "Water dispenser ", "wpu" => array(3, 6, 9)), | |
131 => array("name" => "Washing machine", "wpu" => array(6, 7)), | |
132 => array("name" => "Cattle", "wpu" => array(27)), | |
133 => array("name" => "Goats", "wpu" => array(5, 7)), | |
134 => array("name" => "Sheep", "wpu" => array(6, 7)), | |
135 => array("name" => "Hogs", "wpu" => array(9)), | |
136 => array("name" => "Chickens", "wpu" => array(28)), | |
137 => array("name" => "Ducks", "wpu" => array(28)), | |
138 => array("name" => "Geese", "wpu" => array(29)), | |
139 => array("name" => "Rabbits", "wpu" => array(28)), | |
140 => array("name" => "Lumber", "wpu" => array(4, 5, 6, 7, 8, 9)), | |
141 => array("name" => "Stone", "wpu" => array(4, 5, 6, 7, 8, 9)), | |
142 => array("name" => "Metal piping", | |
"wpu" => array(5, 6, 7, 8, 9, 10, 27)), | |
143 => array("name" => "I-Beams", "wpu" => array(5, 6, 7, 8, 9, 10, 27)), | |
144 => array("name" => "Steel frames", | |
"wpu" => array(5, 6, 7, 8, 9, 10, 27)), | |
145 => array("name" => "Backhoes", "wpu" => array(12, 13, 14)), | |
146 => array("name" => "Forklifts", "wpu" => array(14, 15)), | |
147 => array("name" => "Bobcats", "wpu" => array(12, 13, 14)), | |
148 => array("name" => "Bricks", "wpu" => array(30)), | |
149 => array("name" => "Scaffolding", "wpu" => array(4, 5, 6, 7, 8, 9)), | |
150 => array("name" => "Scrap metal", "wpu" => array(4, 5, 6, 7, 8, 9)), | |
151 => array("name" => "Baled Tires", "wpu" => array(4)), | |
152 => array("name" => "Airplane parts", | |
"wpu" => array(16, 17, 18, 19, 20)), | |
153 => array("name" => "Military tanks", "wpu" => array(20)), | |
154 => array("name" => "Turbine", "wpu" => array(20)) | |
); | |
$cargotype = array( | |
1 => array(1, 2), | |
2 => array(5), | |
3 => array(1, 4, 5), | |
4 => array(2, 3), | |
5 => array(1, 2, 3, 4, 5) | |
); | |
$cargo = array( | |
1 => array(1 => | |
array(3, 7, 8, 9, 10, 11, 12, 13), | |
2 => | |
array(15, 16, 17, 19)), | |
2 => array(5 => | |
array(140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, | |
152, 153, 154)), | |
3 => array(1 => | |
array(1, 2, 4, 5, 6, 15), | |
4 => | |
array(88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, | |
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, | |
112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, | |
123, 124, 125, 126, 127, 128, 129, 130, 131), | |
5 => | |
array(136, 137, 138, 139)), | |
4 => array(2 => | |
array(18, 19), | |
3 => | |
array(20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, | |
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, | |
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, | |
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, | |
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87)), | |
5 => array(1 => | |
array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15), | |
2 => | |
array(15, 16, 17, 18, 19), | |
3 => | |
array(20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, | |
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, | |
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, | |
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, | |
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87), | |
4 => | |
array(88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, | |
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, | |
112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, | |
123, 124, 125, 126, 127, 128, 129, 130, 131), | |
5 => | |
array(136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, | |
148, 149, 150, 151, 152, 153, 154)) | |
); | |
$wpu = array( | |
1 => 0.5, | |
2 => 1, | |
3 => 10, | |
4 => 20, | |
5 => 30, | |
6 => 50, | |
7 => 70, | |
8 => 80, | |
9 => 100, | |
10 => 1000, | |
11 => 2000, | |
12 => 3000, | |
13 => 5000, | |
14 => 7000, | |
15 => 10000, | |
16 => 20000, | |
17 => 30000, | |
18 => 40000, | |
19 => 50000, | |
20 => 60000, | |
21 => 70000, | |
22 => 100000, | |
23 => 1, | |
24 => 2, | |
25 => 3, | |
26 => 4, | |
27 => 700, | |
28 => 2, | |
29 => 6, | |
30 => 500 | |
); | |
$hauls = ''; | |
$driver_max = count($truck_driver) - 1; | |
$day_counter = 10; | |
$day_number = 1; | |
$month_number = 02; | |
$keys = array(); | |
for ($h = 0; $h < $driver_max; $h++) | |
{ | |
// set the driver | |
$driver = rand(0, $driver_max); | |
while (isset($keys['driver'][$driver])) | |
{ | |
$driver = rand(0, $driver_max); | |
} | |
$keys['driver'][$driver] = true; | |
$driver = $truck_driver[$driver]; | |
// set the truck | |
$truck = rand(0, 799); | |
while (isset($keys['truck'][$truck])) | |
{ | |
$truck = rand(0, 799); | |
} | |
// use a truck only once (for now) | |
$keys['truck'][$truck] = true; | |
// we get the truck details | |
$truck = $truck_tracker[$truck]; | |
if ($day_counter <= 0) | |
{ | |
$day_counter = rand(7, 10); | |
$day_number++; | |
} | |
if ($day_number > 29) | |
{ | |
$month_number++; | |
$day_number = 1; | |
} | |
// set the began date | |
$began_time = strtotime("2020-" . $month_number . "-" . $day_number); | |
$began = date('Y-m-d', $began_time); | |
$maintenance_same = true; | |
// set hte mileage (haul length) | |
if ($truck['haul'] == 2) | |
{ | |
// short haul | |
$mileage = rand(10, 449); | |
// add days to began date | |
$days = rand(0, 2); | |
$delivered = strtotime('+' . $days . 'days', $began_time); | |
$delivered = date('Y-m-d', $delivered); | |
// check if we have maintenance | |
if ($truck['maintenance']) | |
{ | |
if ($days >= 1) | |
{ | |
$startDate = strtotime('+1day', $began_time); | |
$startDate = date('Y-m-d', $startDate); | |
$endDate = $startDate; | |
} | |
else | |
{ | |
$startDate = $began; | |
$endDate = $began; | |
} | |
} | |
} | |
else | |
{ | |
// long haul | |
$mileage = rand(450, 3599); | |
// add days to began date | |
if ($mileage > 600) | |
{ | |
$days = round($mileage / 400 + rand(4, 7)); | |
} | |
else | |
{ | |
$days = rand(2, 3); | |
} | |
$delivered = strtotime('+' . $days . 'days', $began_time); | |
$delivered = date('Y-m-d', $delivered); | |
// check if we have maintenance | |
if ($truck['maintenance']) | |
{ | |
if ($days > 5) | |
{ | |
$startDate = strtotime('+1day', $began_time); | |
$startDate = date('Y-m-d', $startDate); | |
$endDate = strtotime('+3day', $began_time); | |
$endDate = date('Y-m-d', $endDate); | |
$maintenance_same = false; | |
} | |
else | |
{ | |
$startDate = $began; | |
$endDate = $began; | |
} | |
} | |
} | |
if ($maintenance_same) | |
{ | |
// the note | |
switch ($truck['maintenance']) | |
{ | |
case 1: | |
$maintenance_note = 'Routine Maintenance Scheduled on the ' | |
. $startDate; | |
break; | |
case 2: | |
$maintenance_note = 'Unscheduled Maintenance on the ' . $startDate; | |
break; | |
default: | |
$maintenance_note = ''; | |
} | |
} | |
else | |
{ | |
// the note | |
switch ($truck['maintenance']) | |
{ | |
case 1: | |
$maintenance_note = 'Routine Maintenance Scheduled from ' | |
. $startDate . ' to ' . $endDate; | |
break; | |
case 2: | |
$maintenance_note = 'Unscheduled Maintenance from ' . $startDate | |
. ' to ' . $endDate; | |
break; | |
default: | |
$maintenance_note = ''; | |
} | |
} | |
// get cargo type | |
$cargo_max = count($cargotype[$truck['trailer_type']]) - 1; | |
$cargo_type = $cargotype[$truck['trailer_type']][rand(0, $cargo_max)]; | |
// add haul once | |
$print_haul = true; | |
// get item types | |
$item_map = $cargo[$truck['trailer_type']][$cargo_type]; | |
$item_max = count($item_map) - 1; | |
// get haul ID | |
$haul_id = $h + 1; | |
$cargo_weight = $truck['capacity']; | |
$mix = ($cargo_type == 3 || $cargo_type == 4) ? 1 : 0; | |
// if can mix | |
if ($mix) | |
{ | |
$mix = randomL(1); | |
} | |
$weight_mix = rand(0, 1); | |
// item array | |
$_item_id = 0; | |
$_item_code = ''; | |
$_item_desc = ''; | |
$_item_weight = 0; | |
// open the file | |
$Manifest_file = fopen('CHAMPLAIN/Manifest.sql', "a+"); | |
if (!is_resource($Manifest_file)) | |
{ | |
echo 'CHAMPLAIN/Manifest.sql could not open'; | |
exit; | |
} | |
// set manifest | |
while ($cargo_weight) | |
{ | |
// get item ID | |
if (!$_item_id || $mix) | |
{ | |
$_item_id = $item_map[rand(0, $item_max)]; | |
// get the product name | |
$_item_desc = ucfirst(strtolower($items[$_item_id]['name'])); | |
// get product CODE | |
$_item_code = strtoupper(substr($_item_desc, 0, 3)) . $_item_id; | |
} | |
// get Size ID | |
if (!$_item_weight || $weight_mix || $mix) | |
{ | |
$_item_size_id = rand(0, count($items[$_item_id]['wpu']) - 1); | |
$_item_weight = $wpu[$items[$_item_id]['wpu'][$_item_size_id]]; | |
} | |
// check if item will fit | |
if ($_item_weight > $cargo_weight) | |
{ | |
// remove ITEM | |
$_item_id = 0; | |
$_item_weight = 0; | |
continue; | |
} | |
// we first get the full qty that can be loaded | |
$qty = floor($cargo_weight / $_item_weight); | |
// if we have no mix, and no size mix we have one entry so calculate full qty | |
if (!$mix) | |
{ | |
// add only once | |
$cargo_weight = 0; | |
} | |
else | |
{ | |
// how many should we add then | |
if ($qty != 1) | |
{ | |
$d = rand(0, 1); | |
if ($d && $qty > 10000) | |
{ | |
$div = floor(rand(200, 5000)); | |
} | |
elseif ($d && $qty > 1000) | |
{ | |
$div = floor(rand(10, 500)); | |
} | |
else | |
{ | |
if ($d && $qty > 100) | |
{ | |
$div = floor(rand(2, 50)); | |
} | |
else | |
{ | |
if ($d && $qty > 10) | |
{ | |
$div = floor(rand(2, 5)); | |
} | |
else | |
{ | |
$div = 2; | |
} | |
} | |
} | |
$qty = floor($qty / $div); | |
} | |
$load_weight = $qty * $_item_weight; | |
$cargo_weight = $cargo_weight - $load_weight; | |
if ($cargo_weight < 0 || $load_weight == 0) | |
{ | |
$cargo_weight = 0; | |
continue; | |
} | |
} | |
// print haul only once if load works out | |
if ($print_haul) | |
{ | |
if ($truck['maintenance']) | |
{ | |
// open the file | |
$TruckMaintenance_file = fopen('CHAMPLAIN/TruckMaintenance.sql', "a+"); | |
if (!is_resource($TruckMaintenance_file)) | |
{ | |
echo 'CHAMPLAIN/TruckMaintenance.sql could not open'; | |
exit; | |
} | |
fwrite( | |
$TruckMaintenance_file, | |
"INSERT INTO [TruckMaintenance] ([Type],[TruckID],[StartDate],[EndDate],[Code])" | |
. PHP_EOL | |
); | |
fwrite( | |
$TruckMaintenance_file, | |
"VALUES (" . rand(1, 7) . ", " . $truck['id'] . ", '" . | |
$startDate . "', '" . $endDate . "', " | |
. $truck['maintenance'] . ")" . PHP_EOL | |
); | |
// close file. | |
fclose($TruckMaintenance_file); | |
} | |
// open the file | |
$Haul_file = fopen('CHAMPLAIN/Haul.sql', "a+"); | |
if (!is_resource($Haul_file)) | |
{ | |
echo 'CHAMPLAIN/Haul.sql could not open'; | |
exit; | |
} | |
fwrite( | |
$Haul_file, | |
"INSERT INTO [Haul] ([TruckID],[ClientID],[CargoType],[Began],[Delivered],[Mileage],[Notes],[Employee])" | |
. PHP_EOL | |
); | |
fwrite( | |
$Haul_file, | |
"VALUES (" . $truck['id'] . ", " . rand(1, 1799) . ", " | |
. $cargo_type . ", '" . $began . "', '" . $delivered . "', " | |
. $mileage . ", '" . $maintenance_note . "', " . $driver . ")" . PHP_EOL | |
); | |
$print_haul = false; | |
$day_counter--; | |
// close file. | |
fclose($Haul_file); | |
} | |
fwrite( | |
$Manifest_file, | |
"INSERT INTO [Manifest] ([HaulID],[Item],[Description],[Weight],[qty])" | |
. PHP_EOL | |
); | |
fwrite( | |
$Manifest_file, | |
"VALUES (" . $haul_id . ", '" . $_item_code . "', '" . $_item_desc | |
. "', " . $_item_weight . ", " . $qty . ")" . PHP_EOL | |
); | |
} | |
fclose($Manifest_file); | |
} | |
echo 'Done!'; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment