diff --git a/app/Http/Controllers/Manager/StatisticsController.php b/app/Http/Controllers/Manager/StatisticsController.php new file mode 100644 index 0000000..fcc818d --- /dev/null +++ b/app/Http/Controllers/Manager/StatisticsController.php @@ -0,0 +1,40 @@ + function ($query) use ($request) { + if ($request->has_ongoing_order) { + $query->has("onGoingOrder"); + } + $query->with(["onGoingOrder" => function ($query) { + $query->with(["paramedic" => function ($query) { + $query->select("id", "name"); + }])->select("id", "bed_id", "paramedic_id", "status"); + }]); + }])->with("building")->where("project_id", $request->project_id)->orderBy("building_id")->orderBy("myindex")->get(); + + return response()->json($areas->toArray()); + } +} diff --git a/app/Models/Bed.php b/app/Models/Bed.php index 26eedf2..ddd01ac 100755 --- a/app/Models/Bed.php +++ b/app/Models/Bed.php @@ -25,4 +25,14 @@ class Bed extends SoftDeletesModel { return $this->belongsTo(Room::class); } + + public function orders() + { + return $this->hasMany(Orders::class, "bed_id"); + } + + public function onGoingOrder() + { + return $this->hasOne(Orders::class, "bed_id")->where("status", Orders::STATUS_ONGOING); + } } diff --git a/routes/web.php b/routes/web.php index 0d11f0a..b8fd8cb 100644 --- a/routes/web.php +++ b/routes/web.php @@ -161,6 +161,7 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () { Route::post('refund-for-order/{id}', 'OrdersController@refundForOrder'); Route::post('create-paramedic', 'OrdersController@createParamedic'); Route::post('upload-image', 'OrdersController@uploadImage'); + Route::get('statistics/beds', 'StatisticsController@beds'); }); });