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('/orders-table', function () { return view('pages.orders.table'); })->name('ordersTable'); 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('/delivery-list', function () { return view('pages.delivery_list'); })->name('delivery.list'); Route::get('/unclaimed-packinglist', function () { return view('pages.unclaimed_packinglist'); })->name('unclaimed-packinglist.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('/customer/{marking}/details', function ($marking) { $connection = CompanyConnection::where('invitee_reference', $marking)->first(); $id = $connection->invitee->company->id; return view('pages.customers.profile_details', ['id' => $id]); })->name('customer.profile.details'); Route::get('/orders/refresh', function(){ FetchWarehouseReceiveListFromVTPortalJob::withChain([ new FetchLoadedContainersFromVTPortalJob, new FetchPackingListFromVTPortalJob, new FetchContainersStatusUpdateFromVTPortalJob, new FetchDeliveryListFromVTPortalJob, new FetchOrdersFromYDPortalJob ])->dispatch(); return redirect('orders'); })->name('orders.refresh'); Route::get('/containers/refresh', function(){ (App()->make(\App\Classes\Modules\PackingLists\Processors\FetchPackingListFromVTPortalProcessor::class))->execute(); // FetchLoadedContainersFromVTPortalJob::dispatch(); // 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/{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('/yiwu', function () { $orders = \App\Models\Order::whereHas('OrderRoles', function($query){ return $query->where('role_id', \App\Classes\ValueObjects\Constants\OrderRoleTypes::ORIGIN_WAREHOUSE)->where('company_module_id', 4); })->whereHas('addresses', function($query){ return $query->where('status', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->whereIn('state_id', [5, 13, 14]); })->get(); foreach ($orders as $order){ echo ''. $order->reference.' - '.$order->created_at.'
'; } }); Route::get('/guangzhou', function () { $orders = \App\Models\Order::whereHas('OrderRoles', function($query){ return $query->where('role_id', \App\Classes\ValueObjects\Constants\OrderRoleTypes::ORIGIN_WAREHOUSE)->where('company_module_id', 3); })->whereHas('addresses', function($query){ return $query->where('status', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->whereIn('state_id', [5, 13, 14]); })->get(); foreach ($orders as $order){ echo ''. $order->reference.' - '.$order->created_at.'
'; } }); Route::get('/debug', function (){ $orders = \App\Models\Order::all(); $issues = []; foreach ($orders as $order){ $received = $order->parcels()->warehouseReceiveList()->sum('quantity'); $shipping = $order->parcels()->shippingList()->sum('quantity'); if( $received < $shipping){ $issues[] = [ 'order' => $order->reference, 'received' => $received, 'shipping' => $shipping ]; } } dd($issues); }); Route::get('/yd', function (){ (App()->make(FetchOrderListsFromYdPortalProcessor::class))->execute(); }); Route::get('/min_cbm', function (){ $companies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orders', function ($query){ return $query->whereHas('packingLists')->whereDoesntHave('packingLists', function($query){ return $query->whereHas('packages', function($query){ return $query->selectRaw('sum((width/100) * (height/100) * (length/100) * quantity) as cbm')->where('type', \App\Classes\ValueObjects\Constants\PackingListType::SHIPPING_PACKING_LIST)->where('status', '!=', 5)->having('cbm', '>', 0.3); }); }); })->limit(1)->get(); $i = 0; foreach ($companies as $company) { $marking = $company->inviters()->withPivot('invitee_reference')->first()->pivot->invitee_reference; echo ''.$i++.'. '.$marking.'
'; } }); Route::get('/warehouse', function () { return view('pages.warehouse'); })->name('warehouse'); Route::get('/warehouse/{id}/show', function ($id) { // $connection = CompanyConnection::where('invitee_reference', '2417MEN')->first(); // $id = $connection->invitee->company->id; return view('pages.templates.warehouseDetails', ['id' => $id]); })->name('warehouse.show'); Route::get('/export/customer-latest-order-date/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export'); Route::get('/export/packing-list/{id}', 'Exports\ExportContainerPackingListController@export')->name('container.packaging_list.export'); Route::get('/settings', function () { return view('pages.settings'); })->name('settings'); Route::get('/settings', function () { return view('pages.settings'); })->name('settings'); Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{inactive_end?}/{with_cbm?}', function ($active_start, $active_end, $inactive_start=null, $inactive_end=null, $with_cbm = false) { $activeCompanies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orderPackingLists', function($query) use($inactive_start, $inactive_end) { return $query->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function ($query) use ($inactive_start, $inactive_end) { return $query->where('drop_date', '>=', \Carbon\Carbon::parse($inactive_start))->where('drop_date', '<=', \Carbon\Carbon::parse($inactive_end)->addDay()); }); })->pluck('id'); $companies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orderPackingLists', function($query) use($active_start, $active_end) { return $query->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function ($query) use ($active_start, $active_end) { return $query->whereDate('drop_date', '>=', \Carbon\Carbon::parse($active_start))->whereDate('drop_date', '<=', \Carbon\Carbon::parse($active_end)->addDay()); }); })->whereNotIn('id', $activeCompanies)->get(); echo '

List of customers active between '.\Carbon\Carbon::parse($active_start)->format('d/m/Y'). ' - '.\Carbon\Carbon::parse($active_end)->format('d/m/Y').' & inactive between '.\Carbon\Carbon::parse($inactive_start)->format('d/m/Y'). ' - '.\Carbon\Carbon::parse($inactive_end)->format('d/m/Y').'

'; foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:''; if($with_cbm){ $packingList = $company->orderPackingLists()->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::SHIPPING_PACKING_LIST)->get(); $totalCbm = $packingList->flatMap(function ($packingList) { return $packingList->packages; })->sum(function($package){ return (( (float) $package->width / 100) * ( (float) $package->length / 100) * ( (float) $package->height / 100)) * $package->quantity; }); } $totalCbm = ($with_cbm ? '['. $packingList->count().'] ('. $totalCbm .')' : ''); echo $key + 1 .'. '.$marking.' '.$totalCbm.'

'; } }); Route::get('/online_payment/redirect', 'Billplz\CallbackBillplzController@callback')->name('online_payment.redirect'); Route::get('/order/{id}', function ($id) { return view('pages.orders.profile', ['id' => $id]); })->name('order.details');