weizong song 5 years ago
parent 06c8d1de44
commit 2bf37f3909

@ -340,92 +340,6 @@ class OrdersController extends CommonController
return response()->json($paramedics);
}
/**
* @OA\Get(
* 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="path", @OA\Schema(type="string"), required=true, description="医院id"),
* @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=true, description=""),
* @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\Parameter(name="paramedic_level_id", in="query", @OA\Schema(type="integer"), required=false, description="护工等级ID根据项目护工等级枚举"),
* @OA\Parameter(name="work_years", in="query", @OA\Schema(type="integer"), required=false, description="工作经验,筛选时以大于等于传递的值为筛选条件"),
* @OA\Response(
* response="200",
* description="获取护工"
* )
* )
*/
public function getProjectParamedics()
{
$paramedics = new Paramedic();
$paramedics = $paramedics->OfProject(request()->project_id);
if (request()->keyword) {
$keyword = request()->keyword;
$paramedics = $paramedics->where(function ($query) use ($keyword) {
$query
->where("name", "like", "%{$keyword}%")
->orWhere("serial", "like", "%{$keyword}%");
});
}
if (request()->paramedic_level_id) {
$paramedics = $paramedics->where("paramedic_level_id", request()->paramedic_level_id);
}
if (request()->work_years) {
$paramedics = $paramedics->where("work_years", ">=", (int)request()->work_years);
}
switch (request()->has_ongoing_orders) {
case "1":
$paramedics = $paramedics->has("ongoingOrders");
break;
case "0":
$paramedics = $paramedics->doesntHave("ongoingOrders");
break;
default:
//do nothing
}
$page_size = request()->page_size ? (int)request()->page_size : 5;
$paramedics = $paramedics
->select("id", "name", "sex", "mobile", "birthday", "avatar", "work_years", "has_health_certificate", "has_work_certificate")
->withCount("ongoingOrders")
->orderBy("ongoing_orders_count")
->paginate($page_size);
return response()->json($paramedics->toArray());
}
/**
* @OA\Get(
* path="/manager/get-paramedic/{id}",
* summary="V2-获取护工详情",
* description="获取护工详情",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="id"),
* @OA\Response(
* response="200",
* description="获取护工详情"
* )
* )
*/
public function getParamedic($id)
{
$paramedic = (new Paramedic())->with([
"project" => function ($query) {
$query->select("id", "name", "address");
},
"level" => function ($query) {
$query->select("id", "name");
}
])->find($id);
return response()->json($paramedic ? $paramedic->toArray() : null);
}
/**
* @OA\POST(
* path="/manager/create-patient",

@ -164,4 +164,90 @@ class ParamedicController extends CommonController
$paramedic->update($data);
return response()->json($paramedic);
}
/**
* @OA\Get(
* 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="path", @OA\Schema(type="string"), required=true, description="医院id"),
* @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=true, description=""),
* @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\Parameter(name="paramedic_level_id", in="query", @OA\Schema(type="integer"), required=false, description="护工等级ID根据项目护工等级枚举"),
* @OA\Parameter(name="work_years", in="query", @OA\Schema(type="integer"), required=false, description="工作经验,筛选时以大于等于传递的值为筛选条件"),
* @OA\Response(
* response="200",
* description="获取护工"
* )
* )
*/
public function getProjectParamedics()
{
$paramedics = new Paramedic();
$paramedics = $paramedics->OfProject(request()->project_id);
if (request()->keyword) {
$keyword = request()->keyword;
$paramedics = $paramedics->where(function ($query) use ($keyword) {
$query
->where("name", "like", "%{$keyword}%")
->orWhere("serial", "like", "%{$keyword}%");
});
}
if (request()->paramedic_level_id) {
$paramedics = $paramedics->where("paramedic_level_id", request()->paramedic_level_id);
}
if (request()->work_years) {
$paramedics = $paramedics->where("work_years", ">=", (int)request()->work_years);
}
switch (request()->has_ongoing_orders) {
case "1":
$paramedics = $paramedics->has("ongoingOrders");
break;
case "0":
$paramedics = $paramedics->doesntHave("ongoingOrders");
break;
default:
//do nothing
}
$page_size = request()->page_size ? (int)request()->page_size : 5;
$paramedics = $paramedics
->select("id", "name", "sex", "mobile", "birthday", "avatar", "work_years", "has_health_certificate", "has_work_certificate")
->withCount("ongoingOrders")
->orderBy("ongoing_orders_count")
->paginate($page_size);
return response()->json($paramedics->toArray());
}
/**
* @OA\Get(
* path="/manager/get-paramedic/{id}",
* summary="V2-获取护工详情",
* description="获取护工详情",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="id"),
* @OA\Response(
* response="200",
* description="获取护工详情"
* )
* )
*/
public function getParamedic($id)
{
$paramedic = (new Paramedic())->with([
"project" => function ($query) {
$query->select("id", "name", "address");
},
"level" => function ($query) {
$query->select("id", "name");
}
])->find($id);
return response()->json($paramedic ? $paramedic->toArray() : null);
}
}

@ -9,6 +9,23 @@ use Illuminate\Support\Facades\DB;
class StatisticsController extends CommonController
{
/**
* @OA\Get(
* path="/manager/statistics/overview",
* summary="V2-获取项目首页总览数据统计",
* description="获取项目首页总览数据统计",
* @OA\Parameter(name="project_id", in="query", @OA\Schema(type="integer"), required=true, description="医院ID"),
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Response(
* response="200",
* description="获取项目首页总览数据统计"
* )
* )
*/
public function overview() {
}
/**
* @OA\Get(
* path="/manager/statistics/beds",

@ -132,17 +132,17 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () {
Route::post('update-paramedic/{id}', 'ParamedicController@updateParamedic');
Route::post('delete-paramedic/{id}', 'ParamedicController@deleteParamedic');
Route::post('toggle-paramedic/{id}', 'ParamedicController@toggleParamedic');
Route::get('get-paramedics', 'ParamedicController@getParamedics');
Route::get('get-project-paramedics/{project_id}', 'ParamedicController@getProjectParamedics');
Route::get('get-paramedic/{id}', 'ParamedicController@getParamedic');
Route::post('me', 'AuthController@me');
Route::get('get-projects', 'OrdersController@getProjects');
Route::get('get-notifications', 'AuthController@getNotifications');
Route::get('get-notification/{id}', 'AuthController@getNotification');
Route::get('get-care-product/{project_id}', 'OrdersController@getCareProduct');
Route::get('get-paramedics', 'OrdersController@getParamedics');
Route::get('get-paramedic/{id}', 'OrdersController@getParamedic');
Route::get('get-project-orders-count/{project_id}', 'OrdersController@getProjectOrdersCount');
Route::get('get-available-paramedics', 'OrdersController@getAvailableParamedics');
Route::get('get-project-paramedics/{project_id}', 'OrdersController@getProjectParamedics');
Route::get('get-project-paramedic-levels/{project_id}', 'OrdersController@getProjectParamedicLevels');
Route::get('get-project-areas/{project_id}', 'OrdersController@getProjectAreas');
Route::get('get-area-beds/{area_id}', 'OrdersController@getAreaBeds');

Loading…
Cancel
Save