FIX #8 - advanced filtering
This commit is contained in:
parent
35a84f9c47
commit
765d741116
@ -238,16 +238,18 @@ private function applyFilters(QueryDataTable $dataTable)
|
|||||||
$assignTo = $this->request()->get('assign_to');
|
$assignTo = $this->request()->get('assign_to');
|
||||||
$readFrom = $this->request()->get('read_from');
|
$readFrom = $this->request()->get('read_from');
|
||||||
$readTo = $this->request()->get('read_to');
|
$readTo = $this->request()->get('read_to');
|
||||||
|
$readBy = $this->request()->get('read_by');
|
||||||
$modality = $this->request()->get('modality');
|
$modality = $this->request()->get('modality');
|
||||||
|
|
||||||
$dataTable->filter(
|
$dataTable->filter(
|
||||||
function ($query) use ($status, $studyFrom, $studyTo, $receiveFrom, $receiveTo, $modality, $assignFrom, $assignTo, $readFrom, $readTo) {
|
function ($query) use ($status, $studyFrom, $studyTo, $receiveFrom, $receiveTo, $modality, $assignFrom, $assignTo, $readFrom, $readTo, $readBy) {
|
||||||
$this->filterStatus($query, $status);
|
$this->filterStatus($query, $status);
|
||||||
$this->filterDateRange($query, 'study_date', $studyFrom, $studyTo);
|
$this->filterDateRange($query, 'study_date', $studyFrom, $studyTo);
|
||||||
$this->filterDateRange($query, 'received_at', $receiveFrom, $receiveTo);
|
$this->filterDateRange($query, 'received_at', $receiveFrom, $receiveTo);
|
||||||
$this->filterDateRange($query, 'assigned_at', $assignFrom, $assignTo);
|
$this->filterDateRange($query, 'assigned_at', $assignFrom, $assignTo);
|
||||||
$this->filterDateRange($query, 'read_at', $readFrom, $readTo);
|
$this->filterDateRange($query, 'read_at', $readFrom, $readTo);
|
||||||
$this->filterModalities($query, $modality);
|
$this->filterModalities($query, $modality);
|
||||||
|
$this->filterReadBy($query, $readBy);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -269,7 +271,6 @@ private function filterStatus($query, ?string $status): void
|
|||||||
$query->whereNotNull('locked_at');
|
$query->whereNotNull('locked_at');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function filterModalities($query, ?string $request): void
|
private function filterModalities($query, ?string $request): void
|
||||||
@ -542,4 +543,13 @@ private function generateActionButtons(Study $study): string
|
|||||||
|
|
||||||
return implode("\r", $btns);
|
return implode("\r", $btns);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function filterReadBy($query, ?int $readBy): void
|
||||||
|
{
|
||||||
|
if (is_null($readBy) || $readBy == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$query->where('reading_physician_id', $readBy);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -177,6 +177,7 @@ function (givenDate) {
|
|||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
_modality = modalityArray.join(',');
|
_modality = modalityArray.join(',');
|
||||||
|
_read_by = $('#read_by').val();
|
||||||
|
|
||||||
filterTable();
|
filterTable();
|
||||||
});
|
});
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
<small class="text-light fw-medium d-block">Reported By</small>
|
<small class="text-light fw-medium d-block">Reported By</small>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<select name="read_by" id="read_by" class="form-select">
|
<select name="read_by" id="read_by" class="form-select">
|
||||||
<option>--</option>
|
<option value=""></option>
|
||||||
@foreach ($rads as $id => $name)
|
@foreach ($rads as $id => $name)
|
||||||
<option value="{{ $id }}">{{ $name }}</option>
|
<option value="{{ $id }}">{{ $name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
Loading…
Reference in New Issue
Block a user