|
|
|
|
@ -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",
|
|
|
|
|
|