| Path : /var/www/html/jewelry-pos/app/Http/Controllers/ |
|
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');
}
}