Untitled

 avatar
unknown
plain_text
a year ago
2.7 kB
4
Indexable
public function dashboard()
    {
        if (auth()->user()->hasAnyRole(['admin', 'super admin'])) {
            $fields = Field::count();
            $flowers = Flower::count();
            $user = User::count();

            //delivery
            $deliveries = Delivery::count();
            $f_delivery = DeliveryItem::select(DB::raw('SUM(qty) as f_qty'))->first();
            $b_delivery = Delivery::where('destination', 'ad148992-220a-47bd-a3ee-45953fbd4fb8')->count();
            $s_delivery = Delivery::where('destination', '8fa9268e-b19d-4ec1-bdb2-97c54cc8bd35')->count();


            //harvest
            $harvests = HarvestItem::select(DB::raw('SUM(qty) as harvest_qty'))->first();
            $h_group = HarvestItem::select('id_flower',)->groupBy('id_flower')->get();
            $h_table = $h_group->map(function ($h) {
                $h_item = HarvestItem::where('id_flower', $h->id_flower)
                    ->select('id_flower', DB::raw('SUM(qty) as flower_qty'))
                    ->groupBy('id_flower')
                    ->first();

                return [
                    "h_name" => $h_item->flower->name,
                    "h_qty" => $h_item->flower_qty,
                ];
            })->sortByDesc('h_qty')->take(9)->values();

            return view('dashboards.admin_dashboard', compact("fields", "flowers", "user", "deliveries", "b_delivery", "s_delivery"))->with([
                "harvests" => $harvests->harvest_qty,
                "f_delivery" => $f_delivery->f_qty,
                "h_table" => $h_table
            ]);
        } elseif (auth()->user()->hasRole(['florist'])) {

            $user = Auth::user()->id;

            $merchant = Merchant::where('id_user', $user)->first();

            $Pengiriman = Delivery::with('items')->where('destination', $merchant->id)->get();
            $permintaan = FlowerRequest::with('flowerRequestsPlants')->where('merchants_id', $merchant->id)->get();
            $pengembalian = ProductReturn::with('returnItems')->where('merchant_id', $merchant->id)->get();

            $jumlahPengiriman = $Pengiriman->count();
            $jumlahPermintaan = $permintaan->count();
            $jumlahPengembalian = $pengembalian->count();

            $total_bunga = 0;


            foreach ($Pengiriman as $item) {
                foreach ($item->items as $value) {
                    $total_bunga += $value->qty;
                }
            }

            return view('dashboards.merchant_dashboard', compact('jumlahPengiriman', 'jumlahPermintaan', 'jumlahPengembalian', 'total_bunga'));
            
        }
    }
Editor is loading...
Leave a Comment