mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 20:31:05 +03:30
feat: add export for cycles
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Cycle;
|
||||
use App\Models\Item;
|
||||
use App\Models\Package;
|
||||
use App\Services\ExportCollection;
|
||||
@@ -123,4 +124,52 @@ class ExportController extends Controller
|
||||
$export = new ExportCollection( $Packages );
|
||||
return Excel::download( $export , 'packages.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] );
|
||||
}
|
||||
|
||||
public function cycles()
|
||||
{
|
||||
$cycles = Cycle::with([
|
||||
'user' => function ($query) {
|
||||
$query->select('id', 'name', 'medical_center_id');
|
||||
},
|
||||
'user.medical_center' => function ($query) {
|
||||
$query->select('id', 'name');
|
||||
},
|
||||
]);
|
||||
|
||||
$user = auth('api')->user();
|
||||
if ($user->hasRole('User') or $user->hasRole('Supervisor')) {
|
||||
$cycles = $cycles->whereHas('user', function ($query) use ($user) {
|
||||
$query->where('medical_center_id', $user->medical_center_id);
|
||||
});
|
||||
}
|
||||
|
||||
$cycles = $cycles->orderByDesc('id')->get();
|
||||
|
||||
$cycles = $cycles->map(function ($item, $key) {
|
||||
$row[] = $item["id"];
|
||||
$row[] = $item["unique_id"];
|
||||
$row[] = $item["note"];
|
||||
$row[] = $item["sterilizer_id"];
|
||||
$row[] = $item["cycle_number"];
|
||||
$row[] = $item["user"] != null ? $item["user"]["id"] : null;
|
||||
$row[] = $item["user"] != null ? $item["user"]["name"] : null;
|
||||
$row[] = $item['user']['medical_center']['id'] ?? null;
|
||||
$row[] = $item['user']['medical_center']['name'] ?? null;
|
||||
|
||||
return $row;
|
||||
});
|
||||
$cycles->prepend([
|
||||
'شناسه آیتم',
|
||||
'unique_id',
|
||||
'یادداشت',
|
||||
'sterilizer_id',
|
||||
'cycle_number',
|
||||
'شناسه کاربر',
|
||||
'نام کاربر',
|
||||
'شناسه بیمارستان',
|
||||
'نام بیمارستان',
|
||||
]);
|
||||
$export = new ExportCollection($cycles);
|
||||
return Excel::download($export, 'cycles.xlsx', null, [\Maatwebsite\Excel\Excel::XLSX]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user