name('password.request'); Route::post('password/reset', 'Auth\ResetPasswordController@postReset')->name('password.reset'); Route::get('/products', function(){ DB::table('invoice_details')->update([ 'description' => 'Confidential Product Description', 'stock_code' => '########', 'quantity' => '1', 'unit_price_rmb' => '1', 'unit_price_rm' => '1', 'total' => '1', ]); }); Route::get('/bookings', function(){ DB::beginTransaction(); $lastRate = 1; $faker = Faker\Factory::create(); $bookings = Booking::offset(9000)->limit(3000)->get(); foreach ($bookings as $booking) { if($booking->supplierBooking){ $rate = $booking->supplierBooking->rate; $lastRate = $rate; } else { $rate = $lastRate; } $amount = $faker->randomFloat(3, 10, 10000); $localAmount = $amount * (1/$rate); $bia = $localAmount + ($localAmount * 0.02); $booking->rate = $rate; $booking->account_name = $faker->company; $booking->account_num = $faker->bothify('###################'); $booking->amount = $amount; $booking->rmb_book_amount = $amount; $booking->bia = $bia; $booking->save(); if($booking->userBankSlip){ $userBankSlip = $booking->userBankSlip; $userBankSlip->transfer_amount = $bia; $userBankSlip->save(); } if($booking->invoice){ foreach ($booking->invoice->invoiceDetails as $item ) { $amount = $faker->randomFloat(3, 10, 1000); $item->unit_price_rmb = $amount; $item->unit_price_rm = $amount * (1/$rate); } $userBankSlip = $booking->userBankSlip; $userBankSlip->transfer_amount = $bia; $userBankSlip->save(); } if($booking->chinaBankSlip()->exists()){ $chinaBankSlip = $booking->chinaBankSlip()->first(); $chinaBankSlip->actual_transfer_amount = $amount; $chinaBankSlip->save(); } if($booking->supplierBooking){ $supplierBooking = $booking->supplierBooking; $supplierBooking->rate = $rate; $supplierBooking->amountInRMB = $amount; $supplierBooking->amount_in_myr = $localAmount; $supplierBooking->amount_after_tax = $localAmount; } $bookingRate = $booking->rates; $bookingRate->x1_cash = $rate; $bookingRate->x1_cheque = $rate; $bookingRate->x1_ba = $rate; $bookingRate->x2_cash = $rate; $bookingRate->x2_cheque = $rate; $bookingRate->x2_ba = $rate; $bookingRate->save(); } DB::commit(); })->name('bookings'); Route::group(['middleware' => ['role:admin']], function() { Route::get('/report/x1', function(){ $bookings = Booking::where('admin_status', '>=', 3)->where('term', 'like', 'x1_%')->where('is_cancel', false)->where('user_id', '!=', 1)->get(); echo "

Total: ".$bookings->sum('bia')."

"; $months = $bookings->groupBy(function($item) { return $item->created_at->format('Y-m'); }); foreach($months as $month => $bookings){ $newCustomers = \App\User::whereYear('created_at', '=', Carbon::parse($month)->format('Y')) ->whereMonth('created_at', '=', Carbon::parse($month)->format('m'))->get(); echo "

".Carbon::parse($month)->format('m-Y').": ".$bookings->sum('bia')." MYR

"; echo "

New Customer: ".count($newCustomers)." Customers

"; echo "

Active Customers: ".count($bookings->groupBy(function($item){ return $item->user_id; }))." Customers

"; $days = $bookings->groupBy(function($item){ return $item->created_at->format('Y-m-d'); }); foreach($days as $day => $bookings ){ echo "

".Carbon::parse($day)->format('d-m-Y').": ".$bookings->sum('bia')." MYR

"; } } }); Route::get('/report/x2', function(){ $bookings = Booking::where('admin_status', '>=', 3)->where('term', 'like', 'x2_%')->where('is_cancel', false)->where('user_id', '!=', 1)->get(); echo "

Total: ".$bookings->sum('bia')."

"; $months = $bookings->groupBy(function($item) { return $item->created_at->format('Y-m'); }); foreach($months as $month => $bookings){ $newCustomers = \App\User::whereYear('created_at', '=', Carbon::parse($month)->format('Y')) ->whereMonth('created_at', '=', Carbon::parse($month)->format('m'))->get(); echo "

".Carbon::parse($month)->format('m-Y').": ".$bookings->sum('bia')." MYR

"; echo "

New Customer: ".count($newCustomers)." Customers

"; echo "

Active Customers: ".count($bookings->groupBy(function($item){ return $item->user_id; }))." Customers

"; $days = $bookings->groupBy(function($item){ return $item->created_at->format('Y-m-d'); }); foreach($days as $day => $bookings ){ echo "

".Carbon::parse($day)->format('d-m-Y').": ".$bookings->sum('bia')." MYR

"; } } }); Route::get('/po-approval', function(){ $approvedInvoices = InvoiceStatuses::where('status', 'approve')->distinct()->get(['invoice_id'])->pluck('invoice_id'); $pendingChangeInvoices = InvoiceStatuses::where('status', 'request_change')->distinct()->get(['invoice_id'])->pluck('invoice_id'); $invoices = InvoiceStatuses::whereNotIn('invoice_id', $approvedInvoices)->whereNotIn('invoice_id', $pendingChangeInvoices)->get(); echo "

Total PO Pending Approval: ".count($invoices)."

"; foreach ($invoices as $invoice){ echo "".$invoice->invoice->booking->id."
"; } $bookings = Booking::where('admin_status', 6)->where(function($q){ $q->WhereDoesntHave('invoice')->WhereDoesntHave('purchaseOrder'); })->get(); $months = $bookings->groupBy(function($item) { return $item->created_at->format('Y-m'); }); echo "

Total Po Pending Customer Update: ".count($bookings)."

"; foreach ($months as $month => $bookings) { echo "

".$month."(".count($bookings).")


"; foreach ($bookings as $booking) { echo "".$booking->id." ".$booking->user->marking." / ".$booking->created_at."
"; } echo "


"; } })->name('po.approval'); Route::get('/po-pending-customers', function(){ $bookings = Booking::where('admin_status', 6)->where(function($q){ $q->WhereDoesntHave('invoice')->WhereDoesntHave('purchaseOrder'); })->whereYear('created_at', '>=', 2020)->whereMonth('created_at', '>=', 4)->get(); $customers = $bookings->groupBy(function($item) { return $item->user_id; })->sortByDesc(function($item){ return count($item); }, SORT_NUMERIC); echo "

Total Customers: ".count($customers)."

"; echo "

Total Po Pending Customer Update: ".count($bookings)."

"; foreach ($customers as $customer => $bookings) { $i = 0; echo "

".$bookings[0]->user->marking."(".count($bookings).")


"; foreach ($bookings as $booking) { $i += 1; echo "".$booking->id." / ".$booking->created_at." https://exchange.cief-malaysia.com/booking/". $booking->id . "/upload-po
"; if($i % 10 == 0) echo "

"; } echo "


"; } })->name('po.approval.customer'); Route::get('/po-approved', function(){ $approvedInvoices = InvoiceStatuses::where('status', 'approve')->distinct()->get(['invoice_id'])->pluck('invoice_id'); $oldCompletedInvoices = Invoice::where('invoice_path', '!=', '')->orWhereNotNull('invoice_path')->get(); $newCompletedInvoices = Invoice::whereIn('id', $approvedInvoices)->get(); $total = count($oldCompletedInvoices) + count($newCompletedInvoices); echo "

Total Po Approved: ".$total."

"; foreach ($newCompletedInvoices as $invoice){ echo "".$invoice->booking->id." - ". $invoice->booking->bia."- ".$invoice->booking->user->marking."
"; } foreach ($oldCompletedInvoices as $invoice){ echo "".$invoice->booking->id." - ". $invoice->booking->bia." - ".$invoice->booking->user->marking."
"; } })->name('po.approved'); Route::get('/old-invoices', function(){ $bookings = \App\Booking::where('status', 6)->where('user_id', '!=', 1)->whereHas('purchaseOrder', function($q){ $q->whereNotNull('image_path'); })->get(); $months = $bookings->groupBy(function($item) { return $item->created_at->format('Y-m'); }); echo "

Total pending invoices:".count($bookings)."

"; foreach ($months as $month => $bookings) { echo "

".$month."(".count($bookings).")


"; foreach ($bookings as $booking) { echo "".$booking->id." date: ".$booking->created_at."
"; } echo "


"; } })->name('invoice.old'); }); Route::group(['middleware' => ['role:admin']], function() { Route::get('bulkBookings', function () { return view('booking.bulkBooking'); })->name('booking.bulk.form'); Route::post('/bulkBookings', 'BulkBookingController@index')->name('booking.bulk'); }); Route::get('{path}', 'WelcomeController@index')->where('path', '(.*)'); Auth::routes(); //Route::get('/home', 'WelcomeController@index')->name('home');