KUJUNTI.ID MINISH3LL
Path : /var/www/html/jewelry-pos/app/Http/Controllers/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/jewelry-pos/app/Http/Controllers/BuyBackController.php


<?php

namespace App\Http\Controllers;

use App\Exports\BuyBackExport;
use App\Exports\SaleExport;
use App\Models\Sale;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;

class BuyBackController extends Controller
{
    public function __construct()
    {
        $this->middleware('permission:reports-buy-back-list' , ['only' => ['index' , 'show' , 'print' , 'destroy' , 'export']]);
    }
    /**
     * Display a listing of the resource.
     */
    public function index(Request $request)
    {
        $paginate = $request->get('paginate')??25;
        $start_date = $request->get('start_date') ?? date('Y-m-d');
        $end_date = $request->get('end_date') ?? date('Y-m-d');
        $dates = explode(' - ', $request->date);
        if ($request->date) {
            $start_date = $dates[0];
            $end_date = $dates[1];
        }
        $phone = $request->get('phone');
        $search = $request->get('search');
        if($search){
            $sales = Sale::where('invoice_no' , 'like' , '%' . $search . '%')->where('already_buy_back' , true??1)->orderBy('id' , 'desc')->paginate($paginate);
        }else{
            $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"])->where('already_buy_back' , true??1)->orderBy('id' , 'desc')->paginate($paginate);
        }
        return view('buy-backs.index' , compact('sales' , 'start_date' , 'end_date' , 'search' , 'paginate' , 'phone'));
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     */
    public function show(string $id , Request $request)
    {
        $search = $request->get('search');
        $start_date = $request->get('start_date') ?? date('Y-m-d');
        $end_date = $request->get('end_date') ?? date('Y-m-d');
        $dates = explode(' - ', $request->date);
        if ($request->date) {
            $start_date = $dates[0];
            $end_date = $dates[1];
        }
        $sale = Sale::find($id);
        $cashie = $sale->user??'';
        if(!$cashie || !$sale){
            abort(404);
        }
        return view('buy-backs.show' , compact('sale' , 'cashie'   , 'search' , 'start_date' , 'end_date'));
    }

    public function print(Request $request)
    {
        $start_date = $request->get('start_date') ?? date('Y-m-d');
        $end_date = $request->get('end_date') ?? date('Y-m-d');
        $dates = explode(' - ', $request->date);
        if ($request->date) {
            $start_date = $dates[0];
            $end_date = $dates[1];
        }
        $cashie = Auth::user()->name;
        $search = $request->get('search');
        if($search){
            $sales = Sale::where('invoice_no' , 'like' , '%' . $search . '%')->where('already_buy_back' , true??1)->orderBy('id' , 'desc')->get();
        }else{
            $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"])->where('already_buy_back' , true??1)->orderBy('id' , 'desc')->get();
        }
        return view('buy-backs.print' , compact('sales' , 'cashie' , 'start_date' , 'end_date' , 'search'));
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        $sale = Sale::find($id);
        $product = $sale->product;
        $product->qty = $product->qty+$sale->qty;
        $product->save();
        if($sale){
            $sale->delete();
        }
        return redirect()->route('reports.buy_back')->with('success' , __('message.buy back') . " " . __('message.deleted successfully'));
    }

    public function export(Request $request)
    {
        return Excel::download(new BuyBackExport($request->get('search'),$request->get('start_date'),$request->get('end_date')),'BuyBack.xlsx');
    }
}

© KUJUNTI.ID