mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-14 01:01:06 +03:30
fix some problems
This commit is contained in:
@@ -0,0 +1,115 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Item;
|
||||||
|
use App\Package;
|
||||||
|
use App\Services\ExportCollection;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
|
||||||
|
class ExportController extends Controller
|
||||||
|
{
|
||||||
|
public function items()
|
||||||
|
{
|
||||||
|
$user = auth( 'api' )->user();
|
||||||
|
$Items = Item::when( $user->cant( 'showAll' , Item::class ) , function ( $query ) use ( $user ) {
|
||||||
|
if ( $user->hasRole( 'Supervisor' ) or $user->hasRole( 'User' ) ) {
|
||||||
|
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
||||||
|
$query->where( 'medical_center_id' , $user->medical_center_id );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
} )
|
||||||
|
->with( [ 'user' => function ( $query ) {
|
||||||
|
$query->select( 'id' , 'name' , 'medical_center_id' );
|
||||||
|
} ,
|
||||||
|
'user.medical_center' => function ( $query ) {
|
||||||
|
$query->select( 'id' , 'name' );
|
||||||
|
}
|
||||||
|
] )
|
||||||
|
->orderByDesc( 'id' )
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$Items = $Items->map( function ( $item , $key ) {
|
||||||
|
|
||||||
|
$row[] = $item[ "id" ];
|
||||||
|
$row[] = $item[ "name" ];
|
||||||
|
$row[] = $item[ "size" ];
|
||||||
|
$row[] = $item[ "udi" ];
|
||||||
|
$row[] = $item[ "note" ];
|
||||||
|
$row[] = $item[ "specific" ];
|
||||||
|
$row[] = $item[ "status" ];
|
||||||
|
$row[] = $item[ "repair" ];
|
||||||
|
$row[] = $item[ "user" ] != null ? $item[ "user" ][ "id" ] : null;
|
||||||
|
$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;
|
||||||
|
|
||||||
|
return $row;
|
||||||
|
} );
|
||||||
|
$Items->prepend( [
|
||||||
|
'شناسه آیتم' ,
|
||||||
|
'نام' ,
|
||||||
|
'سایز' ,
|
||||||
|
'udi' ,
|
||||||
|
'توضیحات' ,
|
||||||
|
'specific' ,
|
||||||
|
'وضعیت' ,
|
||||||
|
'تعمیرات' ,
|
||||||
|
'شناسه کاربر' ,
|
||||||
|
'نام کاربر' ,
|
||||||
|
'شناسه بیمارستان' ,
|
||||||
|
'نام بیمارستان'
|
||||||
|
] );
|
||||||
|
$export = new ExportCollection( $Items );
|
||||||
|
return Excel::download( $export , 'items.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] );
|
||||||
|
}
|
||||||
|
|
||||||
|
public function packages()
|
||||||
|
{
|
||||||
|
$user = auth( 'api' )->user();
|
||||||
|
$Packages = Package::when( $user->cant( 'showAll' , Package::class ) , function ( $query ) use ( $user ) {
|
||||||
|
if ( $user->hasRole( 'Supervisor' ) or $user->hasRole( 'User' ) ) {
|
||||||
|
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
||||||
|
$query->where( 'medical_center_id' , $user->medical_center_id );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
} )
|
||||||
|
->with( [ 'user' => function ( $query ) {
|
||||||
|
$query->select( 'id' , 'name' , 'medical_center_id' );
|
||||||
|
} ,
|
||||||
|
'user.medical_center' => function ( $query ) {
|
||||||
|
$query->select( 'id' , 'name' );
|
||||||
|
} ] )
|
||||||
|
->orderByDesc( 'id' )
|
||||||
|
->get();
|
||||||
|
$Packages = $Packages->map( function ( $item , $key ) {
|
||||||
|
|
||||||
|
$row[] = $item[ "id" ];
|
||||||
|
$row[] = $item[ "name" ];
|
||||||
|
$row[] = $item[ "bar_code" ];
|
||||||
|
$row[] = $item[ "qr_code" ];
|
||||||
|
$row[] = $item[ "note" ];
|
||||||
|
$row[] = $item[ "verified" ];
|
||||||
|
$row[] = $item[ "user" ] != null ? $item[ "user" ][ "id" ] : null;
|
||||||
|
$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;
|
||||||
|
|
||||||
|
return $row;
|
||||||
|
} );
|
||||||
|
$Packages->prepend( [
|
||||||
|
'شناسه آیتم' ,
|
||||||
|
'نام' ,
|
||||||
|
'بارکد' ,
|
||||||
|
'qr code' ,
|
||||||
|
'توضیحات' ,
|
||||||
|
'وضعیت' ,
|
||||||
|
'شناسه کاربر' ,
|
||||||
|
'نام کاربر' ,
|
||||||
|
'شناسه بیمارستان' ,
|
||||||
|
'نام بیمارستان'
|
||||||
|
] );
|
||||||
|
$export = new ExportCollection( $Packages );
|
||||||
|
return Excel::download( $export , 'packages.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,12 +14,8 @@ class ItemController extends Controller
|
|||||||
{
|
{
|
||||||
$user = auth( 'api' )->user();
|
$user = auth( 'api' )->user();
|
||||||
|
|
||||||
if ( $user->hasRole( 'User' ) ) {
|
|
||||||
return \MessageResponse::error( 'You dont have access to this section!' );
|
|
||||||
}
|
|
||||||
|
|
||||||
$Items = Item::when( $user->cant( 'showAll' , Item::class ) , function ( $query ) use ( $user ) {
|
$Items = Item::when( $user->cant( 'showAll' , Item::class ) , function ( $query ) use ( $user ) {
|
||||||
if ( $user->hasRole( 'Supervisor' ) ) {
|
if ( $user->hasRole( 'Supervisor' ) or $user->hasRole( 'User' ) ) {
|
||||||
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
||||||
$query->where( 'medical_center_id' , $user->medical_center_id );
|
$query->where( 'medical_center_id' , $user->medical_center_id );
|
||||||
} );
|
} );
|
||||||
@@ -69,7 +65,7 @@ class ItemController extends Controller
|
|||||||
} ,
|
} ,
|
||||||
'user.medical_center' => function ( $query ) {
|
'user.medical_center' => function ( $query ) {
|
||||||
$query->select( 'id' , 'name' );
|
$query->select( 'id' , 'name' );
|
||||||
},
|
} ,
|
||||||
"transfers" => function ( $query ) {
|
"transfers" => function ( $query ) {
|
||||||
$query->with( [ 'user' => function ( $query ) {
|
$query->with( [ 'user' => function ( $query ) {
|
||||||
$query->select( 'id' , 'name' , 'cell_number' , 'medical_center_id' );
|
$query->select( 'id' , 'name' , 'cell_number' , 'medical_center_id' );
|
||||||
@@ -154,15 +150,10 @@ class ItemController extends Controller
|
|||||||
|
|
||||||
public function getItems()
|
public function getItems()
|
||||||
{
|
{
|
||||||
|
|
||||||
$user = auth( 'api' )->user();
|
$user = auth( 'api' )->user();
|
||||||
|
|
||||||
if ( $user->hasRole( 'User' ) ) {
|
|
||||||
return \MessageResponse::data( [] );
|
|
||||||
}
|
|
||||||
|
|
||||||
$Items = Item::when( $user->cant( 'showAll' , Item::class ) , function ( $query ) use ( $user ) {
|
$Items = Item::when( $user->cant( 'showAll' , Item::class ) , function ( $query ) use ( $user ) {
|
||||||
if ( $user->hasRole( 'Supervisor' ) ) {
|
if ( $user->hasRole( 'Supervisor' ) or $user->hasRole( 'User' ) ) {
|
||||||
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
||||||
$query->where( 'medical_center_id' , $user->medical_center_id );
|
$query->where( 'medical_center_id' , $user->medical_center_id );
|
||||||
} );
|
} );
|
||||||
@@ -173,7 +164,7 @@ class ItemController extends Controller
|
|||||||
} ,
|
} ,
|
||||||
'user.medical_center' => function ( $query ) {
|
'user.medical_center' => function ( $query ) {
|
||||||
$query->select( 'id' , 'name' );
|
$query->select( 'id' , 'name' );
|
||||||
},
|
} ,
|
||||||
"transfers" => function ( $query ) {
|
"transfers" => function ( $query ) {
|
||||||
$query->with( [ 'user' => function ( $query ) {
|
$query->with( [ 'user' => function ( $query ) {
|
||||||
$query->select( 'id' , 'name' , 'cell_number' , 'medical_center_id' );
|
$query->select( 'id' , 'name' , 'cell_number' , 'medical_center_id' );
|
||||||
@@ -192,7 +183,7 @@ class ItemController extends Controller
|
|||||||
} ,
|
} ,
|
||||||
'user.medical_center' => function ( $query ) {
|
'user.medical_center' => function ( $query ) {
|
||||||
$query->select( 'id' , 'name' );
|
$query->select( 'id' , 'name' );
|
||||||
},
|
} ,
|
||||||
"transfers" => function ( $query ) {
|
"transfers" => function ( $query ) {
|
||||||
$query->with( [ 'user' => function ( $query ) {
|
$query->with( [ 'user' => function ( $query ) {
|
||||||
$query->select( 'id' , 'name' , 'cell_number' , 'medical_center_id' );
|
$query->select( 'id' , 'name' , 'cell_number' , 'medical_center_id' );
|
||||||
|
|||||||
@@ -12,12 +12,8 @@ class PackageController extends Controller
|
|||||||
{
|
{
|
||||||
$user = auth( 'api' )->user();
|
$user = auth( 'api' )->user();
|
||||||
|
|
||||||
if ( $user->hasRole( 'User' ) ) {
|
|
||||||
return \MessageResponse::error( 'You dont have access to this section!' );
|
|
||||||
}
|
|
||||||
|
|
||||||
$Packages = Package::when( $user->cant( 'showAll' , Package::class ) , function ( $query ) use ( $user ) {
|
$Packages = Package::when( $user->cant( 'showAll' , Package::class ) , function ( $query ) use ( $user ) {
|
||||||
if ( $user->hasRole( 'Supervisor' ) ) {
|
if ( $user->hasRole( 'Supervisor' ) or $user->hasRole( 'User' ) ) {
|
||||||
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
||||||
$query->where( 'medical_center_id' , $user->medical_center_id );
|
$query->where( 'medical_center_id' , $user->medical_center_id );
|
||||||
} );
|
} );
|
||||||
@@ -165,9 +161,8 @@ class PackageController extends Controller
|
|||||||
{
|
{
|
||||||
$user = auth( 'api' )->user();
|
$user = auth( 'api' )->user();
|
||||||
|
|
||||||
$Packages = Package::
|
$Packages = Package::when( $user->cant( 'showAll' , Package::class ) , function ( $query ) use ( $user ) {
|
||||||
when( $user->cant( 'showAll' , Package::class ) , function ( $query ) use ( $user ) {
|
if ( $user->hasRole( 'Supervisor' ) or $user->hasRole( 'User' ) ) {
|
||||||
if ( $user->hasRole( 'Supervisor|User' ) ) {
|
|
||||||
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
$query->whereHas( 'user' , function ( $query ) use ( $user ) {
|
||||||
$query->where( 'medical_center_id' , $user->medical_center_id );
|
$query->where( 'medical_center_id' , $user->medical_center_id );
|
||||||
} );
|
} );
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class StorePackageRequest extends FormRequest
|
|||||||
switch ($this->method()) {
|
switch ($this->method()) {
|
||||||
case 'POST': {
|
case 'POST': {
|
||||||
return [
|
return [
|
||||||
'name' => 'required|max:250|unique:packages',
|
'name' => 'required|max:250',
|
||||||
'note' => 'nullable',
|
'note' => 'nullable',
|
||||||
'items' => 'required',
|
'items' => 'required',
|
||||||
];
|
];
|
||||||
@@ -32,7 +32,7 @@ class StorePackageRequest extends FormRequest
|
|||||||
case 'PATCH': {
|
case 'PATCH': {
|
||||||
$Package = $this->route('Package');
|
$Package = $this->route('Package');
|
||||||
return [
|
return [
|
||||||
'name' => 'required|max:250|unique:packages,name,'.$Package->id,
|
'name' => 'required|max:250',
|
||||||
'note' => 'nullable',
|
'note' => 'nullable',
|
||||||
'items' => 'required',
|
'items' => 'required',
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
|
||||||
|
class ExportCollection implements FromCollection
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $data;
|
||||||
|
|
||||||
|
public function __construct( $data)
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
return $this->data;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -84,7 +84,11 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
Route::post('transfer-packages/{Package}', 'TransferPackageController@transfer');
|
Route::post('transfer-packages/{Package}', 'TransferPackageController@transfer');
|
||||||
Route::post('transfer-packages/ChangeStatus/{Transfer}', 'TransferPackageController@changeStatus');
|
Route::post('transfer-packages/ChangeStatus/{Transfer}', 'TransferPackageController@changeStatus');
|
||||||
|
|
||||||
|
//export
|
||||||
|
Route::get('export/items', 'ExportController@items');
|
||||||
|
Route::get('export/packages', 'ExportController@packages');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::post('/BarCode/{Code}/{Type?}', 'BarCodeController@generateBarcode');
|
Route::post('/BarCode/{Code}/{Type?}', 'BarCodeController@generateBarcode');
|
||||||
Route::post('Package/Barcode/{Code}', 'BarCodeController@generatePackageBarcode');
|
Route::post('Package/Barcode/{Code}', 'BarCodeController@generatePackageBarcode');
|
||||||
Route::post('Package/QRCode/{Package}', 'BarCodeController@generatePackageQRCode');
|
Route::post('Package/QRCode/{Package}', 'BarCodeController@generatePackageQRCode');
|
||||||
|
|||||||
Reference in New Issue
Block a user