update
This commit is contained in:
@@ -38,11 +38,15 @@ Route::post('/lot/post', function(\Illuminate\Http\Request $request) {
|
||||
// $this->save();
|
||||
|
||||
$lot_object = new ParkingLot([
|
||||
'firebase_id' => str_replace(' ', '-', $request->get('name')),
|
||||
'firebase_id' => 'Lot',
|
||||
'stall_coordinates' => '',
|
||||
'reference_image' => $name
|
||||
'reference_image' => $name,
|
||||
'number_of_columns' => $request->get('numcols'),
|
||||
'name' => $request->get('name')
|
||||
]);
|
||||
$lot_object->save();
|
||||
|
||||
$lot_object->firebase_id = 'Lot'.$lot_object->id;
|
||||
$lot_object->save();
|
||||
|
||||
return view('selectstalls', [ 'image_name' => $name, 'lot_id' => $lot_object->id ]);
|
||||
@@ -54,6 +58,35 @@ Route::post('/lot/generate', function(\Illuminate\Http\Request $request){
|
||||
$lot_object->stall_coordinates = $request->get('coords');
|
||||
$lot_object->save();
|
||||
|
||||
$coordgroup = json_decode($request->get('coords'));
|
||||
$coordarrs = [];
|
||||
foreach( $coordgroup as $group ){
|
||||
array_push($coordarrs, ['x'=>$group->x, 'y'=>$group->y, 'w'=>$group->w, 'h'=>$group->h]);
|
||||
}
|
||||
|
||||
// var_dump($coordarrs);
|
||||
|
||||
usort($coordarrs, function($a, $b){
|
||||
return $a['y'] <=> $b['y'];
|
||||
});
|
||||
|
||||
// var_dump($coordarrs);
|
||||
|
||||
$coordarrs_chunks = array_chunk($coordarrs, $lot_object->number_of_columns);
|
||||
|
||||
foreach($coordarrs_chunks as $key=>$chunk ){
|
||||
usort($chunk, function($a, $b) {
|
||||
return $a['x'] <=> $b['x'];
|
||||
});
|
||||
$coordarrs_chunks[$key] = $chunk;
|
||||
}
|
||||
|
||||
$stall_coords_1D = call_user_func_array('array_merge', $coordarrs_chunks);
|
||||
$lot_object->stall_coordinates = json_encode($stall_coords_1D);
|
||||
|
||||
// dd([$coordarrs_chunks, $stall_coords_1D]);
|
||||
|
||||
|
||||
$db = new FirestoreClient();
|
||||
|
||||
$doc_ref = $db->collection('lots')->document($lot_object->firebase_id);
|
||||
@@ -65,20 +98,22 @@ Route::post('/lot/generate', function(\Illuminate\Http\Request $request){
|
||||
'lotID' => $lot_object->id,
|
||||
'refImage' => $lot_object->reference_image,
|
||||
'tableLayout' => '',
|
||||
'columns' => $lot_object->number_of_columns,
|
||||
'name' => $lot_object->name
|
||||
]);
|
||||
|
||||
$coords = json_decode($lot_object->stall_coordinates);
|
||||
// $coords = json_decode($lot_object->stall_coordinates);
|
||||
$stall_no = 1;
|
||||
foreach ($coords as $coord){
|
||||
foreach ($stall_coords_1D as $coord){
|
||||
$doc_ref = $db->collection('lots')->document($lot_object->firebase_id)->collection('stalls')->document('Stall-'.$stall_no);
|
||||
$doc_ref->set([
|
||||
'handicap' => false,
|
||||
'locationX' => $coord->x,
|
||||
'locationY' => $coord->y,
|
||||
'locationX' => $coord['x'],
|
||||
'locationY' => $coord['y'],
|
||||
'open' => true,
|
||||
'passID' => 0,
|
||||
'width' => $coord->w,
|
||||
'height' => $coord->h,
|
||||
'width' => $coord['w'],
|
||||
'height' => $coord['h'],
|
||||
'stall' => $stall_no,
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user