This commit is contained in:
f.shokouhi
2020-01-15 11:40:46 +03:30
8 changed files with 157 additions and 78 deletions
+7 -7
View File
@@ -5,23 +5,23 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\StoreCycleRequest;
use App\Cycle;
use App\User;
class CycleController extends Controller
{
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Cycles = Cycle::
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
if ($user->hasRole('User')) {
$query->where('user_id', $user->id);
}
})
->when($request->has('cycle_id') && $request->cycle_id != '', function($query) use($request){
$query->where('id', $request->cycle_id);
+22 -8
View File
@@ -5,24 +5,24 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\StoreItemRequest;
use App\Item;
use App\User;
class ItemController extends Controller
{
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Items = Item::with('user')
->when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
->when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
if ($user->hasRole('User')) {
$query->where('user_id', $user->id);
}
})
->when($request->has('name') && $request->name != '', function($query) use($request){
$query->where('name', 'LIKE', '%'.$request->name.'%');
@@ -86,7 +86,21 @@ class ItemController extends Controller
}
public function getItems(){
$Items = Item::with('user')->get();
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Items = Item::with('user')
->when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
})->get();
return \MessageResponse::data($Items);
}
+39 -21
View File
@@ -6,26 +6,36 @@ use Illuminate\Http\Request;
use App\Http\Requests\StoreLabelRequest;
use App\Label;
use App\Package;
use App\User;
class LabelController extends Controller
{
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
if ($user->hasRole('Supervisor|User')) {
$medical_center_id = $user->medical_center_id;
}
elseif($request->has('medical_center_id') && $request->medical_center_id != '') {
$medical_center_id = $request->medical_center_id;
} else {
$medical_center_id = null;
}
// if ($user->hasRole('Supervisor|User')) {
// $medical_center_id = $user->medical_center_id;
// }
// elseif($request->has('medical_center_id') && $request->medical_center_id != '') {
// $medical_center_id = $request->medical_center_id;
// } else {
// $medical_center_id = null;
// }
// $medical_center_id = null;
// if($request->has('medical_center_id') && $request->medical_center_id != '') {
// $medical_center_id = $request->medical_center_id;
// }
$Labels = Label::
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('User')) {
$query->where('user_id', $user->id);
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
})
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function($query) use($request){
@@ -40,11 +50,11 @@ class LabelController extends Controller
->when($request->has('label_id') && $request->label_id != '', function($query) use($request){
$query->where('id', $request->label_id);
})
->when($medical_center_id, function($query) use($request){
$query->whereHas('user', function($query) use($request){
$query->where('medical_center_id', $request->medical_center_id);
});
})
// ->when($medical_center_id, function($query) use($medical_center_id){
// $query->whereHas('user', function($query) use($medical_center_id){
// $query->where('medical_center_id', $medical_center_id);
// });
// })
->with('user', 'user.medical_center')->paginate(10);
return \MessageResponse::data($Labels);
}
@@ -88,10 +98,6 @@ class LabelController extends Controller
if (auth('api')->user()->cant('delete', $Label)) {
return \MessageResponse::error(trans('messages.access_denied'));
}
// if(count($Label->packages))
// {
// $Label->packages()->detach();
// }
if(count($Label->cycles))
{
$Label->cycles()->detach();
@@ -101,7 +107,19 @@ class LabelController extends Controller
}
public function getLabels()
{
$Labels = Label::with('user')->get();
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Labels = Label::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
})->get();
return \MessageResponse::data($Labels);
}
+25 -30
View File
@@ -5,25 +5,24 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\StorePackageRequest;
use App\Package;
use App\User;
class PackageController extends Controller
{
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Packages = Package::
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
if ($user->hasRole('User')) {
$query->where('user_id', $user->id);
}
})
->when($request->has('name') && $request->name != '', function($query) use($request){
$query->where('name', 'LIKE', '%'.$request->name.'%');
})
@@ -69,19 +68,16 @@ class PackageController extends Controller
$Items[$item['id']] = $count;
}
}
// dd($Items);
foreach ($Items as $Item => $Count) {
// dump($Item);
$PackageObj->items()->attach(array($Item), ['count' => $Count]);
}
// $PackageObj->items()->attach($request->items);
return \MessageResponse::success(trans('messages.success'));
}
public function edit(Package $Package)
{
$Items = [];
$Package->load('items');
// dd($Package);
foreach ($Package->items as $item) {
for ($i=0; $i < $item->pivot->count ; $i++) {
$Items[] = (object) array('id' => $item->id, 'name' => $item->name);
@@ -97,18 +93,6 @@ class PackageController extends Controller
$Items = [];
$count = 1;
foreach ($request->items as $key => $item) {
// dump(in_array($item['id'], array_column($Items, 'id')));
// if (in_array($item['id'], array_column($Items, 'id'))) {
// $index = array_search($item['id'], array_column($Items));
// dump(array_search($item['id'], $Items));
// $Items[$index]['count'] += 1;
// // dump($Items);
// }
// else {
// $Item1 = ['id' => $item['id'], 'count' => $count];
// $Items[] = $Item1;
// }
if (array_key_exists($item['id'], $Items)) {
$preCount = $Items[$item['id']];
$Items[$item['id']] = $preCount + 1;
@@ -119,14 +103,11 @@ class PackageController extends Controller
}
$Package->items()->detach();
// foreach ($Items as $Item) {
// $Package->items()->attach(array($Item['id']), ['count' => $Item['count']]);
// }
foreach ($Items as $Item => $Count) {
// dump($Item, array($Item));
$Package->items()->attach(array($Item), ['count' => $Count]);
}
// $Package->items()->sync($request->items);
return \MessageResponse::success(trans('messages.success'));
}
public function destroy(Package $Package)
@@ -162,8 +143,22 @@ class PackageController extends Controller
public function getPackages()
{
$Packages = Package::with('user')->get();
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Packages = Package::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
});
}
})
->with('user')->get();
return \MessageResponse::data($Packages);
}
public function showPackage(Package $Package)
{
+50 -2
View File
@@ -11,10 +11,57 @@ use App\Http\Requests\StoreTestTypeRequest;
use \Milon\Barcode\DNS1D;
use \Milon\Barcode\DNS2D;
use App\InputValue;
use App\Gallery;
use App\Uploadable;
use Illuminate\Support\Facades\Storage;
class TestTypeController extends Controller
{
public function index(Request $request)
{
// $testTypes = TestType::where('deleted_at','<>', null)->get();
// try {
// $return_value = \DB::transaction(function () use ($request) {
//
// $testTypes = \DB::table('test_types')->where('deleted_at','<>', null)->get();
// dd($testTypes);
// foreach ($testTypes as $testType) {
// $UniqueID = substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, 10);
// \DB::table('test_types')->where('id', $testType->id)->update(['unique_code' => $testType->unique_code.'--'.$UniqueID]);
// $test_results = TestResult::where('test_type_id', $testType->id)->get();
// if (count($test_results)) {
//
// foreach ($test_results as $test_result) {
// // code...
// if (count($test_result->input_values)) {
// InputValue::where('test_result_id', $test_result->id)->get()->each->delete();
// }
// if (count($test_result->TitleImage)){
// foreach ($test_result->TitleImage as $image) {
// Storage::disk('public')->delete(static::storage_path($image->path));
// Uploadable::where('gallery_id', $image->id)->where('uploadable_id', $test_result->id)->where('uploadable_type', get_class($test_result))->delete();
// Gallery::where('id', $image->id)->delete();
// }
// }
// $test_result->delete();
// }
//
// }
// // dd($testType->id);
// $inputs = Input::with('options')->where('test_type_id', $testType->id)->get();
// foreach ($inputs as $input) {
// $input->options()->delete();
// $input->delete();
// }
// \DB::table('test_types')->where('id', $testType->id)->delete();
// }
// });
// } catch (\Exception $e) {
// return response()->json($e->getMessage(), 441);
// }
// dd('s');
if (!auth('api')->user()->can('list', TestType::class)) {
return \MessageResponse::error(trans('messages.access_denied'));
}
@@ -416,9 +463,10 @@ class TestTypeController extends Controller
$TestType->delete();
return \MessageResponse::success(trans('messages.success'));
}
// public function AllTestTypes()
// public function allArchivedTestTypes()
// {
// $testTypes = TestType::pluck('id', 'name');
// $testTypes = TestType::where('deleted_at','<>', null)->get();
// dd($testTypes);
// return \MessageResponse::data($testTypes);
// }
@@ -169,16 +169,19 @@
<span class="black--text">UnVerify</span>
</v-btn>
</v-flex>
<v-flex class xs12 md2 sm2>
<v-btn
class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Gray"
@click="print"
>
<v-icon class="black--text mr-2 caption">fas fa-print</v-icon>
<span class="black--text">Print</span>
</v-btn>
</v-flex>
</v-layout>
<v-layout row wrap align-center justify-center class="px-5 my-3" >
<v-flex class xs12 md2 sm2>
<v-btn
class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Gray"
@click="print"
>
<v-icon class="black--text mr-2 caption">fas fa-print</v-icon>
<span class="black--text">Print</span>
</v-btn>
</v-flex>
</v-layout>
</material-card>
</v-container>
</template>
+1 -1
View File
@@ -95,7 +95,7 @@
</v-container>
</v-form>
<div v-if="chart" class="small">
<pie-chart v-if="form.type == 'PieChart'" :chart-data="datacollection"></pie-chart>
<pie-chart v-if="form.type === 'PieChart'" :chart-data="datacollection"></pie-chart>
<bar-chart v-else :chart-data="datacollection"></bar-chart>
</div>
</div>
+1
View File
@@ -62,6 +62,7 @@ Route::middleware('auth:api')->group(function () {
Route::resource('Cycles', 'CycleController');
Route::get('TestTypes/AllArchivedTestTypes', 'TestTypeController@allArchivedTestTypes');
});
Route::post('/BarCode/{Code}/{Type?}', 'BarCodeController@generateBarcode');
Route::post('Package/Barcode/{Code}', 'BarCodeController@generatePackageBarcode');