Add network_id filter to GET /health-care-sheets

This commit is contained in:
Djery-Tom 2022-02-15 17:45:47 +01:00
parent a05006a5a8
commit 36327e5e9f
1 changed files with 20 additions and 3 deletions

View File

@ -1063,6 +1063,17 @@ class HealthCareSheetController extends Controller
* required=false * required=false
* ), * ),
* @OA\Parameter( * @OA\Parameter(
* parameter="network_id",
* name="network_id",
* description="ID du reseau",
* @OA\Schema(
* type="integer",
* default = 250
* ),
* in="query",
* required=false
* ),
* @OA\Parameter(
* parameter="type", * parameter="type",
* name="type", * name="type",
* description="Type des feuilles de soins", * description="Type des feuilles de soins",
@ -1139,9 +1150,10 @@ class HealthCareSheetController extends Controller
public function getHealthCareSheets(Request $request) public function getHealthCareSheets(Request $request)
{ {
$this->validate($request, [ $this->validate($request, [
'user_id' => 'required_without:network_agent_id|integer|exists:users,id', 'user_id' => 'required_without_all::network_agent_id,network_id|integer|exists:users,id',
'beneficiary_id' => 'nullable|integer|exists:nh_having_rights,id', 'beneficiary_id' => 'nullable|integer|exists:nh_having_rights,id',
'network_agent_id' => 'required_without:user_id|integer|exists:networks_agents,id', 'network_id' => 'nullable|integer|exists:networks,id',
'network_agent_id' => 'required_without_all::user_id,network_id|integer|exists:networks_agents,id',
'type' => 'nullable|in:CONSULTATION,EXECUTION', 'type' => 'nullable|in:CONSULTATION,EXECUTION',
'state' => 'nullable|in:UNTREATED,TREATED,ACCEPTED,TO_BILL,ALL,UNTREATED_ALL', 'state' => 'nullable|in:UNTREATED,TREATED,ACCEPTED,TO_BILL,ALL,UNTREATED_ALL',
'pagination' => 'nullable|boolean' 'pagination' => 'nullable|boolean'
@ -1152,6 +1164,7 @@ class HealthCareSheetController extends Controller
$user_id = $request->input('user_id'); $user_id = $request->input('user_id');
$beneficiary_id = $request->input('beneficiary_id'); $beneficiary_id = $request->input('beneficiary_id');
$network_agent_id = $request->input('network_agent_id'); $network_agent_id = $request->input('network_agent_id');
$network_id = $request->input('network_id');
$pagination = $request->input('pagination'); $pagination = $request->input('pagination');
if (!empty($user_id)) { if (!empty($user_id)) {
@ -1166,10 +1179,14 @@ class HealthCareSheetController extends Controller
if (!empty($network_agent_id)) { if (!empty($network_agent_id)) {
$query = $query->where('network_agent_id', $network_agent_id); $query = $query->where('network_agent_id', $network_agent_id);
} }
} else { } else if (!empty($network_agent_id)) {
$query = NhInfosHealthCareSheets::where('network_agent_id', $network_agent_id); $query = NhInfosHealthCareSheets::where('network_agent_id', $network_agent_id);
} }
if (!empty($network_id)) {
$query = NhInfosHealthCareSheets::where('network_id', $network_id);
}
$query = $query->with(['network:id,name', 'performances.act:id,code,name', 'exams.act:id,code,name', 'prescriptions.drug_or_device:id,name']); $query = $query->with(['network:id,name', 'performances.act:id,code,name', 'exams.act:id,code,name', 'prescriptions.drug_or_device:id,name']);