filtros fecha nombre
This commit is contained in:
parent
2a7558ada1
commit
eedaa8a439
@ -28,7 +28,10 @@ defmodule DerivantesWeb.DerivantesLive do
|
|||||||
class="flex items-stretch"
|
class="flex items-stretch"
|
||||||
>
|
>
|
||||||
<.input field={@filters[:dni]} type="text" placeholder="Documento del paciente"/>
|
<.input field={@filters[:dni]} type="text" placeholder="Documento del paciente"/>
|
||||||
<.input field={@filters[:accession]} type="text" placeholder="Accession number"/>
|
<.input field={@filters[:nombre]} type="text" placeholder="Nombre del paciente"/>
|
||||||
|
<.input field={@filters[:apellido]} type="text" placeholder="Apellido del paciente"/>
|
||||||
|
<.input field={@filters[:fecha]} type="date"/>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<:actions>
|
<:actions>
|
||||||
<.button class="w-full">
|
<.button class="w-full">
|
||||||
@ -107,20 +110,32 @@ defmodule DerivantesWeb.DerivantesLive do
|
|||||||
def get_studies(socket, filter) do
|
def get_studies(socket, filter) do
|
||||||
|
|
||||||
keys = Map.keys(filter)
|
keys = Map.keys(filter)
|
||||||
IO.inspect(keys)
|
|
||||||
mat_filter = dynamic([vl], vl.matder == ^socket.assigns.current_user.matricula)
|
mat_filter = dynamic([vl], vl.matder == ^socket.assigns.current_user.matricula)
|
||||||
filter_conditions =
|
filter_conditions =
|
||||||
Enum.reduce(keys, mat_filter, fn v, filter_conditions ->
|
Enum.reduce(keys, mat_filter, fn v, filter_conditions ->
|
||||||
case v do
|
case v do
|
||||||
"dni" ->
|
"dni" ->
|
||||||
if(filter["dni"] != "") do
|
if(filter["dni"] != "") do
|
||||||
dynamic([vl], vl.tipo_documento == ^filter["dni"] and ^filter_conditions)
|
dni_with_du = "DU" <> filter["dni"]
|
||||||
|
dynamic([vl], vl.tipo_documento == ^dni_with_du and ^filter_conditions)
|
||||||
else
|
else
|
||||||
filter_conditions
|
filter_conditions
|
||||||
end
|
end
|
||||||
"accession" ->
|
"nombre" ->
|
||||||
if(filter["accession"] != "") do
|
if(filter["nombre"] != "") do
|
||||||
dynamic([vl], vl.accessionnumber == ^filter["accession"] and ^filter_conditions)
|
dynamic([vl], vl.patientfirstname == ^filter["nombre"] and ^filter_conditions)
|
||||||
|
else
|
||||||
|
filter_conditions
|
||||||
|
end
|
||||||
|
"apellido" ->
|
||||||
|
if(filter["apellido"] != "") do
|
||||||
|
dynamic([vl], vl.patientlastname == ^filter["apellido"] and ^filter_conditions)
|
||||||
|
else
|
||||||
|
filter_conditions
|
||||||
|
end
|
||||||
|
"fecha" ->
|
||||||
|
if(filter["fecha"] != "") do
|
||||||
|
dynamic([vl], vl.start_date == ^String.replace(filter["fecha"], "-", "") and ^filter_conditions)
|
||||||
else
|
else
|
||||||
filter_conditions
|
filter_conditions
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user