Files
kulakpos_web/Modules/Business/App/Exports/ExportTransfer.php

55 lines
2.4 KiB
PHP
Raw Normal View History

2026-03-15 17:08:23 +07:00
<?php
namespace Modules\Business\App\Exports;
use App\Models\Transfer;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
class ExportTransfer implements FromView
{
public function view(): View
{
2026-05-14 11:55:22 +07:00
$user = auth()->user();
$activeBranchId = $user->active_branch_id;
$transfers = Transfer::with(['fromWarehouse:id,name', 'toWarehouse:id,name', 'toBranch:id,name', 'fromBranch:id,name', 'transferProducts'])
->where('business_id', $user->business_id)
->when($activeBranchId, function ($q) use ($activeBranchId) {
$q->where(function ($query) use ($activeBranchId) {
$query->where('from_branch_id', $activeBranchId)
->orWhere('to_branch_id', $activeBranchId);
});
})
->when(request('branch_id') && !$activeBranchId, function ($q) {
$q->where(function ($query) {
$query->where('from_branch_id', request('branch_id'))->orWhere('to_branch_id', request('branch_id'));
});
})
->when(request('search'), function ($q) {
$search = request('search');
$q->where(function ($q) use ($search) {
$q->where('note', 'like', '%' . $search . '%')
->orWhere('status', 'like', '%' . $search . '%')
->orWhere('invoice_no', 'like', '%' . $search . '%')
->orWhereHas('fromWarehouse', function ($q) use ($search) {
$q->where('name', 'like', '%' . $search . '%');
})
->orWhereHas('toWarehouse', function ($q) use ($search) {
$q->where('name', 'like', '%' . $search . '%');
})
->orWhereHas('toBranch', function ($q) use ($search) {
$q->where('name', 'like', '%' . $search . '%');
})
->orWhereHas('fromBranch', function ($q) use ($search) {
$q->where('name', 'like', '%' . $search . '%');
});
});
})
->latest()
->limit(request('per_page') ?? 20)->get();
return view('business::transfers.excel-csv', compact('transfers'));
2026-03-15 17:08:23 +07:00
}
}