name('login'); Route::group(['prefix' => 'swagger'], function () { Route::get('/', function () { return view('swagger.index'); }); Route::get('/json', function () { return view('swagger.json'); }); }); Route::get('/business/claim/{hash}', function ($hash) { return view('pages.accounts.claim_business', ['id' => Crypt::decryptString($hash)]); })->name('company.claim'); Route::get('/account/email/verification/{token}', function ($token) { return view('pages.accounts.email_verified', ['token' => $token]); })->name('account.email.verification'); Route::get('/account/password/reset/{token}', function ($token) { return view('pages.accounts.reset_password', ['token' => $token]); })->name('account.password.reset'); Route::get('/dashboard', function () { return view('pages.dashboard'); })->name('dashboard'); Route::get('/customers', function () { return view('pages.admin.customers'); })->name('customers'); Route::get('/orders', function () { return view('pages.orders.index'); })->name('orders'); Route::get('/order/show/{order_number}', function ($orderNumber) { return view('pages.orders.profile', ['id' => $orderNumber]); })->name('order.show'); Route::get('/address', function () { return view('pages.addresses.index'); })->name('address'); Route::get('/warehouse-list', function () { return view('pages.warehouse_list'); })->name('warehouse.list'); Route::get('/containers', function () { return view('pages.containers'); })->name('containers'); Route::get('/container/show/{reference}', function ($reference) { $container = Container::where('reference', $reference)->first(); return view('pages.templates.warehouseFlow', ['id' => $container->id]); })->name('container.show'); Route::get('/customer/{marking}', function ($marking) { $connection = CompanyConnection::where('invitee_reference', $marking)->first(); $id = $connection->invitee->company->id; return view('pages.customers.profile', ['id' => $id]); })->name('customer.profile'); Route::get('/orders/refresh', function(){ FetchWarehouseReceiveListFromVTPortalJob::withChain([ new FetchLoadedContainersFromVTPortalJob, new FetchPackingListFromVTPortalJob, new FetchContainersStatusUpdateFromVTPortalJob, new FetchDeliveryListFromVTPortalJob ])->dispatch(); return redirect('orders'); })->name('orders.refresh'); Route::get('/containers/refresh', function(){ FetchContainersStatusUpdateFromVTPortalJob::dispatch(); return redirect('orders'); })->name('containers.refresh'); Route::get('/deliveries/refresh', function(){ FetchDeliveryListFromVTPortalJob::dispatch(); return redirect('orders'); })->name('deliveries.refresh'); Route::get('/order/{id}/download', 'Orders\DownloadOrderQrPdfController@download')->name('order.qr.download'); Route::get('/report/customclearance', 'Reports\CustomcClearanceReportController@download')->name('report.customclearance'); Route::get('/report/customclearance/{orderid}', 'Reports\CustomcClearanceReportController@download')->name('report.customclearance'); Route::group(['prefix' => 'template', 'as' => 'template.'], function () { Route::get('/payments-and-billing', function () { return view('pages.templates.paymentsBilling'); })->name('payments-and-billing'); Route::get('/shipping-queue', function () { return view('pages.templates.shippingQueue'); })->name('shipping-queue'); }); Route::get('/report', function(){ $containers = Container::whereMonth('loading_date', '=', '09')->whereYear('loading_date', '=', '2021')->orderBy('loading_date')->get(); $total = 0; $customers = collect(); foreach ($containers as $container){ echo ''.$container->reference.': '.$container->packingLists->sum(function($packingList){ return $packingList->packages->sum(function ($package){ return (( (float) $package->width / 100) * ( (float) $package->length / 100) * ( (float) $package->height / 100)) * $package->quantity; }); }).'CBM ('. $container->loading_date->format('d-m-Y') .')

'; foreach($container->packingLists as $packingList){ $cbm = $packingList->packages->sum(function ($package){ return (( (float) $package->width / 100) * ( (float) $package->length / 100) * ( (float) $package->height / 100)) * $package->quantity; }); $total += $cbm; $marking = $packingList->owner->companyModule->inviters()->withPivot('invitee_reference')->first()->pivot->invitee_reference; if(!$customers->has($marking)){ $customers->put($marking, collect([ 'cbm' => $cbm, 'orders' => 1, 'packages' => $packingList->packages->sum('quantity') ])); continue; } $customers[$marking]['cbm'] += $cbm; $customers[$marking]['orders'] += 1; $customers[$marking]['packages'] += $packingList->packages->sum('quantity'); } } echo '

total cbm: '. $total . '

'; echo '

active customers: '. count($customers) . '



'; $i = 1; foreach ($customers->sortByDesc(function($customer){ return $customer['cbm']; }) as $marking => $customer) { echo ''.$i.'. '.$marking.': '.$customer['cbm'].' CBM ('. $customer['orders'] .' - '.$customer['packages'].' ) CTNS

'; $i++; } });