From 74f9052df6f6fc58be76fedfe7d2d553211be75d Mon Sep 17 00:00:00 2001 From: mahdi purHosseini Date: Tue, 13 Feb 2024 11:56:00 +0330 Subject: [PATCH] fix --- app/Http/Controllers/ExportController.php | 15 +++++++++++---- app/Item.php | 11 ++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/ExportController.php b/app/Http/Controllers/ExportController.php index 59007539..baa119c6 100644 --- a/app/Http/Controllers/ExportController.php +++ b/app/Http/Controllers/ExportController.php @@ -16,7 +16,8 @@ class ExportController extends Controller } , 'user.medical_center' => function ( $query ) { $query->select( 'id' , 'name' ); - } + } , + 'latestTransfer' ] ); $user = auth( 'api' )->user(); @@ -46,6 +47,7 @@ class ExportController extends Controller $row[] = $item[ "user" ] != null ? $item[ "user" ][ "name" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "id" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "name" ] : null; + $row[] = $item[ "latestTransfer" ] != null ? $item[ "latestTransfer" ][ "from_date" ] : null; return $row; } ); @@ -61,7 +63,8 @@ class ExportController extends Controller 'شناسه کاربر' , 'نام کاربر' , 'شناسه بیمارستان' , - 'نام بیمارستان' + 'نام بیمارستان', + 'اخرین انتقال' ] ); $export = new ExportCollection( $Items ); return Excel::download( $export , 'items.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] ); @@ -75,7 +78,9 @@ class ExportController extends Controller } , 'user.medical_center' => function ( $query ) { $query->select( 'id' , 'name' ); - } ] ); + }, + "latestTransfer" + ] ); $user = auth( 'api' )->user(); if ( $user->hasRole( 'User' ) or $user->hasRole( 'Supervisor' ) ) { @@ -98,6 +103,7 @@ class ExportController extends Controller $row[] = $item[ "user" ] != null ? $item[ "user" ][ "name" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "id" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "name" ] : null; + $row[] = $item[ "latestTransfer" ] != null ? $item[ "latestTransfer" ][ "from_date" ] : null; return $row; } ); @@ -111,7 +117,8 @@ class ExportController extends Controller 'شناسه کاربر' , 'نام کاربر' , 'شناسه بیمارستان' , - 'نام بیمارستان' + 'نام بیمارستان', + 'اخرین انتقال' ] ); $export = new ExportCollection( $Packages ); return Excel::download( $export , 'packages.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] ); diff --git a/app/Item.php b/app/Item.php index 746006fa..e1f65cbd 100644 --- a/app/Item.php +++ b/app/Item.php @@ -36,17 +36,22 @@ class Item extends Model implements HasMedia public function transfersAll() { - return $this->morphMany( 'App\Transfer' , "transferable" ); + return $this->morphMany( 'App\Transfer' , "transferable" )->orderBy("id" , "desc"); } public function transfers() { - return $this->morphMany( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED ); + return $this->morphMany( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED )->orderBy("id" , "desc"); + } + + public function latestTransfer() + { + return $this->morphOne( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED )->orderBy("id" , "desc")->latest(); } public function transferActive() { - return $this->morphMany( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED )->whereNull( "to_date" ); + return $this->morphMany( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED )->whereNull( "to_date" )->orderBy("id" , "desc"); } public function registerMediaCollections(): void