Viewing file: OrderController.php (4.62 KB) -rwxrwxrwx Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Models\Vendor;
use App\Models\Order;
use App\Models\DeliveryPartner;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Session;
class OrderController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
$vendors=Vendor::select('id','first_name','last_name')->get();
$delivery_partners=DeliveryPartner::select('id','name')->where('status',1)->get();
return view('pages.orders.index',['vendors'=>$vendors,'delivery_partners'=>$delivery_partners]);
}
public function getOrders()
{
// $orders=Order::select('id','customer as customer_name','total_amount as amount','delivery_deadline as delivery_date','total_amount as sales_item','id as payment','id as status')->get();
$orders=Order::with('vendor_Data')->get();
echo json_encode($this->makeData($orders));
}
private function makeData($orders) {
$data = array();
$count=0;
foreach ($orders as $order) {
$count++;
switch ($order->delivery_partner) {
case 1:
$delivery_partner="JIFF";
break;
case 2:
$delivery_partner="Vendor";
break;
case 3:
$delivery_partner="Pick Up";
break;
}
$data[] = [
"id"=>$order->id,
"invoice"=>$order->invoice_no,
"date"=>$order->created_at,
"vendor"=>$order->vendor_Data->first_name." ".$order->vendor_Data->last_name,
"customer_name"=>$order->customer,
"sale_status"=>$order->sale_status,
"total_amount"=>$order->grand_total,
"payment_status"=>$order->payment_status,
"delivery"=> $delivery_partner
];
}
return $data;
}
//
public function filterOrders(Request $req){
$query = Order::query();
$query->when($req->input('status') !== 'all', function ($q) use ($req) {
$q->where('sale_status', $req->input('status'));
});
$query->when($req->input('vendor') !== 'all', function ($q) use ($req) {
$q->where('vendor_id', $req->input('vendor'));
});
$query->when($req->input('delivered_by') !== 'all', function ($q) use ($req) {
$q->where('delivery_partner', $req->input('delivered_by'));
});
$query->when($req->input('search_input') !== '', function ($q) use ($req) {
$q->where('id','LIKE',"%{$req->input('search_input')}%");
});
if ($req->input('from_date')) {
$from_date=date_create($req->input('from_date'));
$from_date= date_format($from_date,"Y-m-d");
$to_date=date_create($req->input('to_date'));
$to_date= date_format($to_date,"Y-m-d");
$to_date = date(date('Y-m-d', strtotime($to_date. ' + 1 days')));
$query->where('created_at','>',$from_date);
$query->where('created_at','<',$to_date);
}
$orders = $query->with('vendor_Data')->get();
// $orders=Order::with('vendor_Data')->where('sale_status',$status_op,$status)
// ->where('vendor_id',$vendor_op,$vendor)
// ->where('created_at','>',$from_date)
// ->where('created_at','<',$to_date)
// // ->where('id','LIKE',"%{$req->input('search_input')}%")
// ->get();
echo json_encode($this->makeData($orders));
// echo json_encode(count($orders));
}
function orderInfo($sale_id) {
$order_details=Order::where(["id"=>$sale_id])->first();
echo json_encode($order_details);
}
public function orderDetails($order_id)
{
$order_details=Order::with('sale_Data')->with('customer_Data')->with('vendor_Data')->with('shop_Data')->find($order_id);
// var_dump($order_details->customer_Data);
return view('pages.orders.details',["order_details"=>$order_details]);
}
public function invoiceDetails($order_id)
{
$order_details=Order::with('sale_Data')->with('customer_Data')->with('vendor_Data')->find($order_id);
// var_dump($order_details->customer_Data);
return view('pages.orders.invoice',["order_details"=>$order_details]);
}
}
|