From c9216de863c788e80e968b8af03408773f2b8dad Mon Sep 17 00:00:00 2001 From: weizong song Date: Sun, 4 Apr 2021 13:56:48 +0800 Subject: [PATCH] up --- .../Controllers/Customer/OrdersController.php | 5 ----- .../Controllers/Manager/OrdersController.php | 21 +++++++++++-------- .../Manager/StatisticsController.php | 5 +++++ routes/web.php | 2 ++ 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/Customer/OrdersController.php b/app/Http/Controllers/Customer/OrdersController.php index 2633f0e5..551c11b 100644 --- a/app/Http/Controllers/Customer/OrdersController.php +++ b/app/Http/Controllers/Customer/OrdersController.php @@ -5,18 +5,13 @@ namespace App\Http\Controllers\Customer; use App\Models\Area; use App\Models\Balance; -use App\Models\Bed; use App\Models\Building; -use App\Models\Factor; -use App\Models\FactorItems; -use App\Models\OrderItems; use App\Models\Orders; use App\Models\Paramedic; use App\Models\Patient; use App\Models\Product; use App\Models\ProductItems; use App\Models\ProductParamedicLevel; -use App\Models\Project; use App\Models\Recharge; use Carbon\Carbon; use Illuminate\Database\Eloquent\Relations\MorphTo; diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index 168bdc6..9de2483 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -143,7 +143,7 @@ class OrdersController extends CommonController * @OA\Parameter(name="project_id", in="path", @OA\Schema(type="integer"), required=false, description="医院ID"), * @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=false, description="查询关键词"), * @OA\Parameter(name="page", in="query", @OA\Schema(type="integer"), required=false, description="当前页码,默认为1"), - * @OA\Parameter(name="pageLength", in="query", @OA\Schema(type="integer"), required=false, description="每页数量,默认为5"), + * @OA\Parameter(name="page_size", in="query", @OA\Schema(type="integer"), required=false, description="每页数量,默认为5"), * @OA\Parameter(name="status", in="query", @OA\Schema(type="string"), required=false, description="订单状态:[unconfirmed=>待确认,unassigned=>待派单,ongoing=>进行中,finished=>已完成]"), * @OA\Response( * response="200", @@ -186,7 +186,7 @@ class OrdersController extends CommonController ->ofProject($this->manager->projects->pluck("id")->toArray()); } - $pageLength = request()->pageLength ? (int)request()->pageLength : 5; + $page_size = request()->page_size ?? 5; $data = $data ->with([ "patient" => function ($query) { @@ -203,7 +203,7 @@ class OrdersController extends CommonController ]) ->orderBy("id", "desc") ->select("id", "serial", "customer_id", "patient_id", "project_id", "product_id", "manager_id", "from_date", "to_date", "remark", "status", "contact", "mobile", "price", "patient_quantity") - ->paginate($pageLength); + ->paginate($page_size); foreach ($data as $order) { $order = $order->refreshTotal(); } @@ -298,11 +298,13 @@ class OrdersController extends CommonController /** * @OA\Get( - * path="/manager/get-paramedics", - * summary="获取护工", + * path="/manager/get-project-paramedics/{project_id}", + * summary="V2-获取护工", * description="获取护工", * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), - * @OA\Parameter(name="project_id", in="query", @OA\Schema(type="string"), required=true, description="项目/医院id"), + * @OA\Parameter(name="project_id", in="path", @OA\Schema(type="string"), required=true, description="医院id"), + * @OA\Parameter(name="page", in="query", @OA\Schema(type="integer"), required=false, description="当前页码,默认为1"), + * @OA\Parameter(name="page_size", in="query", @OA\Schema(type="integer"), required=false, description="每页数量,默认为5"), * @OA\Parameter(name="has_ongoing_orders", in="query", @OA\Schema(type="integer"), required=false, description="是否空闲的筛选,枚举[0,1]"), * @OA\Response( * response="200", @@ -311,9 +313,8 @@ class OrdersController extends CommonController * ) */ - public function getParamedics() + public function getProjectParamedics() { - //todo:根据管理老师的管辖范围筛选 $paramedics = new Paramedic(); if (request()->keyword) { $keyword = request()->keyword; @@ -335,7 +336,9 @@ class OrdersController extends CommonController default: //do nothing } - $paramedics = $paramedics->withCount("ongoingOrders as ongoing_count")->orderBy("ongoing_count")->paginate(10); + + $page_size = request()->page_size ?? 5; + $paramedics = $paramedics->withCount("ongoingOrders")->orderBy("ongoing_orders_count")->paginate($page_size); return response()->json($paramedics->toArray()); } diff --git a/app/Http/Controllers/Manager/StatisticsController.php b/app/Http/Controllers/Manager/StatisticsController.php index cde8a2d..716b24f 100644 --- a/app/Http/Controllers/Manager/StatisticsController.php +++ b/app/Http/Controllers/Manager/StatisticsController.php @@ -49,6 +49,11 @@ class StatisticsController extends CommonController ->addSelect("building.name as building_name") ->withCount("beds") ->get(); + if ($request->has_ongoing_order) { + $areas = $areas->filter(function($item) { + return $item->beds->count(); + }); + } return response()->json($areas->toArray()); } diff --git a/routes/web.php b/routes/web.php index 04a78c2..4d6d74e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -134,6 +134,8 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () { Route::get('get-paramedics', 'OrdersController@getParamedics'); Route::get('get-paramedic/{id}', 'OrdersController@getParamedic'); Route::get('get-badges', 'OrdersController@getBadges'); + Route::get('get-available-paramedics', 'OrdersController@getAvailableParamedics'); + Route::get('get-project-paramedics/{project_id}', 'OrdersController@getProjectParamedics'); Route::post('create-patient', 'OrdersController@createPatient'); Route::post('create-order', 'OrdersController@createOrder'); Route::get('get-project-orders/{project_id}', 'OrdersController@list');