name('password.request');
Route::post('password/reset', 'Auth\ResetPasswordController@postReset')->name('password.reset');
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."
";
}
foreach ($oldCompletedInvoices as $invoice){
echo "".$invoice->booking->id."
";
}
})->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');