weizong song 5 years ago
parent 8ea1695390
commit dfbbaacb27

@ -0,0 +1,40 @@
<?php
namespace App\Http\Controllers\Manager;
use App\Models\Area;
use App\Models\Bed;
use Illuminate\Http\Request;
class StatisticsController extends CommonController
{
/**
* @OA\Get(
* path="/manager/statistics/beds",
* summary="V2-获取项目中的床位统计以及当前陪护情况",
* description="获取项目中的床位统计",
* @OA\Parameter(name="project_id", in="query", @OA\Schema(type="integer"), required=true, description="医院ID"),
* @OA\Parameter(name="has_ongoing_order", in="query", @OA\Schema(type="integer"), required=false, description="是否包含正在服务的订单,默认为不筛选"),
* @OA\Response(
* response="200",
* description="获取项目中的床位统计"
* )
* )
*/
public function beds(Request $request)
{
$areas = Area::with(["beds" => 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());
}
}

@ -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);
}
}

@ -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');
});
});

Loading…
Cancel
Save